Statistics
| Branch: | Tag: | Revision:

root / qa / qa_node.py @ 67bd83ae

History | View | Annotate | Download (15.8 kB)

# Date Author Comment
b337aeb4 11/14/2013 05:40 pm Petr Pudlak

Export `NodeAdd` and `NodeRemove` from qa_node

This is needed for testing SSH ports so that we can remove a node from
a group, add it to a group with a custom SSH port, and then undo the
change.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Hrvoje Ribicic <>

dc3dcdaf 08/27/2013 09:32 am Jose A. Lopes

Add 'SF_NODE' to 'VALID_STORAGE_FIELDS'

Constant 'SF_NODE' is a storage field and, therefore, should be in
'VALID_STORAGE_FIELDS'. This patch fixes this and also reference to
these constants, namely, in 'cmdlib' and 'qa'.

Signed-off-by: Jose A. Lopes <>...

c2266ec8 08/27/2013 09:31 am Jose A. Lopes

Remove storage field duplication in 'qa'

QA was adding 'SF_TYPE' to a list containing all storage fields (i.e.,
'VALID_STORAGE_FIELDS'). However, 'SF_TYPE' is already part of
'VALID_STORAGE_FIELDS', which means this element was occurring twice
in the list....

d8e55568 07/23/2013 05:15 pm Helga Velroyen

Rename VALID_STORAGE_TYPES to STORAGE_TYPES

For consistency, this patch renames 'VALID_STORAGE_TYPES'
to 'STORAGE_TYPES', because the set of valid disk
templates is also just names 'DISK_TEMPLATES'.

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

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

b780c231 07/15/2013 12:34 pm Helga Velroyen

QA: Adjust test whether file storage is enabled

This patch fixes the node storage QA, which checked whether
file storage is enabled by looking at the constant
'ENABLE_FILE_STORAGE'. QA should rather retrieve this
information from the QA config.

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

c632d3a5 06/24/2013 01:46 pm Thomas Thrainer

Fix node modify QA tests for large cluster

If the node count in a cluster exceeds the master candidate pool size
(which is 10 by default), it's no longer possible to remove the master
candidate role from a node without passing --auto-promote (even with
--force). This behavior is perfectly fine, but the TestModifyNode QA...

52e9bef0 06/20/2013 06:24 pm Thomas Thrainer

Add gnt-node migrate to QA

Make it possible to optionally run gnt-node migrate during QA.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Klaus Aehlig <>

33c730a2 03/21/2013 05:40 pm Helga Velroyen

Add constants for storage types to constants.py

This patch adds the currently known and used storage methods to the
constants.py file. Note that storage types are different from disk
templates. For example both disk templates, drbd and plain, use lvm
storage types....

491d02ca 03/05/2013 01:56 pm Iustin Pop

Merge branch 'devel-2.7'

  • devel-2.7: (23 commits)
    Add export lists for files which didn't have them
    Fix Haskell compatibility tests with disabled file storage
    Fix QA with disabled file storage
    Fix convert-constants handling of booleans
    Fix handling of disabled (shared) file storage...
3c87d614 03/04/2013 05:18 pm Iustin Pop

Fix QA with disabled file storage

Currently QA tries to use “gnt-node list-storage” with all storage
types, but when file storage is disabled this will fail.

The patch changes it so that if file storage is disabled, we test that
indeed fails, and otherwise we include it in the regular tests....

3c296f56 02/12/2013 03:25 pm Michael Hanselmann

Merge branch 'devel-2.7'

  • 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...
aecba21e 02/11/2013 04:58 pm Michael Hanselmann

QA: Convert nodes from items to attributes

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

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

250a9404 02/11/2013 04:21 pm Bernardo Dal Seno

"exclusive_storage" cannot be changed on single nodes

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

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

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

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

620fb907 11/03/2011 06:47 pm Michael Hanselmann

QA: Add test for setting node's secondary IP address

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Andrea Spadaccini <>

21bf2e2e 08/30/2011 02:00 pm Andrea Spadaccini

PEP8 for QA

- 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 <>
Reviewed-by: Michael Hanselmann <>

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

fed67843 02/16/2011 02:06 pm René Nussbaumer

Remove force_master support from LUOobCommand

As per discussion on the man-page1 update, this functionality should be
removed and replaced by just give the command to run if the user insists
of power cycle/power off the master and refuse to operate.

[1] http://groups.google.com/group/ganeti-devel/browse_thread/thread/95d4879a747cc295...

c832b6c8 02/03/2011 11:42 am René Nussbaumer

Modify gnt-node power to support multiple nodes

This also has the sideeffect of presenting a table with the result

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

efae0fdd 01/31/2011 07:06 pm René Nussbaumer

Adding support for the new option flags in gnt-node power

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

