Statistics
| Branch: | Tag: | Revision:

root / test @ 0dbaa9ca

# Date Author Comment
0dbaa9ca 12/08/2010 02:27 pm Adeodato Simo

Group operations: expose add/remove/rename in RAPI

Signed-off-by: Adeodato Simo <>
Reviewed-by: Michael Hanselmann <>

9f5a3645 12/06/2010 11:22 pm Michael Hanselmann

utils: Add function to find duplicates in sequence

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Adeodato Simo <>

819ca990 12/06/2010 02:59 pm Guido Trotter

locking: add nodegroup lock level

This also changes masterd to initialize the ganeti's manager with the
current list of nodegroup uuids, and updates unittests

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

0897dc97 12/01/2010 09:31 pm Adeodato Simo

Querying node groups: RAPI support

This implements /groups and /groups/%s RAPI end points.

Signed-off-by: Adeodato Simo <>
Signed-off-by: Iustin Pop <>
Reviewed-by: Iustin Pop <>

83f72637 11/29/2010 10:00 pm Michael Hanselmann

Add OpQuery opcode

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

8235fe04 11/29/2010 10:00 pm Michael Hanselmann

Add node query definition

This includes a bunch of helper functions which can be helpful for other
queries, too. Unittests are included.

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

4ca96421 11/29/2010 10:00 pm Michael Hanselmann

Add utility class for definition-based data queries

While not immediately visible, using definition-based queries will allow
for a number of optimizations and simplifications. This patch just
contains the utility class used for executing queries.

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

a123dc19 11/29/2010 10:00 pm Michael Hanselmann

Add simple query filter parser

This parser reads only the format described by the query2
design document: either an empty filter or an OR operator
with equality checks as operands.

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

c744425f 11/29/2010 07:52 pm Michael Hanselmann

RAPI: Implement OS parameters for instance reinstallation

Dictionaries are hard to encode into query strings, therefore the
“/2/instances/[instance_name]/reinstall” resource is changed to accept
its parameters via the request body. The old query string parameters are...

fdd9ac5b 11/29/2010 05:14 pm Michael Hanselmann

Move “rapi_users” file into separate directory

This reduces the number of notifications in “ganeti-rapi”. Until now it
was notified for every change in …/lib/ganeti and had to check whether
the users file was affected. A symlink is always created in cfgupgrade...

58bb385c 11/29/2010 05:05 pm Michael Hanselmann

impexpd: Implement support for IPv6

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

f40ae421 11/28/2010 04:04 pm Iustin Pop

Improve unittests for the utils module

This just a random collection of unittest improvements. Coverage
increases from 73% to 76%.

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

b7d82e40 11/27/2010 07:51 pm Iustin Pop

Fix breakage from previous commit e695efb

Wrong file name in Makefile.am and wrong naming (.unittest vs
_unittest).

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

e695efbf 11/27/2010 07:29 pm Iustin Pop

Add missing paramter and unittests for this case

While git-am'ing the blockdev_prefix patch, I modified the hv_xen.py
file but forgot to amend the patch :(, so here it is.

Furthermore, to detect such inconsistencies in the future, a unittest is
added that cross-checks the default parameters in constants.py and the...

84ce674e 11/26/2010 06:36 pm Iustin Pop

asyncnotifier tests: simplify the setup code

First change is to replace "range(len(self.NOTIFIERS)))" with
self.NOTIFIERS, as range(len(range(N))) ≡ range(N).

Sencond change is switch from an explicit indexing to use of zip.
Unittests still pass :)

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

0a31dda0 11/23/2010 11:04 pm Michael Hanselmann

Add consistency test for mcpu dispatch table

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

5768e6a6 11/23/2010 01:57 pm René Nussbaumer

Adding convenience getter for ndparams

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

815bf6d5 11/23/2010 12:01 pm Iustin Pop

Fix utils unittest TestRunCmd.testTimeoutKill

