- Sep 03, 2012
-
-
Iustin Pop authored
To help developing Ganeti on newer distributions, let's try to fix pylint warnings/errors. I'm using pylint from current Debian wheezy: pylint 0.25.1, astng 0.23.1, common 0.58.0, and we have 3 things that needs fixing. First, a really wide "except", with the silencing in the wrong place. I'm not sure why this doesn't have "except Exception", so let's add it. However, pylint still complains about "Catching too general exception", even though we do want to catch both system and our exception, so let's add a silence for W0703. It's true that we shouldn't catch KeyboardInterrupt and friends, but that should be cleaned up on the master branch. Second, pylint complains about "redefining name builtin tuple", because we do some pattern matching in the except blocks in netutils. This seems to be a false positive, but let's clean the code around this. And finally, type inference again goes bad, so let's silence E1103 with its "boolean doesn't have 'get' method". After this, I can run "make lint", and by extension "make commit-check" on Debian Wheezy, yay! We might be able to bump our required pylint versions to something not ancient… Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
Pylint version: pylint 0.25.1, astng 0.23.1, common 0.58.0 crashes when passing the fully-qualified decorator name with: File "/usr/lib/pymodules/python2.7/pylint/checkers/base.py", line 161, in visit_function if not redefined_by_decorator(node): File "/usr/lib/pymodules/python2.7/pylint/checkers/base.py", line 116, in redefined_by_decorator decorator.expr.name == node.name): AttributeError: 'Getattr' object has no attribute 'name' I found out that simply using a shortened name will 'fix' this issue, so let's do this to allow running newer pylint versions. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Aug 23, 2012
-
-
Iustin Pop authored
Debian Wheezy will ship with this version, and it has many improved checks compared to 0.6, so let's: - bump version in the docs - silence some new checks that are wrong due to our indent=2 instead of 4 - fix lots of errors in the code where the indentation was wrong by 1 or 2 spaces - fix a few cases of == True, False, None and replace with 'is' - re-indent some cases where the code is OK, but pep8 complains Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- Jul 19, 2012
-
-
Iustin Pop authored
This will be run only if 'haskell-confd' QA configuration has been enabled. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Agata Murawska <agatamurawska@google.com>
-
- Jul 11, 2012
-
-
Agata Murawska authored
Added test checking that it is possible to remove an instance with drbd disk when non-primary node is offline. Signed-off-by:
Agata Murawska <agatamurawska@google.com> Reviewed-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- Jun 26, 2012
-
-
Bernardo Dal Seno authored
The test is disabled by default, as it takes a long time. Signed-off-by:
Bernardo Dal Seno <bdalseno@google.com> Reviewed-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Jun 05, 2012
-
-
Iustin Pop authored
Currently, the "common" instance tests (shutdown, rapi stopped console, stopped modify, startup, rapi shutdown, rapi startup, list, info, modify, rapi modify , console, rapi console, reinstall, rename, rapi rename, rename and back, rapi rename and back, grow disk, reboot, tags, cluster verify, rapi test instance, node list, job list) are run 4 times: - one time for plain instance created via RAPI, using client - one time for plain instance created via RAPI, without client - one time for plain instance created via gnt-instance - one time for DRBD instance created via gnt-instance This makes the QA long, and is over-doing it (for non-full QAs): an instance created via RAPI (either client) and via gnt-instance should have the same parameters, but our duplicate tests do not ensure that, just that instances behave OK. This patch adds a toggle so that we can skip the common tests for RAPI-created instances; the creation/deletion is still performed, but all the other operations are not. This reduces the time of a "quick" QA by ~20% (1h:15m → 1h). The common tests will still be run (unconditionally) for gnt-instance-created instances. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Iustin Pop authored
Currently, this is how the QA log looks like: Command: ssh -oEscapeChar=none -oBatchMode=yes -l root -t -oStrictHostKeyChecking=yes -oClearAllForwardings=yes -oForwardAgent=yes -oControlPath=/tmp/ganeti-qa-multiplexer.DMzkuH -oControlMaster=no node14 exit Command: ssh -oEscapeChar=none -oBatchMode=yes -l root -t -oStrictHostKeyChecking=yes -oClearAllForwardings=yes -oForwardAgent=yes node8 exit Command: ssh -oEscapeChar=none -oBatchMode=yes -l root -t -oStrictHostKeyChecking=yes -oClearAllForwardings=yes -oForwardAgent=yes node18 exit And these arguments are repeated over and over. This patch proposes to log once the arguments, at the beginning of the QA (so that the SSH commands can be reproduced, if needed) and then drop them from the log. The new output looks like: SSH command for primary node: ssh -oEscapeChar=none -oBatchMode=yes -lroot -oStrictHostKeyChecking=yes -oClearAllForwardings=yes -oForwardAgent=yes -oControlPath=/tmp/ganeti-qa-multiplexer.24lgrK -oControlMaster=no node14 SSH command for other nodes: ssh -oEscapeChar=none -oBatchMode=yes -lroot -oStrictHostKeyChecking=yes -oClearAllForwardings=yes -oForwardAgent=yes NODE (the above are the informational messages about parameters, then) Command: ssh node14 exit Command: ssh node8 exit Command: ssh node18 exit This makes the QA log much more readable, by dropping unneeded clutter (look how long the original lines were), and hopefully also a bit smaller (current QA log is > 100MB of text output). Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Bernardo Dal Seno <bdalseno@google.com>
-
- May 14, 2012
-
-
Michael Hanselmann authored
Some tests had wrong assumptions on the instance status and some needed explicit start or stop commands. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- May 10, 2012
-
-
Michael Hanselmann authored
Start using “InstanceCheck” decorator where appropriate. Use direct call for check in places where the instance status changes during the test. The parameters of “TestInstanceImport” had to be re-ordered to have the instance as the first argument. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
Until now this wasn't possible. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- May 04, 2012
-
-
Michael Hanselmann authored
The “RunTestIf” uses an AND association between the passed test names, so the instance would be be shut down if both rename and reinstall were enabled. Since this is not necessarily the case, OR must be used. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Apr 26, 2012
-
-
Iustin Pop authored
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Apr 19, 2012
-
-
Michael Hanselmann authored
This solves one case where locks are acquired during LUXI queries. Pretty late into the transition I noticed that OpBackupQuery had a “use_locking” parameter for a long time, but didn't use it. Since most of the other changes were already and this allows exports to be listed via RAPI (/2/query) I decided to finish. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Mar 30, 2012
-
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Jan 31, 2012
-
-
Michael Hanselmann authored
Instead of having two separate parameters, a single boolean parameter is used. Unfortunately we need a third state to say “no change”, so the value can be None, True or False (similar to other parameters). There are no user interface changes. New QA tests are added, too. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Jan 26, 2012
-
-
Iustin Pop authored
… and add the disk_templates/vcpu_ratio new entries. Since the default ispecs_* are dicts, we can't compare them to none. Additionally, add a QA test for this case (empty cluster modify). Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Jan 17, 2012
-
-
Iustin Pop authored
After looking again at the QA speeds, it turned out that instance rename was run 12 times via the command line and 12 times via RAPI; outside of start/stop which we need for maintenance during QA, this is the most used test. This patch does a few changes with regard to instance rename: - it changes rename functions to rename the instance back to the original name - which allows us not to run said functions twice, A→B and then B→A This brings down the number of rename tests from 12 to 8 (for both cmdline and RAPI). Furthermore, the CLI rename test was doing too many actual instance renames (at Ganeti level), so we rework it to be simpler (brings down the average duration from ~27s to ~21s), and we reorganise the run of various tests such that we do fewer instances start/stop tests (10 instead of 14). Overall we only gain about 3 minutes (~7%), but still it's a speedup. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- Jan 05, 2012
-
-
Andrea Spadaccini authored
Fix an error in the disk parameters tests (the arguments to gnt-cluster were not passed correctly) and move them to separate functions. Signed-off-by:
Andrea Spadaccini <spadaccio@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Nov 04, 2011
-
-
Michael Hanselmann authored
This would have caught a bug introduced with the recent RPC changes. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Oct 17, 2011
-
-
Michael Hanselmann authored
Commit d1c172de inadvertently changes the “/2/instances/[instance_name]/replace-disks” resource to use body parameters. There were no QA tests and the issue wasn't noticed. This patch re-introduces support for query parameters and adds a QA test. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Andrea Spadaccini <spadaccio@google.com>
-
- Sep 22, 2011
-
-
Michael Hanselmann authored
This would have detected the issue fixed in the previous patch. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- Aug 30, 2011
-
-
Andrea Spadaccini authored
- Makefile.am: added QA directory to the paths checked by pep8 - qa/: fixed the reported errors - Makefile.am: also, added qa_group.py to qa_scripts Signed-off-by:
Andrea Spadaccini <spadaccio@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Andrea Spadaccini authored
In version 0.21, pylint unified all the disable-* (and enable-*) directives to disable (resp. enable). This leads to a lot of DeprecationWarning being emitted even if one uses the recommended version of pylint (0.21.1, as stated in devnotes.rst). This commit changes all the disable-msg directives to disable. Signed-off-by:
Andrea Spadaccini <spadaccio@google.com> Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Jul 25, 2011
-
-
Iustin Pop authored
s/'/"/ in (hopefully) the right places. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Jul 21, 2011
-
-
Michael Hanselmann authored
No idea why this was missed before. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- May 16, 2011
-
-
Iustin Pop authored
Instead of hardcoded Xen commands. This will make it work for all hypervisors, instead of duplicating hypervisor functionality in QA itself. The timeout has been removed as gnt-instance stop itself will make sure the instance is down before returning. We just double-check that it is indeed down. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- Apr 21, 2011
-
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
René Nussbaumer authored
Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Apr 14, 2011
-
-
Iustin Pop authored
So that we don't happen again to break this forever without realising it. The patch also replaces one ' with ". Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
This was (AFAICS) completely missing from the QA suite. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Mar 15, 2011
-
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- Mar 08, 2011
-
-
Michael Hanselmann authored
- Test OS lists via command line and RAPI - Test “gnt-os diagnose” and “gnt-os info” Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
Also add an additional check to ensure the OS does not exist. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Feb 28, 2011
-
-
Michael Hanselmann authored
- Move functions for drain status (tracked via file) from jqueue to jstore - Undrain queue on master failover if necessary - Add QA test Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Feb 24, 2011
-
-
René Nussbaumer authored
This is a convenience command to do an automated EPO in the possible limits of Ganeti. Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Feb 18, 2011
-
-
Guido Trotter authored
This tests at least the basic case, unfortunately there is no way to check all possibilities using the provided rapi client, as that will use the new method unless the cluster doesn't support it. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Jan 28, 2011
-
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
Add “cluster-oob” to sample configuration file. Don't run RAPI group tests if disabled. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@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>
-