- Apr 29, 2013
-
-
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>
-
- Apr 24, 2013
-
-
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>
-
- Apr 22, 2013
-
-
Klaus Aehlig authored
In a simulated cluster as created by the simulation backend to the htools, make the first node of the first node group the master node. In this way, hools (like hroller) that require a master node can also be used on simulated clusters, e.g., for testing. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Michele Tartara <mtartara@google.com>
-
Klaus Aehlig authored
Add a unit test for hroller in a situation where the order is completely determined. There are 3 nodes where node 2 has, for each of the other nodes, an instanced shared with it. So node 2 has to be a reboot group of its own. There are no more instances, hence, my minimality, the other two nodes have to form a single group. Node 1 is the master, and hence has to be rebooted last; this determines the order. Also add a unit test verifying that hroller rejects configurations with multiple master nodes, even if the option --force is given. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Michele Tartara authored
This commits allows ganeti to correctly forward the reason trail information regarding instance reboot. Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Michele Tartara authored
Remove the useless parts of the old, partial, implementation of the support for tracking the reason of instances state change, before implementing the new reason trail support, as per the design document. Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
- Apr 19, 2013
-
-
Klaus Aehlig authored
As people rely on the master node being the last node of the last group, make hroller fail, if no master node could be found in the cluster. This happens, e.g., if a backend format is used that does not contain information about the master node. The error can be turned into a warning by using the --force option. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Apr 17, 2013
-
-
Christos Stavrakakis authored
Modify existing tests to use the name option for instance disks. The configuration options 'disk' and 'disk-growth' are merged into a single 'disks' option, which is a list of dictionaries with 'size', 'growth' and 'name' items. Also, add 'instance-device-names' QA test, which tests addition, renaming and removal of named devices. Signed-off-by:
Christos Stavrakakis <cstavr@grnet.gr> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Christos Stavrakakis authored
This commits adds name to NIC and Disk modification definition. Signed-off-by:
Chris Stavrakakis <cstavr@grnet.gr> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Christos Stavrakakis authored
Add name and uuid fields to Disk and nic Haskell objects. Also, since they now have an UUID, make them instances of UuidObject. Signed-off-by:
Christor Stavrakakis <cstavr@grnet.gr> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Christos Stavrakakis authored
Extend the CheckArguments phase of LUInstanceCreate and CheckPrereq phase of LUInstanceSetParams to also check if the name parameters of disks and NICs are unique and valid. Signed-off-by:
Christos Stavrakakis <cstavr@grnet.gr> Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Christos Stavrakakis authored
Modify _ApplyContainerMods function to lookup NICs/Disks not only by their index inside the container, but also by their UUID or name. Abstract the lookup code in new GetItemFromContainer function. Make type of identifier in "opcode._TestInstSetParamsModList" to be TInt or TString. Modify gnt-instance client to not check if identifier is an integer. Signed-off-by:
Christos Stavrakakis <cstavr@grnet.gr> Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
- Apr 14, 2013
-
-
Bernardo Dal Seno authored
qa_config.IsTemplateSupported() is already used to decide which disk templates are supported by QA. Enabled templates now are part of that decision. Unit tests are updated. Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Apr 12, 2013
-
-
Klaus Aehlig authored
The test data for hail allocating a multi-disk instance was originally added in the 2.7 branch. On master the format of the ipolicy had changed; "min" and "max" are no longer top-level of the ipolicy, but instead below the "minmax" key. Hence change the test data accordingly after the merge to master. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Michele Tartara <mtartara@google.com>
-
- Apr 11, 2013
-
-
Helga Velroyen authored
Since managing of different storage units is now done using disk templates and not storage types, we remove the obsolete enabled storage types. Signed-off-by:
Helga Velroyen <helgav@google.com> Reviewed-by:
Michele Tartara <mtarara@google.com>
-
Helga Velroyen authored
Adds setting of the list of enabled disk templates to 'gnt-cluster modify'. Note that this does not yet include any verification regarding disk templates currently used by instances. Signed-off-by:
Helga Velroyen <helgav@google.com> Reviewed-by:
Michele Tartara <mtarara@google.com>
-
Klaus Aehlig authored
We test on two minimal examples, a positive and a negative one, where the possibility to allocate a node depends on whether the disk policy is checked on a per-disk level or on the total amount of disk space requested. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Klaus Aehlig authored
In that way, tools building on Instance will benefit from the corrected verification semantics of the instance policy on disk space. Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Apr 08, 2013
-
-
Michele Tartara authored
In case of problems while reading the job list from disk (such as permission errors) confd would silently fail, writing a warning on the log file but sending an empty list and no error message to the client. Also, tests have been updated in accordance to the new interface of the modified functions. This commit fixes this problem [Issue 405]. Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Apr 05, 2013
-
-
Michele Tartara authored
A group name was erroneusly inserted in the list of user names. Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Apr 02, 2013
-
-
Klaus Aehlig authored
This parameter will be used to set the new primary node of an instance, assuming that the disks have been moved by other means (outside ganeti's control). Signed-off-by:
Klaus Aehlig <aehlig@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Mar 27, 2013
-
-
Bernardo Dal Seno authored
The test is aimed mostly at instance policies, which changed recently. Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Bernardo Dal Seno authored
Minimum and maximum instance specs are put together into a single element of the instance policy. This is in preparation for introducing multiple min/max specs. Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Bernardo Dal Seno authored
It's now possible to go back to the previous stable version. Unit tests provided. This is mostly useful during development, when going from master to stable/devel. Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Bernardo Dal Seno authored
Useful for subsequent patches. Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
- Mar 26, 2013
-
-
Bernardo Dal Seno authored
The function produces a human-readable output, which is also a valid YAML file, from an intermediate data structure. This will be used by "gnt-xxx info" commands. The output of "gnt-xxx info" was almost YAML-compliant, and only minor adjustments are needed to make it fully compliant. Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
- Mar 22, 2013
-
-
Michele Tartara authored
The "queryargs" parameter of the __init__ function of rlib2 classes should be a dictionary, as defined in the ResourceBase parent class (in lib/rapi/baserlib.py). In the rlib2 and baserlib unit tests, when the queryargs parameter is not actually needed, it is sometimes erroneously initialized with an empty list or a "None" value instead of an empty dictionary. This commit solves the problem and introduces an assertion to prevent it from happening again in the future. The use of the assertion is safe, because in production code the __init__ function is only called by the RAPI server, with the queryargs parameter initialized by the Mapper.getController function (lib/rapi/connector.py) that always returns a dictionary. It can only affect test code and future code. Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Mar 21, 2013
-
-
Helga Velroyen authored
This patch extends the 'gnt-cluster modify' command to manipulate the list of enabled storage types. Note that this currenlty does no validation with respect to whether or not there are instances currently using a storage type that is being removed from the list. Signed-off-by:
Helga Velroyen <helgav@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Michele Tartara authored
This commit adds the core infrastructure of the monitoring daemon, and integrates it in the build and test systems. The actual functionality of the monitoring daemon is still completely missing. Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Mar 13, 2013
-
-
Michele Tartara authored
Also, add its logfiles and extra log files. Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michele Tartara authored
Some daemons will need more than the single logfile that is currently allowed. This patch introduces the infrastructure to allow this. Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-