Currently the test executes "/bin/sh -c 'trap "" TERM …" via the shell,
which means we have two shells involved (the parent one and the child
one, which does the trap). For some weird reason, this works for older...

095e71aa 11/22/2010 05:18 pm René Nussbaumer

Adding oob_program in the same style as beparams

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

972a114f 11/19/2010 06:26 pm Iustin Pop

Merge branch 'devel-2.3'

  • devel-2.3:
    Updates NEWS and configure.ac for 2.3.0~rc1
    Update NEWS & configure.ac for the 2.2.2 release
    Fix documentation regarding conversion to drbd
    Fix documentation regarding conversion to drbd
    Reinstall instance: disallow offline secondaries...
7f81e2b9 11/19/2010 06:24 pm Iustin Pop

Temporarily remove the interactive tests

make check < /dev/null breaks these tests. Until we have change RunCmd
to override stdin, we need to remove them.

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

c74cda62 11/19/2010 05:19 pm René Nussbaumer

Support timeouts in RunCmd

Further investigations have to be done for merging some of these bits
together with import-export daemon which uses similiar logic.

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

e6784773 11/16/2010 05:19 pm René Nussbaumer

Adding unittests for RunningTimeout

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

6be8e2bf 11/15/2010 07:34 pm Iustin Pop

Switch man pages from SGML to RST

This patch changes the Makefile rules to build the man pages from the
RST sources instead of the SGML ones.

Note: pandoc quotes by default the ‘@’ character in manpage output, so
we explicitely undo this before writing the .in file....

28a7318f 11/11/2010 02:16 pm Iustin Pop

Add unittests for TemporaryReservationManager

And fix an error message.

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

e986f20c 10/28/2010 07:56 pm Michael Hanselmann

Add support and checks for version in LUXI

A new constant, LUXI_VERSION, is used to verify the peer's version. The
version is optional, so old(er) clients and servers talking to peers not
supporting it won't break. Example with mismatching library:

$ gnt-instance list...

4badc36c 10/28/2010 05:06 pm Guido Trotter

Add test for modifiable locking levels

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

f9116d58 10/28/2010 05:06 pm Guido Trotter

GanetiLockManager, remove default values

The nodes and instances parameters to the constructor are mandatory
anyway, as a value of None will fail when creating the LockSet. Rather
than fixing this adding code lines, since we never used the default
value, let's remove them and require that the parameters are passed....

4138d39f 10/22/2010 06:22 pm Iustin Pop

Add a "safe" file wrapper over WriteFile

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

9e100285 10/22/2010 06:21 pm Iustin Pop

Add functions to read and compare file 'ID's

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

691c81b7 10/20/2010 03:53 pm Michael Hanselmann

utils: Add function to find items in dictionary using regex

This basically extracts a small piece of code from ganeti-rapi and puts
it into a utility function. RAPI resources are found using a dictionary
in which the keys can either be static strings or compiled regular...

e543a42f 10/13/2010 03:18 pm Michael Hanselmann

Extract base class from SingleFileEventHandler

The base class can contain code useful to other inotify users.
As it is “SingleFileEventHandler” can not be used in ganeti-rapi,
therefore it'll use its own small inotify handler class based
on this base class....

2287b920 10/13/2010 03:18 pm Michael Hanselmann

http.auth.ReadPasswordFile: Don't read file directly

Reading the file before this function allows for better error
reporting.

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

9e49dfc5 10/12/2010 03:48 pm Michael Hanselmann

jqueue: Fix bug when cancelling jobs

If a job was cancelled while it was waiting for locks, an assertion
would've failed. This patch fixes the problem and provides a unit
test to check for this situation.

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

5c4d37f9 10/07/2010 11:31 am Iustin Pop

Use only one version of WritePidFile

This patch merges the pid file handling used for ganeti-* daemons and
impexp daemons. The latter version is used, since it's more reliable:
uses locked pid files as opposed to checking 'live' processes.

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

