- Feb 15, 2013
-
-
Guido Trotter authored
Hroller in 2.7 was implemented (as an experiment) but never explicitly designed. This design mentions the current functionality, and explains the changes that will happen for the next release to support live maintenance scheduling (rolling reboot). Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Feb 12, 2013
-
-
Michael Hanselmann authored
Use a method on the instance object instead of going through “qa_config.GetInstanceTemplate”. This provides for better encapsulation. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Bernardo Dal Seno <bdalseno@google.com>
-
Michael Hanselmann authored
Call the wrapped instance method directly. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Bernardo Dal Seno <bdalseno@google.com>
-
Michael Hanselmann authored
Disk template names shouldn't be hardcoded. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Bernardo Dal Seno <bdalseno@google.com>
-
Bernardo Dal Seno authored
Lines removed in devel-2.7 (250a9404) weren't removed in the merge with master. Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
* devel-2.7: (23 commits) QA: Support additional arguments for initialization qa_utils: Fix order of arguments passed to _AssertRetCode Improve reporting on errors.AddressPoolError exceptions Add note about lv-tags rename Make use of HooksDict() for networks Remove family and size from network objects Remove network_type slot (Issue 363) Moved uniformity check for exclusive_storage flag "exclusive_storage" cannot be changed on single nodes Upgrades made on loading the configuration are always saved Show correct daemon name on Luxi connect errors Update the security document for Ganeti 2.7 OS environment: add network information ConfigData: run UpgradeConfig on network objects Make ParticalNic's network field of type String Make gnt-os list work with no OSes Fix OCF files installation in devel/upload baserlib: Fix two mistakes in docstring Workaround hlint behaviour with no warnings/errors Remove use of 'head' and add hlint warning for it ... Conflicts: qa/qa_cluster.py: Trivial qa/qa_node.py: Node attributes src/Ganeti/Types.hs: Network cleanup test/hs/Test/Ganeti/Objects.hs: Network cleanup Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Bernardo Dal Seno <bdalseno@google.com>
-
Michael Hanselmann authored
In some scenarios it can be useful to add more arguments to “gnt-cluster init”, such as “--no-drbd-storage”, if DRBD is not installed. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Michael Hanselmann authored
This patch improves the error messages given when a “errors.AddressPoolError” exception is caught. Includes some small style fixes. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Iustin Pop authored
This is not included on the 2.6 branch, so update the NEWS for 2.7.0 beta1. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Feb 11, 2013
-
-
Dimitris Aragiorgis authored
This can be used in hypervisor code as well. For consistency export *NETWORK_NAME and not *NETWORK throughout the code. Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Dimitris Aragiorgis authored
This info is not used by Ganeti and therefore is removed. Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Dimitris Aragiorgis authored
This slot was not used by Ganeti so the same info can be provided via tags. In order not to break configuration data we add a FromDict() method in Network config object that removes the deprecated network_type (if found) and then invoke the parent's method (which does the validation). Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Michael Hanselmann authored
These are no longer used. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Bernardo Dal Seno <bdalseno@google.com>
-
Michael Hanselmann authored
This is no longer needed now that instance/node objects in QA have attributes. Use a helper function instead to retrieve an entity's identifying attribute. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Bernardo Dal Seno <bdalseno@google.com>
-
Michael Hanselmann authored
The new objects support attributes. Item access (like a dictionary) is going away in a couple of patches. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Bernardo Dal Seno <bdalseno@google.com>
-
Michael Hanselmann authored
The new objects support attributes, which are cleaner than dictionary-style access. Item access (like a dictionary) is going away in a couple of patches. Also, pylint is better at checking attributes than dictionary entries. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Bernardo Dal Seno <bdalseno@google.com>
-
Michael Hanselmann authored
Instead of having a module-level function in “qa_config” to release a node, a new method on node objects is used. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Bernardo Dal Seno <bdalseno@google.com>
-
Bernardo Dal Seno authored
Cluster-verify used to check that the value of exclusive_storage is uniform within node groups. Now, it's impossible to change the flag for a single node, so that check has been removed and an equivalent one has been added in ConfigWriter.VerifyConfig(). Unit test provided. The unit test covers only the new check, not the whole VerifyConfig method. Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Bernardo Dal Seno authored
There's never been support for a configuration where nodes in the same node group have different values of the exclusive_storage flag. This patch disables the possibility to change the flag for individual nodes. Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Bernardo Dal Seno authored
Before, only some upgrades were written back to the configuration file. A little refactoring of _UpgradeConfig() has been done to write unit tests. Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Michael Hanselmann authored
Up until now nodes were stored as a dictionary. The keys were hardcoded in a lot of places and entries modified directly. This patch introduces a new class for nodes in QA named “_QaNode”. It still supports accessing details via dictionary syntax, but that will be removed after a couple of patches changing all users. Unit tests for “qa_config.AcquireNode” are also included. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Bernardo Dal Seno <bdalseno@google.com>
-
Iustin Pop authored
Since now confd also serves a Luxi endpoint, the current message in cli.FormatError is misleading when actually failing to connect to it. The patch adds a somewhat hackish way to show the right daemon name. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
This should address 359, but I'm not sure if it covers all of 2.7… Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Feb 08, 2013
-
-
Michael Hanselmann authored
Instead of having a module-level function in “qa_config” to release an instance, a new method on instance objects is used. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Bernardo Dal Seno <bdalseno@google.com>
-
Michael Hanselmann authored
Up until now instances were stored as a dictionary. The keys were hardcoded in a lot of places and entries modified directly. This patch introduces a new class for instances in QA named “_QaInstance”. It still supports accessing details via dictionary syntax, but that will be removed after a couple of patches changing all users. Unit tests for “qa_config.AcquireInstance” are also included. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Bernardo Dal Seno <bdalseno@google.com>
-
Michael Hanselmann authored
Release instances directly from “ganeti-qa” instead of doing so in the three tests removing instances. This is in line with how nodes are released and makes it easier to find and debug double-release issues. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Michael Hanselmann authored
The new configuration object for nodes will not support it anymore. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Michael Hanselmann authored
This is a temporary solution until nodes and instances are converted to objects with attributes. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Michael Hanselmann authored
The same code can be written in a single expression. The earlier patch named “Refactor storage of runtime exclusive storage flag in QA” provided the unit test. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Michael Hanselmann authored
This is a follow-up for “qa_config: Remove exclusive storage flag from config”. Instead of storing the flag in a module-level variable it is now stored within the new QA configuration class and unit tests are provided. Wrappers in “qa_config” maintain the existing interface. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Michael Hanselmann authored
Ever since its introduction (sometime before commit cec9845c in September 2007), the QA configuration was stored in a dictionary at module-level in “qa/qa_config.py”. The configuration was loaded, verified and evaluated using module-level functions. Since then the configuration has become more complicated and more functionality has been added. This patch refactors handling the configuration to use a class and provides unittests. - The configuration is loaded through a class method which also verifies it for consistency - Wrapper methods are provided in “qa_config” to not change the interface - Unit tests are provided for the new configuration class - The configuration object is still stored in a module-level variable and can be retrieved using “GetConfig” (direct access should be avoided so an uninitialized configuration can be detected) Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Michael Hanselmann authored
Commit 6a0f22e1 added the ability to track the status of the cluster-wide flag for exclusive storage. It did so in a way which modifies the in-memory configuration dictionary. This patch changes the code to use a plain global variable as a temporary solution until a configuration object is added. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Guido Trotter authored
1) Move the hooks environment dict generator inside the object. This also adds missing values such as network family and uuid. 2) Use the same generator both for the os environment and for the instance hooks. 3) Update manpage and hooks documentation. Also update a forgotten docstring about a tuple's content. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Guido Trotter authored
Although this does nothing for now, running it is safe, and consistent with how other objects behave. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
This was applied to "master" along with extra changes affecting the master branch only. Cherry-picking just the Objects.hs change. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Iustin Pop authored
When absolutely no OSes are present on the cluster, the result of OpOsDiagnose is an empty list. This is currently handled in gnt-os as an error condition, probably due to how OpOsDiagnose used to return errors in the past. However, with the query backend, an empty list is a reasonable answer, so I see no reason why gnt-os should treat that as an error, especially as it doesn't give any hint of what is "wrong". Simply removing that code block allows it to proceed normally, and list no OSes. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
LIBDIR was not defined, so the files ended up directly under /, not good. Now they're properly installed under /usr/lib/ocf, as per http://linux-ha.org/wiki/OCF_Resource_Agents . Also add "set -u" to prevent future occurrences of this kind of bug. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Michael Hanselmann authored
The method names were wrong due to copy & paste. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
The QA code will also have to generate virtual paths and this function comes in handy. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Michele Tartara <mtartara@google.com>
-