- May 10, 2013
-
-
Klaus Aehlig authored
Regular expressions are not shell globs. So "any symbol" is expressed by a dot, not a question mark. In this case, the confusion lead to a too liberal expectation, hence the test passed. Fix it nevertheless. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- May 07, 2013
-
-
Klaus Aehlig authored
The example is a cluster of 6 nodes, paired into 3 group by three instances. So the whole cluster would need two reboot groups. The two tags select, in two different ways, one node of each group. So, when restricting to one tag, a single reboot group suffices, but no coloring of the whole cluster would achieve this. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Klaus Aehlig authored
In hroller, the option -O can be used to mark certain nodes as offline. These nodes should then not be part of any reboot group. Add tests to verify this behavior. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- May 06, 2013
-
-
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>
-
Bernardo Dal Seno authored
This makes sure that issue 401 doesn't come back. Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
- Apr 30, 2013
-
-
Michele Tartara authored
The haskell type definition of opcodes should remain aligned with the python one. Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Iustin Pop authored
Since we use the primitive string type for group UUIDs, the group fields have a bug where we pass the group name as filter for node tests, whereas the nodes themselves use the group UUID. This results in zero node count, empty node list, and no instances being reported as assigned to groups. The patch fixes this and adds a test for the node count. It does some test generation improvement, and also cleans up whitespace issues in Test/G/Q/Query.hs (the functions case_queryNode_allfields, prop_queryGroup_noUnknown and case_queryGroup_allfields are unchanged but simply have indentation fixed). Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com> Cherry-pick of e7124835, fixes issue 436 Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com> Conflicts: test/hs/Test/Ganeti/Objects.hs test/hs/Test/Ganeti/Query/Query.hs
-
- 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
Based on the version of DRBD (as reported through /proc/drbd), the DRBD8 class chooses helper objects which adapt for the differences between DRBD <= 8.3 and DRBD 8.4. This new test verifies that the proper objects are created. 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 DRBD code was extracted from bdev.py, the corresponding tests should as well be extracted into their own file. That's what this patch performs. 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
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
The current parser already supports the output of DRBD 8.4 /proc/drbd, so add tests which actually verify this behaviour. Note that the empty lines in proc_drbd84.txt are actually present in the output of DRBD 8.4, they always appear when minors are not contiguous. 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
The previous patch removed a (rather implicit) test for /proc/drbd not containing a version line. This adds an explicit test for this case. 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
Both tiered and standard allocations are tested, with a single and a double min/max instance specification. Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Bernardo Dal Seno authored
We try to parse the string obtained by formatting a policy, and see if we get the same policy. Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Helga Velroyen <helgav@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>
-
- 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
Test upgrade and downgrade from a realistic 2.7 configuration. Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Bernardo Dal Seno authored
This makes easier to test real configurations. Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Helga Velroyen <helgav@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>
-
Thomas Thrainer authored
This is in preparation to introducing support for DRBD8.4. base.py had to be extracted as well in order to avoid cylic imports between bdev.py and drbd.py. It now contains the BlockDev class and utility functions needed by bdev.py and drbd.py. 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 in preparation of extracting DRBD related code from bdev.py. As bdev.py is already rather long, new features will require to split it into more manageable pieces. That's why it's moved in an own directory. Signed-off-by:
Thomas Thrainer <thomasth@google.com> Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Michele Tartara <mtartara@google.com>
-