Statistics
| Branch: | Tag: | Revision:

root / qa / qa_config.py @ 82ce55fa

History | View | Annotate | Download (20.9 kB)

# Date Author Comment
c2e22e7b 01/09/2014 02:03 pm Hrvoje Ribicic

Add migration and failover workload

This patch introduces additional calls adding migration and failover
RAPI operations, moving a DRBD-disk template instance between nodes.

Signed-off-by: Hrvoje Ribicic <>
Reviewed-by: Helga Velroyen <>

5a904197 12/17/2013 06:12 pm Santi Raffa

Gluster: add the Shared File storage type

The shared file and gluster disk templates should not report their disk
space information like file does, because they do not behave the same.

If a cluster pulls from the same, shared source of storage then it is...

e5398c3a 11/22/2013 03:48 pm Petr Pudlak

Add patching QA configuration files on buildbots

In order to work, it is necessary:
  • Write a JSON Patch to file "qa/qa-patch.json" in a source repository.
    (And be careful not to commit it!) The file must conform to RFC6902
    and describes what changes should be done to the QA JSON...
e44b72bb 11/14/2013 05:40 pm Petr Pudlak

Allow QA node acquisition and group creation using `with`

For acquiring nodes use `with AcquireManyNodes(num): ...`. The nodes
will be released automatically.
For creating a new group use `with NewGroupCtx() as group: ...`. The
group will be removed automatically....

aac832d2 09/25/2013 10:52 am Michele Tartara

Make QaConfig a proper container

Newer pylint versions complain that QaConfig is not a proper container because
it does not implement the len(), delitem() and setitem() methods.
This commit implements them.

Signed-off-by: Michele Tartara <>...

bab4f56a 07/29/2013 03:27 pm Helga Velroyen

QA: skip lvm-based tests if lvm disabled

QA tests should make sure not to be run if the necessary
environment for them is not present. This patch fixes that
for a couple of tests that fail to check that before being
executed.

Signed-off-by: Helga Velroyen <>...

615551b2 07/23/2013 05:15 pm Helga Velroyen

Rename disk_template/storage_type map + cleanup

This patch renames the mapping of disk templates to storage
types to MAP_DISK_TEMPLATE_STORAGE_TYPE, which is a more
expressive name since it indicates that it is a mapping and
does not have the inconsistent usage of singular and plural...

5949c31c 07/15/2013 12:34 pm Helga Velroyen

QA: Adjust QA for file storage

This improves the QA code wrt to file storage in the
following ways:
- It fixes a FIXME to make the file storage directory
customizable in the QA config. Fallback is the default
value.
- It makes QA derive the enabled storage types from...

345d395d 05/23/2013 04:21 pm Bernardo Dal Seno

QA for spindles in creating disks

"gnt-instance add" and "gnt-instance recreate-disks" are tested giving the
number of spindles, when supported. Also, QA for "gnt-instance
recreate-disks" now covers the case where disks are resized.

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

decf86f9 04/26/2013 05:39 pm Helga Velroyen

Make DEFAULT_ENABLED_DISK_TEMPLATES a list

This patch makes the constant DEFAULT_ENABLED_DISK_TEMPLATES
a list instead of a set, because the order of the elements actually matters
as the first one is planned to be the default disk template for instance
creation. Also, this constant is always used like a list and thus providing it...

090128b6 04/17/2013 07:04 pm Christos Stavrakakis

Update QA tests to check disk and NIC names

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

02cff8aa 04/15/2013 01:17 am Bernardo Dal Seno

QA: Decision about disk templates to use is more modular

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

2dae8d64 04/11/2013 11:53 pm Helga Velroyen

QA: Test cluster init/modify wrt enabled disk templates

Fixes the QA of 'gnt-cluster init' and 'gnt-cluster modify' with respect
to enabling disk templates.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Michele Tartara <>

dacd8ba4 03/21/2013 05:41 pm Helga Velroyen

QA: Extend cluster QA wrt enabled storage types

This extends the QA scripts to test the changes in 'gnt-cluster init',
'gnt-cluster info', and 'gnt-cluster modify' with respect to enabled
storage types.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Guido Trotter <>

c072e788 02/27/2013 03:11 pm Michael Hanselmann

qa_config: Support callable test checks

Until now all tests depended on simple AND/OR conditions. With the
introduction of virtual cluster support, some tests can only run if
virtual clusters are not in use (e.g. not yet supported or not
possible). Instead of introducing more logic for enabling/disabling...

