- Jan 25, 2011
-
-
Iustin Pop authored
This allows a lot of simplification in the TestIcmpPing, as fping can take multiple arguments so we don't need anymore to create many commands joined with &&. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Jan 20, 2011
-
-
Iustin Pop authored
The bug recently reported by Apollon Oikonomopoulos was missed because we don't test this command at all. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- Jan 18, 2011
-
-
Iustin Pop authored
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- Jan 12, 2011
-
-
Iustin Pop authored
Right now, the QA code is not covered by pylint, and this shows at least one low-impact bug. This patch does the necessary changes to make QA pylint-clean, and the changes the makefile to run pylint for it. Notable changes: - qa_utils.GenericQueryTest: randfields was not used at all, and my belief is that it was indented to be used in order not to modify the input list; so I replaced randfields with fields, so we only shuffle the our local copy - qa_node.TestOutOfBand was using it's own copy of AcquireNode(), so I replaced it with the existing version - qa_os: was using 'dir' in a couple of places, replaced with dirname Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
The recent additions to QA (many more tests) make QA slow if the machine on which the QA runs is not very close to the tested nodes — or in general, when the SSH handhaske is costly. We discussed before about using a persistent connection, and here is the patch that implements it. On a very small QA (very very small), it cuts down a lot of time (almost half), so it should be useful even for a full QA. I've also thought about changing from external ssh to paramiko, but I estimated that it would be more work to correctly interleave the IO from the remote process than just running a background SSH. Also note that yes, the global dict is ugly, but I don't know of another simple way to implement this. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
Patch f55312bd added the OOB tests to TestClusterVerify, which is not actually a test for cluster verify, but a runner for cluster verify that is called multiple times, for each instance type, etc. This led to running the OOB commands multiple times, which is painful especially as this is a slow test. The patch moves this to a separate test, that is run only once. Furthermore, the way that data files are copied around is very inefficient: touch + mv + chmod + mv + rm for each node (5 times number of nodes), whereas it could be simply: touch on master, chmod on master, cluster copyfile, chmod on master, cluster copyfile, cluster command rm, i.e. only 5 fixed ssh calls to the master. The code is changed as such, for increased speed. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Jan 10, 2011
-
-
Adeodato Simo authored
Docstring indicated "cmd" should be a list, when it's expected that it'll be a string. Also, converted docstring to current epydoc-style list of function arguments. Signed-off-by:
Adeodato Simo <dato@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Adeodato Simo authored
Signed-off-by:
Adeodato Simo <dato@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Jan 06, 2011
-
-
Adeodato Simo authored
Now that group queries use query2 infrastructure, update the QA tests to use the generic functions in qa_utils.py. Signed-off-by:
Adeodato Simo <dato@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
René Nussbaumer authored
On cluster level there's no 'default' because it's the highest cascading level. Due to this 'default' is a valid value and doesn't mean to remove the value from the dict like it does on the other levels. To overcome this we just empty the string. Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Jan 05, 2011
-
-
René Nussbaumer authored
Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Jan 04, 2011
-
-
Michael Hanselmann authored
- Handle situations with no non-master node - Expand node name to make test work when configuration just has short names (e.g. “node1” instead of “node1.example.com”) Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- Dec 21, 2010
-
-
Michael Hanselmann authored
The list of fields is not only sorted, but sorted in a nice way. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Dec 20, 2010
-
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Dec 17, 2010
-
-
René Nussbaumer authored
As we can't test this on master anymore (if we flag the node offline we would change master role on master) we use the first non master node we find in the configuration Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
“gnt-cluster verify” looks at some per-instance information as well, so it should be run for each instance type QA tests. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Dec 16, 2010
-
-
René Nussbaumer authored
Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
René Nussbaumer authored
Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Dec 14, 2010
-
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- Dec 13, 2010
-
-
Adeodato Simo authored
This adds QA tests for the SetGroupParams operation, both for CLI and RAPI. Additionally, it adds tests for add/rename/remove groups via RAPI, which had not been included in a previous patch series. Finally, it also tests setting "alloc_policy" (and, for the CLI, "ndparams") at group creation time. Signed-off-by:
Adeodato Simo <dato@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Adeodato Simo authored
This can be set at group creation time and via OpSetGroupParams. The default is "preferred", and existing node groups from previous Ganeti version will get the attribute set to this value. Signed-off-by:
Adeodato Simo <dato@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Dec 10, 2010
-
-
Michael Hanselmann authored
- Query all known fields - Random combinations (using a PRNG with a fixed seed) of fields - Order of result names Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Dec 09, 2010
-
-
Guido Trotter authored
Use the simplified command and rapi version to perform an instance rename to the same name. This is performed anytime the rename test is enabled, while the "other-name" rename is performed when also an alternative name is provided. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
The current instance rename qa testing function can only perform back-and-forth renames, both for command line and rapi. In order to be able to perform same-name rename tests we change it to be able to perform simple renames, and then we change qa to call it to perform both sides of the renaming. The same change is applied both to the local and the rapi test. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Dec 08, 2010
-
-
Adeodato Simo authored
Signed-off-by:
Adeodato Simo <dato@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Adeodato Simo authored
This is a single function that tests all of of the following: - creating groups - creating groups that exist fails - renaming an empty group - renaming a group with nodes - renaming to a name that already exists fails - removing an empty group works - removing a group with nodes fails The "default" group is only used for the "rename group with nodes" test. Signed-off-by:
Adeodato Simo <dato@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Dec 02, 2010
-
-
Dmitry Chernyak authored
Changes to backend.GetVolumeList(): - now accepts a list of VGs instead of one VG - returns LV names in the form "vg_name/lv_name" Corresponding changes are done in: VerifyDisks, VerifyNode, LUCreateInstance (for both disk creation and adoption cases) Now the syntax "gnt-instance add ... --disk N:adopt=LV_NAME,vg=VG_NAME" as was described earlier in the man page works. Signed-off-by:
Dmitry Chernyak <dmi.chernyak@gmail.com> [iustin@google.com: QA changes for reserved LVs, style fixes and a few extra error checks, reviewed by hansmi/rn] Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Dec 01, 2010
-
-
Adeodato Simo authored
This adds QA tests for both CLI and RAPI. Signed-off-by:
Adeodato Simo <dato@google.com> Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Nov 30, 2010
-
-
Iustin Pop authored
This is more of an RFC. The patch attempts to address two issues: - running conditional tests is ugly right now - we don't know what tests we skipped By using the new RunTestIf, we solve both. But a significant number of test decisions are more complex than just “is test enabled”, so those remain to be run via RunTest, which means we don't get logging of when they're not run. Hence the logging is not complete… Sugesstions on how to solve it are welcome. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- Nov 29, 2010
-
-
Michael Hanselmann authored
After moving the users file to a directory, we must ensure the directory exists. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Iustin Pop authored
Currently, 95% of the QA commands are executed in the same way: on the master, based on a command list and with expectancies for succes: AssertEqual(StartSSH(master['primary'], utils.ShellQuoteArgs(cmd)).wait(), 0) The rest 5% are variations on this theme (maybe the command needs to fail, or the node is different, etc.). Based on this, we can simplify the code significantly if we abstract the common theme into a new AssertCommand() function. This saves ~250 lines of code in the QA suite, around 8% of the entire QA code size. Additionally, the output was very cryptic before (the famous "QA error: 1 != 0" messages), whereas now we show a clear error message (node, command, exit code and failure mode). The patch replaces single quotes with double quotes in all the parts of the code that I touch; let me know if that's not OK… Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Nov 18, 2010
-
-
Iustin Pop authored
This would have prevented the bug fixed in the previous patch :( Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- Nov 17, 2010
-
-
Iustin Pop authored
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Nov 03, 2010
-
-
Michael Hanselmann authored
This tests some parts of the disk information collection. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Luca Bigliardi <shammash@google.com>
-
- Nov 01, 2010
-
-
Michael Hanselmann authored
This test would've caught the bug fixed in the previous patch. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Michael Hanselmann authored
… instead of an object. Allows it to be used in places where only the name is available. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- Oct 28, 2010
-
-
Michael Hanselmann authored
To remove the instance after an export it needs to be stopped. This can be achived using the parameter “shutdown”, or by explicitly shutting down the instance before exporting. The latter would still require the “shutdown” parameter to be set. To make it more intuitive, this requirement is changed with this patch. Instances already stopped are accepted for automatic removal. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
On my machine it takes over 30 seconds, disabling it can speed up the QA. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Oct 25, 2010
-
-
Iustin Pop authored
There are two node tests that are run from RunCommonInstanceTests, which is the bad place—it causes these node tests to be run three times instead of once. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-