Statistics
| Branch: | Tag: | Revision:

root / lib @ 04df3c7c

# Date Author Comment
04df3c7c 05/10/2011 05:35 pm Michael Hanselmann

cmdlib: Sort nodes for OOB commands

Also reorder the methods to match all other LUs.

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

7ee045a0 05/10/2011 05:34 pm Michael Hanselmann

cmdlib: Use helper for expanding nodes for OOB commands

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

1d789a97 05/10/2011 05:34 pm Michael Hanselmann

cmdlib: Expand instances using helper for repairing disks

Also change the way “share_locks” is filled.

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

e730f372 05/10/2011 03:20 pm Michael Hanselmann

Fix bug introduced in commit 0d5a0b96

When removing “acquired_locks” in commit 0d5a0b96, I didn't remember
that it does not contain the Big Ganeti Lock.

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

5ed4c956 05/10/2011 02:12 pm Apollon Oikonomopoulos

Fix lock release in TLMigrateInstance

Commit 52f33103 introduced lock release factorization, replacing manual
lock release using utility functions. However, it broke
TLMigrateInstance due to a typo (passing the Tasklet to ReleaseLocks
instead of the parent LU). We fix this by passing the LU to...

0d5a0b96 05/10/2011 02:03 pm Michael Hanselmann

cmdlib: Remove acquired_locks attribute from LUs

The “acquired_locks” attribute in LUs is used to keep a list of acquired
locks at each lock level. This information is already known in the lock
manager, which also happens to be the authoritative source. Removing the...

0db3d0b5 05/10/2011 02:02 pm Michael Hanselmann

cmdlib: Use local alias for lock manager

Saves some typing and we'll use it more often in the future.

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

3ce9a5e7 05/09/2011 06:49 pm Michael Hanselmann

opcodes: Add function for compact summary

Depending on the opcode and its parameters, the existing “Summary”
function can give a rater long summary. For displaying the summary in
logs and in the lock monitor, it should be shorter. Hence this new
function is added to just use the opcode ID with common prefixes...

c307ee34 05/09/2011 06:34 pm Michael Hanselmann

Show locksets in lock monitor

When all locks contained in a set are acquired, the lockset's internal
lock is acquired with the same mode. With this patch the internal lock
will show up on the lock monitor, named e.g. “instances/[lockset]”.

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

83f2d5f6 05/09/2011 06:33 pm Michael Hanselmann

locking: Make parameter to condition's wait() positional

It is always used in the locking code. Unittests are updated.

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

113359fe 05/09/2011 06:33 pm Michael Hanselmann

SharedLock: Avoid acquires from sneaking in while notifying

In some rare cases new shared acquires could sneak in through the
condition cached in “__pending_shared” while the code was still
notifying acquires. This was only working because such a condition...

e3303a4e 05/06/2011 06:47 pm Iustin Pop

Fix instance failover/migration w.r.t TLMigrateInstance

Commit 1c6e5787 removed the iallocator and target_node keyword
parameters from TLMigrateInstance, but I didn't update their use in
LUInstanceFailover and (not fully) in LUInstanceMigrate.

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

1c6e5787 05/05/2011 02:25 pm Apollon Oikonomopoulos

Fix DTS_EXT_MIRROR migration

Commit faaabe3c fixed failover behaviour for DTS_INT_MIRROR instances, however
it broke migration for DTS_EXT_MIRROR instances, by moving iallocator and node
checks from LUInstanceMigrate to TLMigrateInstance. This has the side-effect...

8b0273a5 05/05/2011 02:09 pm Michael Hanselmann

Use node group locking for replacing disks

This is one of the first opcodes to make use of node group locking. To
get an instance's node groups, the instance's nodes need to be looked
at. Due to a previous design decision nodes are locked after the group,...

2674690b 05/05/2011 02:09 pm Michael Hanselmann

config: Add function to determine instance's groups

This will be used for locking only the necessary node group(s)
for per-instance operations.

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

54bd7d76 05/05/2011 12:41 pm Apollon Oikonomopoulos

