- May 06, 2013
-
-
Thomas Thrainer authored
This check is performed during gnt-cluster verify and outputs warnings if at least two different DRBD versions are found within a node group. In such a case, all nodes with their installed DRBD version are displayed. Signed-off-by:
Thomas Thrainer <thomasth@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Thomas Thrainer authored
All functionality specific to a single DRBD8 devide is now in DRBD8Dev, whereas functionality which is valid for the whole DRBD "installation" on a device is collected in DRBD8. This makes it possible to remove a couple of FIXME's and clarifies the code in some areas. Signed-off-by:
Thomas Thrainer <thomasth@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Thomas Thrainer authored
Right now the DRBD8 class has multiple responsibilities: a) it reprensents a device which can be set up, grown, etc. and b) it represents the whole DRBD system on a node which has a usermode helper, which knows how to shut down _all_ devices, etc. Therefore, the DRBD8Dev class will only be responsible for a device, whereas the soon to be extraced DRBD8 class is responsible for the DRBD system. Signed-off-by:
Thomas Thrainer <thomasth@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Thomas Thrainer authored
gnt-cluster verify should issue a warning if there are multiple DRBD versions present in a node group. In order to do so, the DRBD version has to be queryable from noded. Signed-off-by:
Thomas Thrainer <thomasth@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
- May 03, 2013
-
-
Bernardo Dal Seno authored
The way disk templates were displayed in instance policies became confusing since the introduction of the enabled_disk_templates cluster parameter. Fix issue 440. Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Thomas Thrainer authored
DRBD 8.4.3 does not support specifying volume ids directly while creating the meta device. It requires a slightly different syntax (using flex-external as volume id) which is fortunately also supported by (at least) DRBD 8.4.2. Signed-off-by:
Thomas Thrainer <thomasth@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- May 02, 2013
-
-
Helga Velroyen authored
This fixes issue 432: when setting the volume group name, the presence of the volume group was checked on all nodes. This patch now restricts the check only to the vm-capable ones. Signed-off-by:
Helga Velroyen <helgav@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Helga Velroyen authored
Currently, when creating an instance with file storage fails, the error message is rather general. This patch adds a hint on what to do as a possible fix. Signed-off-by:
Helga Velroyen <helgav@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Guido Trotter authored
-enable-kvm and -disable-kvm are deprecated in favor of accel=kvm passed as a machine specification. This fixes compatibility with newer qemu versions. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Guido Trotter authored
We had parameter validation when the runtime is generated, but in the middle of the function. Move up, before any parameter is accessed. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Thomas Thrainer <thomasth@google.com>
-
Guido Trotter authored
Newer versions of kvm (from 1.4) don't support -nographic with -daemonize. When -display exists, use -display none instead. This fixes Issue 389. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Thomas Thrainer <thomasth@google.com>
-
- Apr 30, 2013
-
-
Helga Velroyen authored
This patch fixes issue 247. It empowers the user to specify explicitly the vif type of a nic configuration of a Xen HVM instance. This includes the option of setting it to '' on the commandline, causing Ganeti to leave out the 'type' parameter in the vif configuration completely. Signed-off-by:
Helga Velroyen <helgav@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Apr 29, 2013
-
-
Thomas Thrainer authored
The DRBD84CmdGenerator class, which generates commands suited for DRBD 8.4, is added. A common baseclass for DRBD83CmdGenerator and DRBD84CmdGenerator is introduced as well. Signed-off-by:
Thomas Thrainer <thomasth@google.com> Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Michele Tartara <mtartara@google.com>
-
Thomas Thrainer authored
In order to easily support the DRBD 8.4 command syntax, this patch extracts all command generation logic (i.e. where calls to `drbdsetup` are assembled) into a new class DRBD83CmdGenerator. Signed-off-by:
Thomas Thrainer <thomasth@google.com> Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Michele Tartara <mtartara@google.com>
-
Thomas Thrainer authored
Now the DRBD8 class actually checks which version of DRBD is running on the system and chooses the right class to parse the `drbdsetup show` output. Signed-off-by:
Thomas Thrainer <thomasth@google.com> Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Michele Tartara <mtartara@google.com>
-
Thomas Thrainer authored
Common functionality between the DRBD 8.3 and DRBD 8.4 parser has been extracted into BaseShowInfo. A test which verifies the behaviour is included, but the DRBD84ShowInfo class is not yet used within the DRBD8 class. Signed-off-by:
Thomas Thrainer <thomasth@google.com> Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Michele Tartara <mtartara@google.com>
-
Thomas Thrainer authored
Parsing the status (/proc/drbd) and `drbdsetup show` output takes quite a bit of code, which has to be augmented by even more with the DRBD 8.4 support. So extract all the related classes into their own file. Signed-off-by:
Thomas Thrainer <thomasth@google.com> Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Michele Tartara <mtartara@google.com>
-
Thomas Thrainer authored
This class parses the `drbdsetup show` output and represents it in an easily accessible format. It got extracted so that 1) the DRBD8 class can focus more on DRBD logic rather than parsing and 2) it's easier to adapt the parser to new formats. Signed-off-by:
Thomas Thrainer <thomasth@google.com> Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Michele Tartara <mtartara@google.com>
-
Thomas Thrainer authored
In the new context of the DRBD8Info class, the name _JoinProcDataPerMinor doesn't fit any more. _JoinLinesPerMinor reflects more precisely what's done, and doesn't imply that the data comes from /proc/drbd. Signed-off-by:
Thomas Thrainer <thomasth@google.com> Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Michele Tartara <mtartara@google.com>
-
Thomas Thrainer authored
As the DRBD8 class got bigger due to the previous merge of BaseDRBD, now parts of it are ripped out into DRBD8Info. This new class parses /proc/drbd and exposes the information in an easily accessible way. This allowed to simplify some methods in DRBD8 and do make the tests more concise. Signed-off-by:
Thomas Thrainer <thomasth@google.com> Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Michele Tartara <mtartara@google.com>
-
Thomas Thrainer authored
BaseDRBD was probably useful when DRBD 0.7 and DRBD 8 were supported. However, there is only one subclass of BaseDRBD remaining (DRBD8), and the separation of responsibilities between those two classes was rather randomly chosen. The unification into one class also eases the introduction of DRBD 8.4 support, as the responsibilities of the class(es) will be distributed anew. Signed-off-by:
Thomas Thrainer <thomasth@google.com> Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Michele Tartara <mtartara@google.com>
-
Thomas Thrainer authored
That's what the method actually does, so there is no reason why we should use a funny but unreadable name. Signed-off-by:
Thomas Thrainer <thomasth@google.com> Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Michele Tartara <mtartara@google.com>
-
Bernardo Dal Seno authored
Command line options accept multiple min/max specifications in instance policies. The output of show-ispecs-cmd is updated accordingly. Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Bernardo Dal Seno authored
Now instance policies can contain more than one min/max specs. This is the main element of the "Constrained instance sizes" section in the "Partitioned Ganeti" design doc. This is a big patch, but changing the type of a configuration item requires to change all the code that handles it. Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Bernardo Dal Seno authored
This is needed to be able to validate the std spec against multiple min/max spec pairs (appearing in next patches). Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Guido Trotter authored
The current error message ends up saying something like '192.168.5.5' != 'network1', which is sort of non-intuitive (yes, of course they are different). Fix this by explaining better what the erroneous condition actually is. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Thomas Thrainer <thomasth@google.com>
-
- Apr 26, 2013
-
-
Helga Velroyen authored
This patch makes the constant DEFAULT_ENABLED_DISK_TEMPLATES a list instead of a set, because the order of the elements actually matters as the first one is planned to be the default disk template for instance creation. Also, this constant is always used like a list and thus providing it as a set complicates the code that uses it. Signed-off-by:
Helga Velroyen <helgav@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Helga Velroyen authored
Was accidentally introduced by commit 912737ba. Signed-off-by:
Helga Velroyen <helgav@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Helga Velroyen authored
This patch does three things: 1. It deprecates the option '--no-lvm-storage' of 'gnt-cluster modify' and 'gnt-cluster init'. Technically, it is not fully removed, but kept in order to warn the user that it is no longer supported and that she should use --enabled-disk-templates instead. 2. The consistency check between '--no-lvm-storage' and '--vg-name' is replaced by checks between '--enabled-disk-templates' and '--vg-name'. There are these cases: - vg name, lvm disk template enabled = ok - no vg name, lvm disk template enabled = error - vg name, no lvm enabled = warning - no vg name, no lvm enabled = ok I added quite a lot of tests for all these and the transitions from each case to another to the QA. 3. The check whether or not the volume group is available on all nodes is now done only in these cases: - the volume group name gets set and lvm is already enabled - lvm is getting enabled and the volume group was set before Signed-off-by:
Helga Velroyen <helgav@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Helga Velroyen authored
This patch add a couple of utility functions dealing with storage types and disk templates. Signed-off-by:
Helga Velroyen <helgav@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Klaus Aehlig authored
Currently, if converting an instance from plain to drbd fails after renaming the original LVs, the instance is left in an inconsistent state. This commit tries to undo the renaming if a failure occurs on assembling a DRBD device, e.g., when device minor numbers are exhausted. (Issue 229) Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Thomas Thrainer <thomasth@google.com>
-
- Apr 24, 2013
-
-
Michele Tartara authored
Opcode-specific implementation of the reason trail for the instance startup operation. Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Michele Tartara authored
Opcode-specific implementation of the reason trail for the instance shutdown operation. Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Bernardo Dal Seno authored
Command line options are brought in line with the specs change of previous patch. Old options are still allowed in gnt-cluster init, where the semantic will remain non-ambiguous even after introducing multiple specs. Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Bernardo Dal Seno authored
Specs used to specify limits in instance policies are always complete, even at group level (only the whole limit set can be overridden). This is in preparation for introducing multiple limits. Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Bernardo Dal Seno authored
This makes the code more modular, in preparation for the following patches. Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Bernardo Dal Seno authored
The output of this command can be used to create an exact copy of the current instance policy specs. The command could be expanded to print all the options used to create a group or the cluster. Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Bernardo Dal Seno authored
These options allow to specify whole instance policy specs. This is needed for the upcoming changes that tend to threat specs as monolithic objects. Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Bernardo Dal Seno authored
This will be used for the new instance specs options. Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Bernardo Dal Seno authored
Previously the string value was being corrupted. Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-