Statistics
| Branch: | Tag: | Revision:

root / qa @ 6a654276

# Date Author Comment
6a654276 02/08/2013 03:36 pm Michael Hanselmann

QA: Convert instances to objects

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...

a77e3d33 02/08/2013 03:35 pm Michael Hanselmann

QA: Release instance in ganeti-qa

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 <>...

0ae14edd 02/08/2013 03:35 pm Michael Hanselmann

QA: Stop using "in" operator for node

The new configuration object for nodes will not support it anymore.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Helga Velroyen <>

2029fe3f 02/08/2013 03:35 pm Michael Hanselmann

QA: Support entity objects in qa_utils._GetName

This is a temporary solution until nodes and instances are converted to
objects with attributes.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Helga Velroyen <>

cf62af3a 02/08/2013 03:35 pm Michael Hanselmann

qa_config: Simplify IsTemplateSupported

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 <>...

a08e181f 02/08/2013 03:35 pm Michael Hanselmann

Refactor storage of runtime exclusive storage flag in QA

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...

8a96c5a6 02/08/2013 03:35 pm Michael Hanselmann

Refactor QA configuration code

Ever since its introduction (sometime before commit cec9845 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...

f9329a6c 02/08/2013 03:35 pm Michael Hanselmann

qa_config: Remove exclusive storage flag from config

Commit 6a0f22e 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...

83251115 02/05/2013 06:55 pm Michael Hanselmann

Merge branch 'devel-2.7'

  • devel-2.7:
    Redirect output for gnt-* list/list-fields commands
    Add function to execute QA commands with redirected output
    Implement option to skip logging of QA commands
    Fix typo in a comment
    Add some more Haskell/Python equivalence tests...
93146c8c 02/05/2013 06:15 pm Iustin Pop

Redirect output for gnt-* list/list-fields commands

This enabled the redirection; QA output after this patch should become
much much smaller (on a 'quick' QA, we are left with ~0.5MB output on
stdout and 64MB redirected output).

Signed-off-by: Iustin Pop <>...

afd5ca04 02/05/2013 06:15 pm Iustin Pop

Add function to execute QA commands with redirected output

Some QA commands generate non-trivial output: for a full QA, the gnt-*
list commands generate more than 300MB of data. To make the QA logs
more parseable by humans, we need support for redirecting output of...

56b9f2db 02/05/2013 06:15 pm Iustin Pop

Implement option to skip logging of QA commands

This patch adds an optional kwarg that allows skipping the "Command:
…" line in QA output. This is helpful if we only need to run some
maintenance actions, that are QA-related and not Ganeti-related.

Signed-off-by: Iustin Pop <>...

f006f110 02/04/2013 05:40 pm Bernardo Dal Seno

QA: Clean up after "instance-remove-drbd-offline" test

This test used to leave a node with orphan logical volumes and unused DRBD
minors. Now, the expected leftovers are cleaned up after the test, and
cluster-verify is run.

Signed-off-by: Bernardo Dal Seno <>...

c5cd9637 02/04/2013 05:34 pm Michael Hanselmann

qa_config: Remove useless "options" variable

It is only used in one place and not necessary.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

35e18c38 02/01/2013 06:21 pm Michael Hanselmann

Merge branch 'devel-2.7'

  • devel-2.7: (24 commits)
    Fix typo in ganeti-noded man page
    QA: Run instance tests with different cluster configurations
    QA: Run cluster-verify after instance tests
    QA: Refactored launching of the various instance tests
    QA: Use lists of nodes as argument to instance tests...
deadfa13 02/01/2013 12:25 pm Bernardo Dal Seno

QA: Run instance tests with different cluster configurations

Instance tests are run with or without the exclusive-storage flag set. More
configurations can be added easily.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Michael Hanselmann <>

5de31440 02/01/2013 12:25 pm Bernardo Dal Seno

QA: Instance tests check the configuration before running

Instance test functions check the current configuration, and they will run
the actual tests only if the configuration supports them. This will be
used for refactoring in following patches.

Signed-off-by: Bernardo Dal Seno <>...

c99200a3 02/01/2013 12:25 pm Bernardo Dal Seno

QA: Use lists of nodes as argument to instance tests

Some instance test functions took two node arguments, some took one, and
some took two but the second argument could be None. This patch makes such
functions uniform by using a list of nodes as an argument. This simplifies...

27eba428 02/01/2013 12:25 pm Bernardo Dal Seno

QA: Refactored launching of the various instance tests

The code launching instance tests for "plain" and "drbd" templates has been
unified. In this way it's easier to add more templates, and to re-use the same
tests with different configurations.

Signed-off-by: Bernardo Dal Seno <>...

a36f690c 02/01/2013 12:25 pm Bernardo Dal Seno

QA: Run cluster-verify after instance tests

We want to make sure that instance operations don't leave the cluster in a
bad state. The "instance-remove-drbd-offline" test leaves some debris
behind, so it's been moved to the last position.

Signed-off-by: Bernardo Dal Seno <>...

7d4f1b45 02/01/2013 12:24 pm Bernardo Dal Seno

QA: Added functions to allocate/free N nodes at once

These make possible to simplify the logic of tests requiring more
nodes. Used in the following patches.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Michael Hanselmann <>

6a0f22e1 02/01/2013 12:23 pm Bernardo Dal Seno

QA: Added exclusive_storage to qa_config

QA configuration now tracks the state of the exclusive_storage flag at
cluster level. This will be used to selectively enable tests according to
the configuration.

Also, it's now possible to specify the initial value of the...

deaa347b 02/01/2013 12:20 pm Bernardo Dal Seno

QA fix: TestInstanceExportWithRemove() updates configuration

When the instance is removed from the cluster by this test, it's also freed
in the QA configuration.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Michael Hanselmann <>

e4c346a5 02/01/2013 12:20 pm Bernardo Dal Seno

QA cleanup: Removed instance-disk-failure test

The test was broken, out of sync with the rest of the code, and prone to
crashes. Until someone does a better job, it's better to remove the
test. This simplifies further refactoring.

Signed-off-by: Bernardo Dal Seno <>...

906a0346 02/01/2013 12:20 pm Bernardo Dal Seno

QA: Added disk template to config

The disk templates used by the instances are tracked in the QA
configuration. This will be used to selectively enable tests according to
the configuration.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Michael Hanselmann <>

cf632f3e 02/01/2013 12:20 pm Bernardo Dal Seno

QA: Better initialization of a global dictionary

The global 'cfg' variable is initialized to an empty dictionary, so there
is no more need to disable some pylint checks.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Michael Hanselmann <>

21e2734f 02/01/2013 12:19 pm Bernardo Dal Seno

QA: Cluster-verify reports shared PVs with exclusive storage

Exclusive storage forbids sharing PVs between unrelated LVs. This is a test
that cluster-verify correctly report such cases.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Michael Hanselmann <>...

23610ff8 02/01/2013 12:16 pm Bernardo Dal Seno

QA: Added constants for LVM volumes

The LVM volume group becomes a configurable parameter, and a prefix for
logical volume names used in tests is introduced as a constant.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Iustin Pop <>

efd58d99 02/01/2013 01:35 am Bernardo Dal Seno

QA: Templates incompatible with exclusive storage reported

Cluster-verify should report instances whose disk template is not
compatible with the exlusive storage setting.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Michael Hanselmann <>

e8b919a1 02/01/2013 01:35 am Bernardo Dal Seno

QA: Uniformity check for exclusive_storage in cluster-verify

Cluster-verify should report nodes in the same nodegroup with different
values of the exclusive_storage flag.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Michael Hanselmann <>

50ef6a41 02/01/2013 01:34 am Bernardo Dal Seno

QA: Test for basic features of exclusive storage

Check that creation of instances doesn't trigger any error.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Michael Hanselmann <>

17cfeee9 02/01/2013 01:34 am Bernardo Dal Seno

QA: Added function to read cluster configuration fields

This function will be used in following patches.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Michael Hanselmann <>

587f8ff6 02/01/2013 01:32 am Bernardo Dal Seno

QA: Added function to check cluster-verify result

Now it's possible to check that cluster-verify reports all the expected
errors, instead of simply checking that it fails.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Michael Hanselmann <>

ea7693c1 01/24/2013 10:46 am Helga Velroyen

Network QA

This adds a script for the QA of 'gnt-network'. So far it
covers adding/removing and connecting/disconnecting networks.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Michael Hanselmann <>

9928c63e 01/24/2013 10:46 am Helga Velroyen

Fix syntax error in QA's sample config

The additional comma makes this file invalid JSON.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Michael Hanselmann <>

83951b04 01/14/2013 11:35 am Michael Hanselmann

Merge branch 'devel-2.6'

  • devel-2.6:
    QA: Use instance name for rename test

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Guido Trotter <>

69bc7a38 01/11/2013 06:17 pm Michael Hanselmann

QA: Use instance name for rename test

Reported in issue 341. In some setups the instance live in a different
netblock from the cluster. Therefore a the configuration-global “rename”
name shouldn't be used for them. Instead another instance name is used.
...

b4d2d2cb 01/11/2013 05:37 pm Michael Hanselmann

QA: Factorize retrieving non-existent groups from config

Also add a check to make sure there are enough groups defined.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Guido Trotter <>

558e2e8a 01/09/2013 05:20 pm Michael Hanselmann

QA: Support master-netdev and default NIC parameters

Requested in issue 337.

The parameter “bridge” was not documented and is therefore silently
replaced with “master-netdev”. A note is added to “qa-sample.json”
describing how comments work.

This is a cherry-pick of master commit...

cbf5114e 01/09/2013 05:20 pm Michael Hanselmann

QA: Do not pass "--bridge" to "gnt-cluster init"

Commit ec0652a (June 2009) removed the option.

This is a cherry-pick of master commit
784537390cd5b1c4f5f8fb9401a62eb23acce39b

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

3601d488 12/21/2012 05:47 pm Michael Hanselmann

QA: Support master-netdev and default NIC parameters

Requested in issue 337.

The parameter “bridge” was not documented and is therefore silently
replaced with “master-netdev”. A note is added to “qa-sample.json”
describing how comments work.

Signed-off-by: Michael Hanselmann <>...

78453739 12/21/2012 05:47 pm Michael Hanselmann

QA: Do not pass "--bridge" to "gnt-cluster init"

Commit ec0652a (June 2009) removed the option.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

1ba25bad 12/19/2012 07:26 pm Guido Trotter

Fix QA for --offline semantics modification

The previous patch series made it simpler to deal with ERROR_up offline
instances, but didn't fix qa, that had the old expectations. This fixes
that, and adds more testing about the expected behavior.

Signed-off-by: Guido Trotter <>...

b8028dcf 12/19/2012 06:29 pm Michael Hanselmann

Replace frozenset with compat.UniqueFrozenset

This is not a trivial s/frozenset/compat.UniqueFrozenset/, but rather
only replaces “frozenset” where appropriate. Most of the places are
“static” information that doesn't change after the module has been
loaded....

45317e3a 12/19/2012 03:45 pm Iustin Pop

Remove some unused Python code

This patch removes code which is no longer used due to refactoring:

- http.InitSsl, last usage removed in commit 33231500 (“Convert RPC
client to PycURL”)
- rapi.baserlib.MakeParamsDict, last usage remove in commit 4e5a68f8...

05325a35 12/18/2012 04:09 pm Bernardo Dal Seno

Fixes and improvements to comments

Some fixes, added more information in a few points, removed a stale (5+
year old) TODO comment.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Guido Trotter <>

3c286190 11/20/2012 07:51 pm Dimitris Aragiorgis

Fixes to pass pep8 (make lint)

Signed-off-by: Dimitris Aragiorgis <>
Reviewed-by: Iustin Pop <>

b07afbb3 10/19/2012 05:55 pm Iustin Pop

Add a small QA check in instance renames for tags update

We also need to change the signature for _GetInstanceInfo, since we
don't have access to the instance dictionary in the rename instance
test.

Signed-off-by: Iustin Pop <>
Reviewed-by: Michael Hanselmann <>

479197d5 10/11/2012 04:49 pm Bernardo Dal Seno

QA: TestAssignNodesIncludingSplit can be disabled

The test can now be enabled/disabled with the "group-rwops" flag.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Guido Trotter <>

6f058bf2 10/11/2012 04:49 pm Bernardo Dal Seno

QA: never put a master node offline

Before, it could happen that the master node was chosen to be set offline
in the "instance-remove-drbd-offline" test. Also changed a finally clause
to make sure that an exception while making the node online doesn't break...

e85be22a 10/11/2012 04:48 pm Bernardo Dal Seno

Add option to disable iallocator use in QA

By default some QA tests use iallocators. It is now possible to disable
iallocators in QA, so that QA doesn't force having iallocators set up.
The affected tests have now alternatives pathways.

Signed-off-by: Bernardo Dal Seno <>...

48967eb0 10/11/2012 12:56 pm Michael Hanselmann

qa_utils: Stop hardcoding path to /etc/hosts

- Simplified shell command for adding hosts, too
- The exception handling is also improved by re-raising any exceptions
instead of swallowing qa_error.Error

Signed-off-by: Michael Hanselmann <>...

6a74f584 10/11/2012 12:38 pm Michael Hanselmann

Merge branch 'devel-2.6'

  • devel-2.6:
    verify-disks: Explicitely state nothing has to be done
    Add list of design documents implemented in version 2.6
    Better list of replace-disks arguments + typos fixed
    jqueue: Look at archived jobs when watching
    Show old primary/secondary node on disk replacement...
946e553b 10/08/2012 02:20 pm Bernardo Dal Seno

Fixed QA for replace-disks

Bug introduced in commit cc4b14f07: Part of a statement was missing. This
makes pylint-qa fail.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Michael Hanselmann <>

cc4b14f0 10/05/2012 07:23 pm Bernardo Dal Seno

Instance QA uses default iallocator

QA for recreate-disk and replace-disks now run also with the default
iallocator.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Michael Hanselmann <>

64be07b1 10/03/2012 06:00 pm Michael Hanselmann

gnt-instance reinstall: Don't always exit with success

If one or more jobs failed the exit status should be set accordingly.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Bernardo Dal Seno <>

320a5dae 09/27/2012 05:41 pm Bernardo Dal Seno

Always_failover doesn't require --allow-failover anymore

If an administrator sets always_failover, it means that there is no need
for another explicit approval to failover instead of migrating.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Michael Hanselmann <>...

304d9f02 09/18/2012 05:58 pm Michael Hanselmann

Migrate qa/*.py from constants to pathutils

File system paths moved from constants to pathutils.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

d55408b0 09/14/2012 05:30 pm Bernardo Dal Seno

QA for instance migration made more compact

Also, the value of always_failover is not hard-coded any more, and it's
possible to disable changing the always_failover parameter, if needed.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Michael Hanselmann <>

b5f0b5cc 09/14/2012 05:30 pm Bernardo Dal Seno

Always_failover doesn't require --allow-failover anymore

If an administrator sets always_failover, it means that there is no need
for another explicit approval to failover instead of migrating.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Michael Hanselmann <>

6f1da8b3 09/04/2012 01:56 pm Iustin Pop

Merge branch 'devel-2.6'

  • devel-2.6:
    Fix warnings/errors with newer pylint
    Fix decorator uses which crash newer pylint

Signed-off-by: Iustin Pop <>
Reviewed-by: Bernardo Dal Seno <>

8ad0da1e 09/03/2012 07:09 pm Iustin Pop

Fix warnings/errors with newer pylint

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....

fc3f75dd 09/03/2012 06:18 pm Iustin Pop

Fix decorator uses which crash newer pylint

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...
951accad 08/27/2012 05:18 pm Iustin Pop

Merge branch 'devel-2.6'

  • devel-2.6:
    Make stable-2.6 compatible with newer pep8
    Fix computation of disk sizes in _ComputeDiskSize
    Add verification of RPC results in _WipeDisks
    Add test for checking that all gnt-* subcommands run OK
    Fix double use of PRIORITY_OPT in gnt-node migrate...
5ae4945a 08/23/2012 02:41 pm Iustin Pop

Bump pep8 version to 1.2

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...

76b62028 08/07/2012 12:48 pm Iustin Pop

Switch job IDs to numeric

This has been a long-standing cleanup item, which we've always
refrained from doing due to the high estimated effort needed.

In reality, it turned out that after some infrastructure improvements
(the previous patches), the actual job queue-related changes are quite...

52bebbdf 07/26/2012 06:38 pm Iustin Pop

Add QA test for node group modification of ndparams

Additionally, we run hbal if the htools tests are enabled (new
key). Note that hbal will directly exit, since there are no instances,
but at least it will load and parse the group details.

Signed-off-by: Iustin Pop <>...

a085d96d 07/25/2012 09:56 pm Bernardo Dal Seno

QA for allocator in recreate-disks

QA for recreate-disks called it twice with a list of node; the first call
now uses an allocator.

Signed-off-by: Adam Ingrassia <>
Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Iustin Pop <>

7803e37c 07/19/2012 03:51 pm Iustin Pop

Merge branch 'stable-2.6'

  • stable-2.6: (21 commits)
    Release Ganeti 2.6.0 rc4
    Prepare NEWS for Ganeti 2.6.0rc4
    Add some rudimentary node group ipolicy checks
    Fix setting ipolicy on node groups
    Fix --no-headers for the new list-drbd command
    Add a simple QA test for gnt-node list-drbd...
93ddfce2 07/19/2012 03:16 pm René Nussbaumer

Add some rudimentary node group ipolicy checks

Signed-off-by: René Nussbaumer <>
Reviewed-by: Iustin Pop <>

286b7335 07/19/2012 11:11 am Iustin Pop

Add a simple QA test for gnt-node list-drbd

This will be run only if 'haskell-confd' QA configuration has been
enabled.

Signed-off-by: Iustin Pop <>
Reviewed-by: Agata Murawska <>

112aee5f 07/13/2012 06:00 pm Iustin Pop

Merge branch 'stable-2.6'

  • stable-2.6: (72 commits)
    Make Ganeti 2.6.0 rc3 release
    Allow reinstall even when secondaries are offline
    Prepare NEWS file for Ganeti 2.6.0 rc3
    QA updated to test instance removing when sec. is offline
    Ignore offline node errors when removing disks...
c7e54e1d 07/11/2012 03:22 pm Agata Murawska

QA updated to test instance removing when sec. is offline

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 <>
Reviewed-by: Iustin Pop <>...

32da72f3 07/05/2012 07:11 pm Iustin Pop

Ensure that --wait-for-sync is used in QA

We don't have a specific test for activate disks, so let's add it in
the cases where we run (incidentally) activate-disks.

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

a1cd2ecf 06/27/2012 12:10 pm Bernardo Dal Seno

Fixed doclint warning

Two blank lines are needed between functions.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: René Nussbaumer <>

83180411 06/26/2012 07:17 pm Bernardo Dal Seno

QA: Added test for gnt-instance recreate-disks

The test is disabled by default, as it takes a long time.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: René Nussbaumer <>
Reviewed-by: Michael Hanselmann <>

82d2f3df 06/26/2012 07:16 pm Bernardo Dal Seno

QA function do destroy disks

This is useful to simulate HW problems during QA.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: René Nussbaumer <>
Reviewed-by: Michael Hanselmann <>

a8dbf746 06/19/2012 06:03 pm Michael Hanselmann

QA: Fix modification of HV parameters via RAPI

This is basically another case of commit d488adb.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

59c1d41e 06/15/2012 05:18 pm Michael Hanselmann

QA: Fix breakage on cluster initialization

The hypervisors are a list and need to be comma-separated.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

d488adb6 06/15/2012 04:48 pm Michael Hanselmann

QA: Test some instance parameters depending on hypervisor

For example, the “initrd_path” parameter is only available with xen-pvm,
whereas “boot_order” is only available with xen-hvm.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

e7b6183b 06/15/2012 04:48 pm Michael Hanselmann

QA: Verify hypervisors, make available through functions

Some parts of QA should only be run with certain hypervisors (e.g.
testing instance HV parameters). To make that happen we always define
the cluster's hypervisors and provide a function to get the default...

3bc145d8 06/12/2012 04:52 pm Bernardo Dal Seno

Fixed typos, formatting, etc and added a comment

This patch only touches comments and man pages.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Iustin Pop <>

1c573fb4 06/08/2012 04:58 pm Iustin Pop

Fix QA import of existing instances

Commit f346a7d9 broke the TestInstanceImport test in QA, since it
dropped the "always generate" parameter for backup import. We add an
override mac parameter so that, no matter what is defined in the
config file, imported instances (can) have a different MAC....

f346a7d9 06/07/2012 04:51 pm Michael Hanselmann

QA: Add configuration options for static MAC address

In some QA environments static MAC addresses must be used.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

c1513c7f 06/07/2012 04:51 pm Michael Hanselmann

QA: Ignore tags using regular expression

In some QA environments external scripts may add tags. With this patch a
regular expression can be used to ignore them during QA runs.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: René Nussbaumer <>

b498540e 06/05/2012 06:58 pm Iustin Pop

QA: add toggle for fewer common instance tests

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,...

710bc88c 06/05/2012 06:58 pm Iustin Pop

QA: stop logging SSH arguments for each invocation

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...

f14a8b15 06/05/2012 04:42 pm Iustin Pop

Switch QA to tty-less mode

This makes ssh generate much less noise when QA is run itself without
a tty, as otherwise we get thousands of lines of:

Pseudo-terminal will not be allocated because stdin is not a terminal.

in the QA logs (which are already big enough)....

889bed16 05/15/2012 02:19 pm Michael Hanselmann

qa_utils: Factorize code for getting entity name

This reduces code duplication and provides better error messages if
something is incorrect while getting a node or instance name.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

2ac35588 05/14/2012 08:32 pm Michael Hanselmann

qa_utils: Accept string as instance for check

Some tests don't have access to an instance dictionary.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

51131cad 05/14/2012 06:38 pm Michael Hanselmann

QA: Cleanup after commit 5fa0375e4a

Some tests had wrong assumptions on the instance status and some
needed explicit start or stop commands.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

5fa0375e 05/10/2012 02:02 pm Michael Hanselmann

QA: Decorate tests with instance checks

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...

c9e05005 05/10/2012 02:02 pm Michael Hanselmann

QA: Infrastructure for hook script to check instance status

This script can be used to check if an instance is running or stopped at
various points during a QA run. Environment variables are used to pass
the most essential information.

Signed-off-by: Michael Hanselmann <>...

741c6d91 05/10/2012 02:02 pm Michael Hanselmann

QA: Support passing keyword arguments to test functions

Until now this wasn't possible.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

3d371913 05/04/2012 03:37 pm Michael Hanselmann

Add missing qa/__init__.py file

The file was there and listed in Makefile.am, but I forgot to add it to
commit a0c3e7264a.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: René Nussbaumer <>

1be35bef 05/04/2012 03:27 pm Michael Hanselmann

QA: Fix shutdown for reinstall/rename tests

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 <>...

a0c3e726 05/04/2012 03:27 pm Michael Hanselmann

QA: Enable use of OR conditions in test checks

Until now “TestRunIf” and “TestEnabled” could only handle AND. With this
patch a new class named “Either” is added to “qa_config” and allows OR.
The name “Either” was chosen instead of “Or” as the latter is very close...

26a5056d 04/26/2012 06:41 pm Iustin Pop

Add grow-disk tests in QA

Signed-off-by: Iustin Pop <>
Reviewed-by: Michael Hanselmann <>

59a8fe48 04/23/2012 05:52 pm Michael Hanselmann

QA: Add default setting for tests

Commit 1010ec70b1 enabled all tests by default. In some scenarios where
the configuration is static one may not want newly added tests to be
run.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

496d5ac8 04/20/2012 05:19 pm Michael Hanselmann

Fix RAPI QA with exports via query2

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>