TLMigrateInstance: Fix live migration breakage

Commit 77fcff4 unintentionally incorporated code from
TLMigrateInstance.CheckPrereq into TLMigrateInstance._RunAllocator, presumably
during a rebase from earlier versions of the patch to the 2.5 codebase. As a...

46c936d6 05/04/2011 05:19 pm Michael Hanselmann

cmdlib: Update error messages, remove some punctuation

- Clarify some error messages
- Remove unnecessary punctuation
- Merge two if conditions in one place

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

cc130cc7 05/02/2011 12:16 pm Marco Casavecchia

Use floppy disk and a second CDROM on KVM

Hi all,
this patch will add 3 new KVM parameters and a new option.

New Parameters:
- floppy_image_path = "" -> Specify the floppy image to load as
floppy disk.
- cdrom2_image_path = "" -> Specify a second cdrom image to load on...

52f33103 04/29/2011 05:15 pm Michael Hanselmann

cmdlib: Factorize lock releasing

There will be more lock releasing with upcoming changes, so this will
centralize the logic behind it (what locks to keep, which variables to
update, etc.).

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

3de8301d 04/29/2011 04:01 pm Michael Hanselmann

Merge branch 'devel-2.4'

  • devel-2.4:
    TLReplaceDisks: Use implicit loop for dictionary
    Release unneeded locks while replacing disks
    locking: Export “list_owned” from lock manager
    gnt-instance: Fix typo in error message

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

29b8eaee 04/29/2011 03:56 pm Michael Hanselmann

TLReplaceDisks: Use implicit loop for dictionary

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

1bee66f3 04/29/2011 03:55 pm Michael Hanselmann

Release unneeded locks while replacing disks

If an iallocator is used, “gnt-instance replace-disks” would acquire the
locks of all nodes (only the allocator will decide which node to use).
Unfortunately the unneeded locks were not released during the operation,...

07cba1bc 04/29/2011 03:41 pm Michael Hanselmann

locking: Export “list_owned” from lock manager

This is analog to “is_owned” and will be used for assertions.

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

d8d838cb 04/29/2011 03:41 pm Michael Hanselmann

gnt-instance: Fix typo in error message

The iallocator parameter is “-I”, not “-i”.

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

580c971e 04/29/2011 03:38 pm Michael Hanselmann

Merge branch 'devel-2.4'

  • devel-2.4: (24 commits)
    mlock: fail gracefully if libc.so.6 cannot be loaded
    Allow creating the DRBD metadev in a different VG
    Make _GenerateDRBD8Branch accept different VG names
    Fix WriteFile with unicode data
    Replace disks: keep the meta device in the same VG...
adc523ab 04/29/2011 03:05 pm Iustin Pop

mlock: fail gracefully if libc.so.6 cannot be loaded

This allows noded to continue instead of blowing up if the libc major
number changes.

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

661515f6 04/29/2011 02:48 pm Michael Hanselmann

cmdlib: Drop SSH runner from LU base class

It is no longer used.

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

0b606e54 04/28/2011 07:02 pm Adeodato Simo

cmdlib.py: fix indentation in _VerifyNode

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

c6627031 04/28/2011 05:26 pm Michael Hanselmann

TLMigrateInstance: Fix confusing text

Commit d5cafd31 changed this error message, swapping the
text parts in the process.

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

a2e885ee 04/28/2011 05:25 pm Michael Hanselmann

LUInstanceRename: Amend comment about lock

Also add an assertion.

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

342f9172 04/28/2011 05:25 pm Michael Hanselmann

iallocator: Relocation nodes must be in same group

Quoting from iallocator.rst: “[…] ``relocate`` request is used when an
existing instance needs to be moved within its node group […]”.

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

55f67cc9 04/28/2011 03:24 pm Iustin Pop

Fix 'unused import' lint error

Sorry!

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

8f9a87c5 04/28/2011 01:06 pm Iustin Pop

SetEtcHostsEntry: maintain existing ordering