72884fef 10/05/2010 06:08 pm Michael Hanselmann

Merge branch 'devel-2.2'

  • devel-2.2:
    Add simple unittest for utils.CommaJoin
    LUDelTags: Improve formatting of error message
    LUGetTags: Acquire locks in shared mode
    gnt-cluster: Replace hardcoded “xenvg” with value retrieved from master
    Export VG name via LUQueryConfigValues...
750022e0 10/05/2010 05:59 pm Michael Hanselmann

Add simple unittest for utils.CommaJoin

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

845c79d8 10/05/2010 05:59 pm Michael Hanselmann

cli: Move parsing of --net option to separate function

This function will also be used in tools/move-instance.

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

df5758b1 10/05/2010 12:11 pm Iustin Pop

Merge branch 'devel-2.2'

  • devel-2.2:
    gnt-job info: Sort input fields
    KVM: Add function to check the hypervisor version
    Bump version to 2.2.0, update NEWS
    Fix instance rename regression from 3fe11ba3
    Fix instance rename regression from 3fe11ba3...
870dc44c 09/30/2010 03:09 am Iustin Pop

Abstract OS name/variant functions

Currently, the computation of the 'pure' name or the variant is
hardcoded and spread around the functions that need it. This is not
nice, and in the future we'd spread it even more with more usage of
variants/pure os names....

05636402 09/29/2010 02:42 pm Guido Trotter

Move the uuid regexp to utils.py

Signed-off-by: Guido Trotter <>
Reviewed-by: Iustin Pop <>

f23db633 09/24/2010 06:18 pm Michael Hanselmann

jqueue: Use priority for acquiring locks

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

26d3fd2f 09/24/2010 06:18 pm Michael Hanselmann

jqueue: Use timeout when acquiring locks

As already noted in the design document, an opcode's priority is
increased when the lock(s) can't be acquired within a certain amount of
time, except at the highest priority, where in such a case a blocking
acquire is used....

a7770f03 09/23/2010 04:06 pm Michael Hanselmann

mcpu: Adjust lock acquire strategy

The changes to job queue processing require some changes on this class'
interface. LockAttemptTimeoutStrategy might move to another place, but that'll
be done in a later patch.

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

03b63608 09/23/2010 12:07 pm Michael Hanselmann

jqueue: Rename current_op to better reflect what it actually is

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

db5bce34 09/22/2010 05:38 pm Michael Hanselmann

jqueue: Add unittest for _QueuedJob.CalcStatus

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

be760ba8 09/20/2010 03:41 pm Michael Hanselmann

jqueue: Change model from per-job to per-opcode processing

In order to support priorities, the processing of jobs needs to be
changed. Instead of processing jobs as a whole, the code is changed to
process one opcode at a time and then return to the queue. See the...

913138f4 09/16/2010 01:26 pm Michael Hanselmann

Always enable logging for unittests

By enabling all log levels, we ensure all calls are fully evaluated.
There was one case in the workerpool where a call to “logging.debug”
was wrong, but not caught in unittests because debug logging was
disabled.

The optional environment variable “LOGTOSTDERR” can be set to...

5f6b0b71 09/16/2010 01:26 pm Michael Hanselmann

Add small jqueue unittests

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

84a5b33c 09/13/2010 06:35 pm Michael Hanselmann

cli: Add option definition for priority

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

8f5c488d 09/13/2010 06:35 pm Michael Hanselmann

Add support for job priority to opcodes and job queue objects

This allows clients to submit opcodes with a priority. Except for being
tracked by the job queue, it is not yet used by any code.

Unittests for jqueue._QueuedOpCode and jqueue._QueuedJob are provided for...

e5d8774b 09/13/2010 06:35 pm Michael Hanselmann

Add job priority constants

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

887c7aa6 09/07/2010 04:56 pm Michael Hanselmann