76fda900 02/27/2013 03:11 pm Michael Hanselmann

QA: Add config entries for virtual cluster

If these new options are set, a virtual cluster is created and used.
Virtual clusters consist of 1..N virtual nodes on a single physical (or
virtual) node. The design of virtual clusters is described in
“doc/design-virtual-clusters.rst”....

41be279f 02/20/2013 06:45 pm Michael Hanselmann

qa_config.AcquireNode: Use sort key function

Use a sort key function instead of using a comparing function (“cmp=…”).
The latter is not supported in Python 3 and using a sort key function is
easier.

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

e80edd3b 02/20/2013 06:45 pm Michael Hanselmann

qa_config: Add repr for instance/node classes

Having a readable representation makes debugging easier.

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

47aa6ec9 02/20/2013 03:38 pm Michael Hanselmann

QA: Add validation for cluster name

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

2176724e 02/20/2013 03:38 pm Michael Hanselmann

QA: Acquire instance via method

Also make “used” a property.

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

02a5fe0e 02/12/2013 04:36 pm Michael Hanselmann

QA: Set disk template directly via instance object

Use a method on the instance object instead of going through
“qa_config.GetInstanceTemplate”. This provides for better encapsulation.

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

0afce24e 02/12/2013 04:36 pm Michael Hanselmann

Remove qa_config.GetInstanceNicMac

Call the wrapped instance method directly.

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

99f5fa44 02/11/2013 04:58 pm Michael Hanselmann

QA: Remove dictionary-like interface from config objects

These are no longer used.

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

565cb4bf 02/11/2013 04:58 pm Michael Hanselmann

QA: Release nodes through method

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 <>
Reviewed-by: Bernardo Dal Seno <>

dbdb0594 02/11/2013 03:30 pm Michael Hanselmann

QA: Convert nodes to objects

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

6f88e076 02/08/2013 03:36 pm Michael Hanselmann

QA: Release instances through method

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 <>
Reviewed-by: Bernardo Dal Seno <>

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

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

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

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

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

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

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

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

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

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

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

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

b459a848 08/30/2011 11:24 am Andrea Spadaccini

DeprecationWarning fixes for pylint

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

d0c8c01d 07/25/2011 04:55 pm Iustin Pop

Most boring patch ever

s/'/"/ in (hopefully) the right places.

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

3582eef6 01/12/2011 12:41 pm Iustin Pop

Run pylint over QA code too

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

7d88f255 11/30/2010 05:03 pm Iustin Pop

Further cleanups on QA

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

1010ec70 10/05/2010 05:50 pm Michael Hanselmann

QA: Enable all tests by default

This patch enables all tests by default, unless when they're
explicitely disabled in the config file. This will make sure
newly added tests are run even when an old configuration file
is used.

A comment is also added qa-sample.json....

a705dc05 10/05/2010 05:50 pm Michael Hanselmann

qa_config: Use ganeti.serializer for loading config

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

1d693311 12/01/2008 10:52 pm Michael Hanselmann

Update QA scripts to new cluster parameters

There are still issues, especially with "gnt-instance modify" and
resetting values. However, this is a start.

Reviewed-by: ultrotter

8c4a9a74 08/18/2008 02:37 pm Michael Hanselmann

QA: Convert configuration from YAML to JSON

We no longer use YAML in Ganeti at all. This patch converts the QA
configuration from YAML to JSON. JSON doesn't support comments and
I had to use a hack with fields starting with '#'.

Reviewed-by: ultrotter

f9193417 03/25/2008 06:30 pm Iustin Pop

Remove the option to create md/drbd7 instances

This patch removes the options that allow to create local_raid1 or
remote_raid1 instances. It also modifies the documentation and removes
these disk templates from burnin and from qa.

Reviewed-by: imsnah

c68d1f43 02/14/2008 05:39 pm Michael Hanselmann

Code style updates for QA code.

Reviewed-by: iustinp

2ff95e62 11/21/2007 06:58 pm Michael Hanselmann

Abort if tests for disk templates remote_raid1 and drbd are enabled.

Reviewed-by: iustinp

4b62db14 10/12/2007 05:33 pm Michael Hanselmann

Test “gnt-node evacuate” and “gnt-node failover” in QA.

Reviewed-by: schreiberal

cec9845c 09/13/2007 03:46 pm Michael Hanselmann

Split QA script into different modules.

Reviewed-by: iustinp