Currently RemoveEtcHostsEntry keeps the ordering, but SetEtcHostsEntry
not, as it will always write the new entry at the end of file. I
personally dislike this as it "uglifies" my custom host files, so this
patch makes it update the record instead in-place so to say instead of...

24c855a7 04/28/2011 01:06 pm Iustin Pop

Convert utils.nodesetup to utils.WriteFile(data=…)

It makes no sense to iteratively write the new etc/hosts file, as we
can pre-compute the desired contents (neither the old nor the new
versions are safe against concurrent changes anyway).

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

87001920 04/28/2011 01:03 pm Iustin Pop

Allow creating the DRBD metadev in a different VG

This is a simple change to allow specifying a different VG for the
meta device during the creation of instances and addition of disks via
gnt-instance modify.

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

c260fa25 04/28/2011 01:03 pm Iustin Pop

Make _GenerateDRBD8Branch accept different VG names

This is a small change to make this function take a list of VG names,
instead of a single one.

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

1d39e245 04/28/2011 01:02 pm Iustin Pop

Fix WriteFile with unicode data

Unicode is fun, indeed:

len(buffer("abc"))

3

len(buffer(u"abc"))

12

So we can't pass unicode data to buffer(), as the result will be to
write the in-memory (usually UTF-32) representation to disk.

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

88aa7f66 04/27/2011 06:26 pm Doug Dumitru

Fix for multiple VGs - PlainToDrbd and replace-disks

Converting an instance from 'plain' to 'drbd'. The old code would
create the drbd volumes in the default VG and then the renames would
fail. This fix pulls the plain VG names from the existing volumes and...

fd09d178 04/27/2011 06:26 pm Iustin Pop

Replace disks: keep the meta device in the same VG