locking: Implement priorities in SharedLock and LockSet

For proper support of job priorities, jobs' locks need to respect
priorities. Otherwise it could happen that a job with a lower priority
could get a lock before a job with a higher priority (depending on...

e60c73a1 09/07/2010 02:26 pm René Nussbaumer

The config now should also belong to confd group and readable by it

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

ae8419a2 09/07/2010 01:07 pm Michael Hanselmann

Merge branch 'devel-2.2'

  • devel-2.2:
    cli: Use list of options shared between commands
    jqueue: Use separate function for encoding errors
    Fix some epydoc warnings
    Fix breakage introduced by commit 8044bf655
    Remove “dry_run” from opcodes.OpCreateInstance...
6760e4ed 09/07/2010 12:44 pm Michael Hanselmann

jqueue: Use separate function for encoding errors

Comes with unittest.

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

f12e1736 09/06/2010 05:08 pm René Nussbaumer

Adding a runtime configuration library

This is used to expand the users/group names just once at
initial call.

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

100a75a7 08/27/2010 04:10 pm Michael Hanselmann

Merge branch 'devel-2.2'

  • devel-2.2:
    Show list of pending acquires in “gnt-debug locks”

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

c31825f7 08/27/2010 03:03 pm Michael Hanselmann

Show list of pending acquires in “gnt-debug locks”

This is accomplished by keeping a list of waiting threads instead
of just their number inside the lock-internal condition. A few
other tweaks to the output format are also made.

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

c30421e0 08/25/2010 12:56 pm René Nussbaumer

Merge branch 'devel-2.2'

hansmi helped me with merging the conflict. Thanks

Conflicts:
lib/workerpool.py

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

33993ab8 08/25/2010 12:02 pm René Nussbaumer

Adding a paramiko fingerprint format helper

And provide unittests for them

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

52c47e4e 08/24/2010 06:32 pm Michael Hanselmann

workerpool: Add support for task priority

To add job priorities, the worker pool underlying the job queue must
support priorities per task. This patch adds them to the worker pool.

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

73c25d35 08/24/2010 06:29 pm Michael Hanselmann

Fix race condition in locking unittest

While writing unittests for the new lock monitor, I made a small mistake and
didn't synchronize acquiring locks properly. This patch takes care of this
issue by adding additional synchronization.

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

19b9ba9a 08/24/2010 05:57 pm Michael Hanselmann

Add simple lock monitor

This patch adds an initial implementation of a lock monitor, accessible
for the user through “gnt-debug locks”. It currently shows all resource
locks: BGL, nodes and instances. Config and job queue locks could be
shown too, but wouldn't be of much help. The current owner(s) and mode...

daba67c7 08/24/2010 05:27 pm Michael Hanselmann

workerpool: Allow setting task name

With this patch, the task name is added to the thread name and will show up in
logs. Log messages from jobs will look like “pid=578/JobQueue14/Job13 mcpu:289
DEBUG LU locks acquired/cluster/BGL/shared”.

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

a4ebd726 08/23/2010 06:26 pm Michael Hanselmann

Use one function to parse “--fields” option values

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

981732fb 08/23/2010 01:31 pm Manuel Franceschini

Make family argument in FormatAddress optional

By doing this we delegate the task of finding the correct address family
to the FormatAddress method.

Signed-off-by: Manuel Franceschini <>
Reviewed-by: Iustin Pop <>

b43dcc5a 08/19/2010 12:44 pm Manuel Franceschini

Support IPv6 node add

Signed-off-by: Manuel Franceschini <>
Reviewed-by: Iustin Pop <>

0f979a34 08/18/2010 07:59 pm Guido Trotter

Merge branch 'devel-2.2'

  • devel-2.2:
    RAPI client: Support modifying instances
    RAPI: Allow modifying instance
    Small fixes for instance creation via RAPI documentation
    gnt-debug: Extend job queue tests
    jqueue: Mark opcodes following failed ones as failed, too...
7845b8c8 08/18/2010 04:07 pm Manuel Franceschini

Fix some small newline style issues

Signed-off-by: Manuel Franceschini <>
Reviewed-by: Iustin Pop <>

3882937a 08/18/2010 02:21 pm Michael Hanselmann

RAPI: Allow modifying instance

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

1a8337f2 08/18/2010 11:28 am Manuel Franceschini

rapi.client, http.client: Format url correctly when using IPv6

This patch moves the FormatAddress helper function from daemon.py to
netutils.py. This enables its use in http.client as well as in
rapi.client. Furthermore this adds functionality to format IPv6...

b705c7a6 08/18/2010 11:27 am Manuel Franceschini

Support for resolving hostnames to IPv6 addresses

This patch enables IPv6 name resolution by using socket.getaddrinfo
instead of socket.gethostbyname_ex.

It renames the HostInfo class to Hostname and unifies its use throughout
the code. This is achieved by using static calls where no object is...

eb202c13 08/18/2010 11:27 am Manuel Franceschini

Always use address instead of hostname in rpc.Client

In light of the upcoming IPv6 support, this patch enables the rpc.Client
to always use a node's address to connect to it. This is necessary as we
do not want to rely on name resolution to connect to the correct IP...

8b312c1d 08/18/2010 11:26 am Manuel Franceschini

Introduce new IPAddress classes

This patch unifies the netutils functions dealing with IP addresses to
three classes:
- IPAddress: Common IP address functionality
- IPv4Address: IPv4 specific functionality
- IPv6address: IPv6-specific functionality

Furthermore it adds methods to check whether an address is a loopback...

84f790e6 08/17/2010 04:34 pm Michael Hanselmann

errors: Function to check whether value is encoded error

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

d654aae1 08/10/2010 06:56 pm Michael Hanselmann

RAPI client: Support renaming instances

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

d56e7dc7 08/10/2010 06:55 pm Michael Hanselmann

Allow renaming instances via RAPI

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

a5eba783 08/10/2010 06:55 pm Michael Hanselmann

RAPI client: Don't re-use PycURL object

With this patch, a new PycURL object will be created for each request.
This should make the RAPI client safe for simultaneous calls from
multiple threads. Unittests are adjusted accordingly.

An unnecessary variable assignment is also removed from the unittest...

fcee765d 08/05/2010 08:37 pm Manuel Franceschini

Fix bug in bdev when drbd version format is x.x.x.x

This patch fixes a bug reported in [0]. Newer drbd versions can have
another digit beyond the regular major, minor and point release digits.
We modify the regex used to match that with an optional parts which is...

405241dc 07/30/2010 06:33 pm Michael Hanselmann

Test instance NIC and disk parameter names

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

59525e1f 07/30/2010 06:33 pm Michael Hanselmann

Add new parameter type “maybe string”

Before strict checking was implemented, NIC IP addresses could be set
to “None”. Commit bd061c35 added more strict checking, including
enforcing the IP address to be a string. With this new type, it
can again be set to None....

2c0be3d0 07/29/2010 08:50 pm Michael Hanselmann

Add check for RAPI paths to start with /2

During a discussion in July 2010 it was decided that we'll stabilize on /2. See
message ID <> for reference.

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

a9b144cb 07/29/2010 04:48 pm Michael Hanselmann

Ensure assertions are evaluated in tests

A lot of assertions are used in Ganeti's code. Some unittests even check
whether AssertionError is raised in some cases. Explicitely ensuring
assertions are evaluated makes sure those tests don't fail and
assertions are checked....

fcee9675 07/29/2010 04:05 pm David Knowles

RAPI client: The os argument for instance reinstalls is optional

Signed-off-by: David Knowles <>
Reviewed-by: Michael Hanselmann <>

e0ac6ce6 07/29/2010 04:05 pm Michael Hanselmann

RAPI client: Support migrating instances

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

b2e8a4d9 07/29/2010 04:05 pm Michael Hanselmann

workerpool: Change signature of AddTask function to not use *args

By changing it to a normal parameter, which must be a sequence, we can
start using keyword parameters.

Before this patch all arguments to “AddTask(self, *args)” were passed as
arguments to the worker's “RunTask” method. Priorities, which should be...

5823e0d2 07/29/2010 04:05 pm Michael Hanselmann

RAPI: Support migrating instances

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

130f0966 07/28/2010 11:27 pm Iustin Pop

RAPI: Add os params to instance creation v1

Since the RAPI QA suite doesn't seem to offer easy testing of failed
creations, I didn't add this to the QA. Pointers on how to do it are
welcome.

The patch also changes the 'os' argument to be required, since that is...

1f334d96 07/23/2010 08:26 pm Iustin Pop

Update the RAPI client for the migration mode

See the discussion on the previous patch about this. Basically unless we
want to a add a new 'feature' marking for the live migration parameter,
there is no simple way to handle this nicely in the client.

Given that the client was/is marked as experimental, this patch simply...

33231500 07/16/2010 06:18 pm Michael Hanselmann

Convert RPC client to PycURL

Instead of using our custom HTTP client, using PycURL's multi
interface allows us to get rid of the HTTP client threadpool.
The majority of the code is still in the ganeti.http.client
module.

A simple per-thread HTTP client pool gives cURL a chance to...

7f93570a 07/16/2010 04:56 pm Iustin Pop

Implement lock names for debugging purposes

This patch adds lock names to SharedLocks and LockSets, that can be used
later for displaying the actual locks being held/used in places where we
only have the lock, and not the entire context of the locking operation....

31155d60 07/16/2010 12:47 pm Balazs Lecz

Add ParseCpuMask() utility function

Also adds a generic ParseError exception.

Signed-off-by: Balazs Lecz <>
Reviewed-by: Michael Hanselmann <>

e58f87a9 07/15/2010 07:27 pm Michael Hanselmann

Add test for some aspects of job queue

This new opcode and gnt-debug sub-command test some aspects of the
job queue, including the status of a job. The bug fixed in commit
2034c70d507 was identified using this test. A future patch will
run this test automatically from the QA scripts....

748e4b5a 07/15/2010 05:38 pm Michael Hanselmann

KVM hypervisor: Use utils.ShellWriter for network script

This patch converts hv_kvm to use utils.ShellWriter for writing
the network script. It also adds a few unittests (the first
for any hypervisor modules).

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

858905fb 07/15/2010 05:38 pm Michael Hanselmann

Move ShellWriter class to utils

Also add unittest.

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

9dc71d5a 07/15/2010 05:37 pm Michael Hanselmann

Rename test for utils.IgnoreProcessNotFound

Usually our tests are named “Test…”.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Manuel Franceschini <>

989a8bee 07/15/2010 05:37 pm Michael Hanselmann

jqueue: Factorize code waiting for job changes

By splitting the _WaitForJobChangesHelper class into multiple smaller
classes, we gain in several places:

- Simpler code, less interaction between functions and variables
- Easy to unittest (close to 100% coverage)...

54dc4fdb 07/13/2010 11:39 pm Michael Hanselmann

Merge remote branch 'origin/devel-2.1'

  • origin/devel-2.1:
    RAPI client: Implement old instance creation request format
    rlib2: Use constants for disk and NIC parameters

Conflicts:
test/ganeti.rapi.client_unittest.py: Trivial
test/ganeti.rapi.rlib2_unittest.py: Trivial...

48436b97 07/13/2010 09:55 pm Michael Hanselmann

RAPI client: Implement old instance creation request format

Commit 8a47b4478 implemented instance creation in the RAPI client,
but it left out support for the old instance creation request format.
This patch now implements the old format as good as possible. This...