a0724772 01/31/2011 05:45 pm René Nussbaumer

Adding gnt-node health

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

fb87cbeb 01/27/2011 07:07 pm Michael Hanselmann

Merge branch 'devel-2.3' into devel-2.4

  • devel-2.3:
    Wait for master to become available on initialization
    Start all daemons on cluster initialization
    Clarify job processing order in admin guide
    Improve option descriptions
    Remove two unused variables...
5ae7cd11 01/26/2011 12:06 pm Michael Hanselmann

Fix bug in “gnt-node list-storage”

LVM PV storage units would always show as allocatable, even when they
weren't. For some reason I have not been able to determine, the function
parsing the attributes (“_GetAllocatable”) was not even called and the
list opcode simply returned the attribute string as the value (e.g....

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

8abc36f1 01/06/2011 12:21 pm René Nussbaumer

QA: Remove 'oob_program=default' on gnt-cluster modify

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

ac63b093 01/04/2011 07:18 pm Michael Hanselmann

QA: Fix out-of-band tests

- 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 <>
Reviewed-by: René Nussbaumer <>

abb24834 12/17/2010 06:51 pm René Nussbaumer

Adapt QA for change in behaviour

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

a1de4b18 12/16/2010 09:57 am René Nussbaumer

QA: Add some basic OOB tests

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

2214cf14 12/14/2010 03:23 pm Michael Hanselmann

QA: Extend unittests for query operations, add tests for list-fields

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

288d6440 12/10/2010 06:26 pm Michael Hanselmann

QA: Improve tests for instance/node list

- Query all known fields
- Random combinations (using a PRNG with a fixed seed) of fields
- Order of result names

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

2f4b4f78 11/29/2010 03:37 pm Iustin Pop

Simplify QA commands

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)...
d0cb68cb 10/20/2010 03:04 pm Michael Hanselmann

QA: Add test for “gnt-node modify”

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

338180f5 08/25/2010 02:07 pm René Nussbaumer

Revert "Don't provide --no-ssh-key-check for QA"

This reverts commit dc092ece1bd07e9fa6ed97de8b4a3f360b26725e.

Signed-off-by: René Nussbaumer <>
Reviewed-by: Guido Trotter <>

dc092ece 08/20/2010 03:53 pm René Nussbaumer

Don't provide --no-ssh-key-check for QA

My last setup-ssh patch series removed this option. Though, this is
just a temporary fix as a patch series is coming which revert that
behaviour to the old state

Signed-off-by: René Nussbaumer <>
Reviewed-by: Guido Trotter <>

8e671b7c 11/25/2009 04:36 pm Iustin Pop

QA: improve usability with cluster-init: False

When not initialising the cluster, consider all nodes are added, so that
multi-node tests (e.g. export, replace) work correctly (if there are
nodes, of course).

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

8e1db003 11/02/2009 02:04 pm Michael Hanselmann

Add QA test for “gnt-node {list,modify,repair}-storage”

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

aca55e15 08/28/2009 06:24 pm Michael Hanselmann

Fix QA test for “gnt-node evacuate”

Before the arguments weren't valid.

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

28a90aff 08/18/2008 01:17 pm Michael Hanselmann

QA: Always accept added node's SSH key

Reviewed-by: ultrotter

ed54b47e 08/15/2008 11:43 am Michael Hanselmann

Remove QA hook functionality

To my knowledge they're used nowhere and it's at least slightly
confusing to people adding new QA checks.

Reviewed-by: ultrotter

102b115b 05/13/2008 05:26 pm Michael Hanselmann

Forward-port changes made to readd in 1.2

qa_node.py: Fix typo in message
cmdlib.py: Don't add readded node to node list
ganeti-qa.py: Make sure readd isn't done for master node

Reviewed-by: iustinp

e7c6e02b 04/16/2008 09:22 pm Michael Hanselmann

Add --readd option to “gnt-node add”

This allows us to readd a node after it failed and required a
reinstallation or replacement.

Reviewed-by: iustinp

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

Code style updates for QA code.

Reviewed-by: iustinp

f4bc1f2c 12/03/2007 04:03 pm Michael Hanselmann

Various code style fixes for strings.

- When line wrapping is needed, move spaces to the next line.
- Remove embedded line breaks from error messages.

Reviewed-by: schreiberal

e42b5307 11/08/2007 01:51 pm Michael Hanselmann

Insert hook calls.

Reviewed-by: schreiberal

b1ffe1eb 11/01/2007 03:54 pm Michael Hanselmann

Cleanup QA scripts.

- Split main() function into several small ones.
- Current work on disk failure tests. This is not yet finished.
- Fix small typo in qa_node.py.

Reviewed-by: schreiberal

d7e49c13 10/12/2007 06:41 pm Michael Hanselmann

Small wording changes and fix checks.

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