This patch enhances the multi-VG support in replace disks, by keeping
the meta device in the same VG, as opposed to moving it to the data
device VG (note that we don't have a way to create the meta in a
different VG in the first place, but at least we correctly handle a...

cce6f357 04/27/2011 06:26 pm Iustin Pop

Fix punctuation in an error message

IIRC we don't use punctuation at the end of error messages.

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

d833acc6 04/27/2011 06:26 pm Iustin Pop

Prevent readding of the master node

This breaks Ganeti in multiple ways. If we don't make the check in
gnt-node itself, then bootstrap.SetupNodeDaemon will restart the
master daemon, making the operation fail:

node1# gnt-node add --readd node1
Cannot communicate with the master daemon....
2db04578 04/27/2011 06:26 pm Iustin Pop

Improve error messages in cluster verify/OS

A few issues in the clarity of the error messages are fixed:

- "ERROR: node node3: OS API version lenny-image": no preposition
between the parameter type and the OS name, changed to "for
lenny-image"

- "API version lenny-image differs from reference node node1: 10, 5...

437c3e77 04/27/2011 06:26 pm Iustin Pop

Fix potential data-loss in utils.WriteFile

os.write can do incomplete writes, as long as at least some bytes have
been written (like write(2)):

os.write(fd, " " * 1300)

1300

os.write(fd, " " * 1300)

1300

os.write(fd, " " * 1300)

1300

os.write(fd, " " * 1300)...

414ebaf1 04/21/2011 04:08 pm Michael Hanselmann

RAPI: Add support for tagging node groups

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

819cbfe5 04/21/2011 04:08 pm Michael Hanselmann

gnt-group: Add commands for tagging groups

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

1ffd2673 04/21/2011 04:08 pm Michael Hanselmann

masterd: Add support for tagging node groups

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

dadf6b7d 04/21/2011 03:41 pm Michael Hanselmann

cli: Fix wrong argument kind for groups

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

0f7098f3 04/20/2011 04:54 pm Apollon Oikonomopoulos

TLMigrateInstance: remove 10s sleeps

TLMigrateInstance._ExecMigration contains two 10-second sleeps between
individual migration steps.

Apart from prolonging the migration duration by 20s, the second sleep
causes FinalizeMigration to be called 10 seconds after the real...

97b40f39 04/20/2011 03:37 pm Michael Hanselmann

Fix typo in LUGroupAssignNodes

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

5c097318 04/20/2011 02:54 pm Iustin Pop

gnt-instance info: automatically request locking

Commit dae661a4 added support for controlling the locking, but it
didn't modify the gnt-instance info code, which leads to this command
always showing:

Wed Apr 20 04:10:48 2011 - WARNING: Non-static data requested, locks...

675e2bf5 04/19/2011 07:41 pm Iustin Pop

Fix master IP activation in failover with no-voting

Thanks to for reporting this. The logic in
masterd.CheckMasterd did an early return in case of no_voting, hence
skipping the master IP activation. We just change the ifs to not
return but simply continue through the function....

6e7f0cd9 04/19/2011 06:41 pm Iustin Pop

disk wiping: fix bug in chunk size computation

The current wipe_chunk_size computation is doing min(int_value,
float_value). For small disks (below 10GiB), the actual formula will
result into the float value being chosen. This results into very
interesting behaviour:...

1b1a08e8 04/19/2011 03:56 pm Michael Hanselmann

gnt-group list: Query filter support

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

2afd577f 04/19/2011 03:56 pm Michael Hanselmann

gnt-node list: Query filter support

Update manpage, quote field names.

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

87e87959 04/19/2011 03:54 pm Michael Hanselmann

gnt-instance list: Query filter support

Update manpage, quote field names.

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

a0aa6b49 04/19/2011 03:38 pm Michael Hanselmann

Fix bug in watcher

If “utils.RunParts” were to raise an exception, a log message was
written and the code continued to run. Due to the exception the
“results” variable would not be defined.

Also change the code to log a backtrace (getting an exception is rather...

2928de47 04/18/2011 06:55 pm Michael Hanselmann

cli: Add support for parsing query filters

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

442587bf 04/18/2011 06:55 pm Michael Hanselmann

cli: Add option to force names to be treated as filter

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

b107fe05 04/18/2011 06:55 pm Michael Hanselmann

opcodes: Change parameter type definition for query filter

The old definition wouldn't accept integers.

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

cb1e6c3c 04/18/2011 06:55 pm Michael Hanselmann

cli: Error reporting for query filter parsing

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

3f2f55bb 04/18/2011 06:55 pm Michael Hanselmann

qlang: Add function to distinguish filters from names

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

7578ab0a 04/18/2011 06:55 pm Michael Hanselmann

qlang: Add parser for query filter language

With this parser, command line utilities will be able to provide filters
through query2 in a simplistic language. Example filters:

name  "node3.example.com" 
master or (name "node4.example.com")
be/memory == 128 and name =~ /^web/i...
7c670076 04/18/2011 11:56 am Michael Hanselmann

Add instance query field for OS parameters

These were not available as a query field before. Update unittests
and description text for the other “..params” fields.

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

4a2c0db0 04/14/2011 01:33 pm Michael Hanselmann

Release locks before wiping disks during instance creation

Ganeti 2.3 introduced an optional feature to overwrite an instance's
disks on creation. Unfortunately the code kept all locks while doing the
wipe, slowing down the creation of multiple instances in parallel....

e8f472d1 04/14/2011 11:37 am Iustin Pop

Fix shared_file_storage_dir on upgrades

If the cluster was upgraded from 2.4 or earlier, this key won't exist
(it's only set to a correct value on cluster init), so we need to
properly set it to a null string (disabled).

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

2afc9238 04/14/2011 11:36 am Iustin Pop

Prevent ssconf values from having non-string values

For whatever reason, my test cluster managed to acquire
shared_file_storage_dir with a None value, instead of empty
string. This is not flagged in masterd itself, but the node daemon
will fail in writing the value to disk, as it calls len() on the...

ccfa86ba 04/13/2011 02:22 pm Michael Hanselmann

cli: Replace hardcoded strings with constants

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

a9d68e40 04/13/2011 01:01 pm Michael Hanselmann

utils.WriteFile: Close file before renaming

Issue 154 (http://code.google.com/p/ganeti/issues/detail?id=154)
reported an “Operation not supported” error when writing instance
exports to a mounted CIFS filesystem. Experimentation showed the error
to only occur when using rename(2) on an opened file. Various references...

accbf5e3 04/13/2011 01:01 pm Michael Hanselmann

Nicer formatting for group query error

Before this patc the message would look like “Some groups do not exist:
[u'foo', u'bar']”, now it's “Some groups do not exist: foo, bar”.

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

af7b6689 04/07/2011 01:24 pm Michael Hanselmann

Merge branch 'devel-2.4'

  • devel-2.4:
    LUInstanceQueryData: Don't acquire locks unless requested
    Increase the lock timeouts before we block-acquire
    daemon.py: move startup log message before prep_fn
    Display the actual memory values in N+1 failures...
76ae1d65 04/07/2011 12:46 pm Michael Hanselmann

Merge branch 'stable-2.4' into devel-2.4

  • stable-2.4:
    Add error checking and merging for cluster params
    Clarify --force-join parameter message
    Treat empty oob_program param as default
    Fix bug in instance listing with orphan instances
    Fix bug related to log opening failures...
dae661a4 04/06/2011 07:47 pm Michael Hanselmann

LUInstanceQueryData: Don't acquire locks unless requested

Until now LUInstanceQueryData always acquired locks for the instance(s)
and nodes involved. In combination with long-running operations this
prevented the use of “gnt-instance info”, even with the “--static”...

e9c487be 04/06/2011 04:03 pm René Nussbaumer

gnt-instance migrate: Adding --allow-failover option

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

d5cafd31 04/06/2011 04:03 pm René Nussbaumer

TLMigrateInstance: Merge failover code, allow fallback

As the code for failover for checking is almost identical it's an easy
task to switch it over to the TLMigrateInstance. This allows us to
fallback to failover if migrate fails prereq check for some reason....

d385a174 04/06/2011 03:49 pm Iustin Pop

Increase the lock timeouts before we block-acquire

This has been observed to cause problems on real clusters via the
following mechanism:

- a long job (e.g. a replace-disks) is keeping an exclusive lock on an
instance
- the watcher starts and submits its query instances opcode which...

bbfed756 04/06/2011 02:05 pm Michael Hanselmann

utils: Add function generating regex for DNS name globbing

The intent of this function is to be able to provide a globbing operator
or query filters. One should be able to say, for example, something to
the effect of “gnt-instance shutdown '*.site'”.

Also rename a variable in MatchNameComponent....

aef59ae7 04/06/2011 01:37 pm Michael Hanselmann

Verify file consistency using centrally computed list

Until now “gnt-cluster verify” (LUClusterVerify) would compute its own
list of files to check for consistency. This list was not complete and
certain inconsistencies were missed.

With this patch the code is changed to use the list of files used by...

5643d67e 04/06/2011 01:37 pm Michael Hanselmann

cmdlib: Factorize computation of ancillary files

… and change the logic in _RedistributeAncillaryFiles. The virtually
same list of files will be used to verify the files' consistency.

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

bc385fa0 04/05/2011 03:20 pm Michael Hanselmann

qlang: Remove OP_GLOB operator

It'll be implemented using OP_REGEXP by the parser.

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

23d0a608 04/05/2011 03:20 pm Michael Hanselmann

query: Add implementation of regex match operator

So far this operator was not implemented. This patch adds an additional
value preparation function to the function table for binary operators,
used to compile the regular expression. Unittests are included....

a7761c12 04/04/2011 07:30 pm Michael Hanselmann

cmdlib: Fix mistake made in commit 75c7520f0

Commit 75c7520f0 used the wrong constant. I double-checked all other
changes made in the commit.

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

75c7520f 04/04/2011 05:59 pm Michael Hanselmann

cmdlib: Replace hardcoded values with constants

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

fe295df3 04/04/2011 02:47 pm Iustin Pop

daemon.py: move startup log message before prep_fn

Before this, the output in the rapi daemon log was:
2011-04-04 03:09:51,026: ganeti-rapi pid=17447 INFO Reading users file
at /var/lib/ganeti/rapi/users
2011-04-04 03:09:51,027: ganeti-rapi pid=17447 INFO ganeti-rapi daemon...

0942620b 04/04/2011 02:47 pm Iustin Pop

Display the actual memory values in N+1 failures

This changes the display from:
Mon Apr 4 02:29:46 2011 * Verifying N+1 Memory redundancy
Mon Apr 4 02:29:46 2011 - ERROR: node node2: not enough memory to
accomodate instance failovers should node node1 fail...

7fa310f6 04/01/2011 04:42 pm René Nussbaumer

RAPI: Convert instance shutdown to the new FillOpCode

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

ebcd61bb 03/31/2011 07:47 pm Iustin Pop

ssh.VerifyNodeHostname: remove the quiet flag

This is not needed for this function, and can interfere with debugging
of ssh failures.

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

c7d3a832 03/31/2011 07:24 pm Iustin Pop

Add a simple wrapper over utils.Retry

The new wrapper makes moving legacy code to utils.Retry or adding
retries in existing code simpler.

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

d1e9c98d 03/31/2011 04:53 pm Iustin Pop

Automatically enable hail if enabled and found

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

e5395072 03/31/2011 04:53 pm Iustin Pop

Expose whether htools was enabled to Python code

This exports whether htools was enabled at configure-time, and adds a
constant for our reference iallocator.

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

d6491981 03/31/2011 12:44 pm René Nussbaumer

test.ganeti.process_unittest: Fix race condition

There was a race condition on heavily loaded testsystem causing randomly
to fail the timeout unittests as the signal handler is not yet setup but
the timeout has already hit.

Therefore we introduce a workaround to wait until a program reached a...

9a8ae794 03/30/2011 02:51 pm Michael Hanselmann

RAPI client: Remove support for version 0 instance creation requests

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

3fd7f652 03/30/2011 02:51 pm Michael Hanselmann

RAPI server: Drop support for instance creation format 0

Ganeti 2.1.3, released in June 2010, added support for a new, extensible
instance creation request format, called version 1. This patch removes
support for the old and undocumented version 0 format....

d914c76f 03/29/2011 06:23 pm Simeon Miteff

Improved GanetiRapiClient docstrings

- Added @rtype and/or @return where missing
- Fixed @param for Query() filter_ parameter (colon was missing)

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

e9f7d26a 03/28/2011 12:49 pm René Nussbaumer

Relax instance ERROR on admin_down on offline node

This fixes a issue, where an stopped instances is reported as ERROR
in cluster verify if it lives on a offline node. As the instances is
down this shouldn't happen.

Signed-off-by: René Nussbaumer <>...

6a373640 03/25/2011 03:53 pm Michael Hanselmann

Implement submitting jobs from logical units

The design details can be seen in the design document
(doc/design-lu-generated-jobs.rst).

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

604c175c 03/24/2011 06:17 pm Iustin Pop

watcher: improve logging a bit

Add some debug logging to detail why we don't run some steps.

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

d1b47b16 03/24/2011 02:49 pm Michael Hanselmann

Fix output for “gnt-job info”

If the result of an opcode was a non-empty dictionary, it
would be impossible to differenciate between input and result:

Input fields:
[…]
debug_level: 0
fields: cluster_name,master_node,volume_group_name
jobs: [[True, u'37922'], [True, u'37923'], [True, u'37924']]...
0d2bf835 03/24/2011 10:29 am René Nussbaumer

Rewrite of ensure-dirs in python

I provided unittest to test the important pieces of the infrastructure.
The one remaining function (ResuriveEnsure) is not easy to unittest
but also not critical if it fails to operate correctly.

Signed-off-by: René Nussbaumer <>...

98ed5092 03/23/2011 06:17 pm Michael Hanselmann

Add opcode summary to SubmitManyJobs errors

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

dde0e97c 03/18/2011 04:54 pm Michael Hanselmann

RAPI client: Tidy and test WaitForJobCompletion

- Use constants
- Don't sleep if no delay is given
- Mark function as deprecated: it uses polling instead of waiting for changes
(but the latter needs authentication); it can still be used
- Add unittests...