Statistics
| Branch: | Tag: | Revision:

root / lib @ b44b0141

# Date Author Comment
b44b0141 02/10/2010 03:54 pm Michael Hanselmann

Fix bug introduced in commit 413b747

While commit 413b747 fixed the issue of poll(2) returning too
soon, it didn't work when the poll(2) call should've been
blocking. This is now fixed and verified.

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

413b7472 02/10/2010 02:49 pm Michael Hanselmann

Fix locking bug causing high CPU usage

Iustin Pop noticed unusually high CPU usage with 2.1's master
daemon, even with very simple opcodes like OP_TEST_DELAY. As
it turns out, we inadvertently passed seconds as milliseconds
to a call to poll(2). Due to the way the loop around the call...

94a1b377 02/08/2010 01:35 pm Michael Hanselmann

TLReplaceDisks: Delay iallocator when evacuating node

When evacuating nodes, the iallocator was run for all
instances without taking planned changes into consideration.
This patch delays part of CheckPrereq and running the
iallocator for node evacuation....

4a0e011f 02/03/2010 07:04 pm Iustin Pop

Implement debug level across OS-related RPC calls

This doesn't implement the full functionality, we need to add the debug
level to the opcodes too, but at least won't require changing the RPC
calls during the 2.1 series.

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

dd9e9f9c 02/03/2010 03:55 pm Michael Hanselmann

Second try to fix LUVerifyCluster

My previous patch, commit 785d142, fixed the case where a node is marked
offline. With this patch it'll also handle other failures correctly.

  • Hooks Results
    - ERROR: node node2.example.com: Communication failure in hooks...
785d142e 02/03/2010 03:01 pm Michael Hanselmann

LUVerifyCluster: Fix bug with offline nodes

[…] * Other Notes
- NOTICE: 1 offline node(s) found. * Hooks Results
Failure: command execution error:
iteration over non-sequence

Commit a0c9776a introduced an error simulation mode to LUVerifyCluster.
Due to a small mistake, offline nodes weren't skipped when checking the...

26751075 02/03/2010 03:01 pm Michael Hanselmann

utils: Fix retry delay calculator

Before this patch, it would always sleep for at least
the time specified as the upper limit. Now it actually
limits the sleep time.

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

72456eb2 02/01/2010 04:55 pm Michael Hanselmann

Bump RPC protocol version to 30

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

0183a697 01/29/2010 01:58 pm Alessandro Cincaglini

Fix missing bridge for xen instances

Xen instances nic definitions miss the target bridge.

This bug was introduced in commit 503b97a9.

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

cea0534a 01/28/2010 04:46 pm Guido Trotter

Fix flipping MC flag bug

Currently unofflining or undraining an already functional master
candidate node, can cause it to demote itself. In order to avoid that we
only trigger the self-promotion check if the node is not currently a
candidate.

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

e4dd2299 01/22/2010 03:45 pm Guido Trotter

KVM: fix pylint warning

Specify string format arguments as logging function parameters

Signed-off-by: Guido Trotter <>

c4e388a5 01/22/2010 03:05 pm Guido Trotter

KVM: be more resilient on broken migration answers

Before, when doing kvm live migrations we use to accept an "unknown
status" but to reject anything that didn't match our regexp. Since we've
seen "info migrate" return a completely empty answer, we'll be more...

ec39d63c 01/20/2010 03:47 pm Michael Hanselmann

cli: Fix bug when not using headers

Commit 9fe72672 added code to not write spaces at the end of each line.
Unfortunately it didn't work properly when not printing headers—there would
still be spaces.

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

db169865 01/14/2010 07:07 pm Guido Trotter

confd client: copy the peers in UpdatePeerList

Since the peer list is shuffled by the client, we don't keep a reference
to the list which was passed in, but copy it internally.

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

e2e92ea0 01/13/2010 06:45 pm Guido Trotter

Generate hmac file with a newline at the end

This makes it slightly easier to cut&paste its content.

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

d2c8afb1 01/13/2010 05:47 pm Michael Hanselmann

jqueue: Don't return negative number for unchecked jobs when archiving

When the queue was empty, the calculation for unchecked jobs while
archiving would return -1. ``last_touched`` is set to 0, the job ID list
(``all_job_ids``) is empty. Calculating ``len(all_job_ids) -...

9fe72672 01/13/2010 03:03 pm Michael Hanselmann

cli.GenerateTable: Don't write EOL spaces

With this change, there won't be unnecessary space characters
at the end of lines.

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

9fa2e150 01/13/2010 03:03 pm Michael Hanselmann

Improve logging for workerpool tasks by providing repr

Before it would log something like “starting task
(<ganeti.http.client._HttpClientPendingRequest object at 0x2aaaad176790>,)”,
which isn't really useful for debugging. Now it'll log “[…]
<ganeti.http.client._HttpClientPendingRequest...

02fc74da 01/13/2010 03:03 pm Michael Hanselmann

workerpool: Simplify log messages

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

d16e6fd9 01/13/2010 03:03 pm Michael Hanselmann

workerpool: Use worker name as thread name

This way it shows up in debug logs.

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

89e2b4d2 01/13/2010 03:02 pm Michael Hanselmann

workerpool: Make worker ID alphanumeric

Having a proper name instead of just a number makes debugging
easier.

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

71e1863e 01/13/2010 03:02 pm Michael Hanselmann

locking: Fix race condition in LockSet

This patch fixes a race condition when acquiring all locks in
a LockSet instance. The list of lock names needs to be sorted
to guarantee a consistent locking order, but the names were not
sorted when acquiring all locks in the set....

4776e022 01/13/2010 03:02 pm Michael Hanselmann

mcpu: Log lock status with sorted names

Reading and comparing sorted lists is easier when debugging locking problems.

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

9b154270 01/13/2010 03:02 pm Michael Hanselmann

locking: Append to list outside error handling block

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

56452af7 01/13/2010 03:02 pm Michael Hanselmann

locking: Don't fail in error handling if lock isn't owned

In case an exception was thrown while acquiring the lock, not necessarily all
owned locks are also really acquired. Before this change, an exception could be
masked by another exception thrown here. There is no good clean-up strategy...

82187135 01/11/2010 02:25 pm René Nussbaumer

Normalize MAC addresses to all lower.

This change will normalize the MAC to all lower after validation.

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

7699c3af 01/05/2010 02:56 pm Iustin Pop

Introduce a Luxi call for GetTags

This changes from submitting jobs to get the tags (in cli scripts) to
queries, which (since the tags query is a cheap one) should be much
faster.

The tags queries are already done without locks (in the generic query
paths for instances/nodes/cluster), so this shouldn't break tags query...

47a72f18 01/05/2010 02:39 pm Iustin Pop

LURenameCluster: run post hook on all nodes

Since the cluster name might be used for various purposes on nodes, we
should let all nodes "know" about a cluster rename by running the post
hook on all nodes. This will make cluster rename slightly
slower/costlier, but it is not/shouldn't be an operation that is run...

30e4e741 01/04/2010 11:20 am Iustin Pop

Fix unused imports or add silences where needed

In some cases pylint doesn't parse the import correctly, so we add
silences; but there are also many cases of unused imports, which we
simply remove.

Signed-off-by: Iustin Pop <>
Reviewed-by: Olivier Tharan <>

527a15ac 01/04/2010 11:17 am Iustin Pop

bdev: Add a TODO and a pylint silence

A piece of old code in bdev.py uses a for loop over a single variable
because we can 'break' out of the loop or exit on the 'else' path. This
is not a nice usage of the for loop, it should be converted to a
standard if...elif...else structure....

2d54e29c 01/04/2010 11:17 am Iustin Pop

Further pylint disables, mostly for Unused args

Many of our functions have to follow a given API, and thus we have to
keep a given signature, but pylint doesn't understand this. Therefore,
we silence this warning.

The patch does a few other cleanups.

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

857121ad 01/04/2010 11:16 am Iustin Pop

LUDiagnoseOS._DiagnoseByOS: remove unused arg

The node_list argument to _DiagnoseByOS is not used, and is obsoleted by
the fact that the rlist argument already has the valid nodes as keys
(assuming RPC behaviour didn't change). Thus, we remove it and silence...

7ed85ffe 01/04/2010 11:16 am Iustin Pop

hv_xen/_GetConfigFileDiskData: remove unused arg

The disk template is not needed, all that's used is the disk data. As
such, remove this parameter from the function.

Signed-off-by: Iustin Pop <>
Reviewed-by: Olivier Tharan <>

45e0d704 01/04/2010 11:16 am Iustin Pop

jqueue/_CheckRpcResult: log the whole operation

Currently only the rpc call, but not its description (which also shows
the argument) is logged. We change this to log failmsg too, and this
also silences a warning.

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

8929d28c 01/04/2010 11:16 am Iustin Pop

Optparse extenders have to obey a given API

So we just silence the warning.

Signed-off-by: Iustin Pop <>
Reviewed-by: Olivier Tharan <>

c19f9810 01/04/2010 11:16 am Iustin Pop

backend._OSOndiskAPIVersion: remove obsolete arg

The 'name' argument is not used anymore, probably since before 2.0.
Since this is an internal function, we can just remove it (from its
caller too).

Signed-off-by: Iustin Pop <>
Reviewed-by: Olivier Tharan <>

e11ddf13 01/04/2010 11:16 am Iustin Pop

pylint cleanups: dangerous initializers

Plus a silence for a wrong "uninitialized var".

Signed-off-by: Iustin Pop <>
Reviewed-by: Olivier Tharan <>

7e950d31 01/04/2010 11:16 am Iustin Pop

Convert to static methods (where appropriate)

Many methods are simple pure functions, and not depending on the object
state. We convert these to staticmethods.

Signed-off-by: Iustin Pop <>
Reviewed-by: Olivier Tharan <>

7260cfbe 01/04/2010 11:15 am Iustin Pop

Add targeted pylint disables

This patch should have only:

- pylint disables
- docstring changes
- whitespace changes

Signed-off-by: Iustin Pop <>
Reviewed-by: Olivier Tharan <>

94fed7da 01/04/2010 11:15 am Iustin Pop

Implement all hv functions in hv_chroot/hv_fake

The chroot and fake hypervisors were missing:

- the powercycle node functionality
- proper handling of migration requests

The powercycle was just used as in the other hypervisors (use the
standard linux powercycle). The migration for chroot was disabled...

bbe4cc16 01/04/2010 11:12 am Iustin Pop

Add some stubs to bdev.FileStorage

This patch adds explicit errors (instead of notimplemented) in
FileStorage (and the associated TODOs).

Signed-off-by: Iustin Pop <>
Reviewed-by: Olivier Tharan <>

6af8a903 01/04/2010 11:11 am Iustin Pop

Fix indentation issues

Signed-off-by: Iustin Pop <>
Reviewed-by: Olivier Tharan <>

be0fc05d 01/04/2010 11:11 am Iustin Pop

Fix two bugs in ConfigWriter._EnsureUUID

Wrong argument name and wrong number of arguments in string formatting.

Signed-off-by: Iustin Pop <>
Reviewed-by: Olivier Tharan <>

5905901c 01/04/2010 11:11 am Iustin Pop

KVM: Abstract/rework instance up checks

This patch abstract the check "is instance stopped" into a separate
function, and thus simplifies a couple of higher-level functions. It
also moves from manual read of the pidfile to use the (correct
abstraction of) _InstancePidAlive....

98ec75d6 01/04/2010 11:10 am Iustin Pop

KVM: Split out the pidfile computation

In some cases we only need the pidfile, but not the pid or the alive
status.

Signed-off-by: Iustin Pop <>
Reviewed-by: Olivier Tharan <>

d1b83918 01/04/2010 11:10 am Iustin Pop

Fix an error message

Detected by an 'Unused variable' warning.

Signed-off-by: Iustin Pop <>
Reviewed-by: Olivier Tharan <>

1122eb25 01/04/2010 11:10 am Iustin Pop

Remove many 'Unused variable' warnings

Note there are some cases left which need extra cleanup.

Signed-off-by: Iustin Pop <>
Reviewed-by: Olivier Tharan <>

07b8a2b5 01/04/2010 10:42 am Iustin Pop

Fix use of the logging functions

The logging functions expand the arguments themselves, thus it's safer
to let them do it rather than manual string formatting.

Also re-wraps one comment.

Signed-off-by: Iustin Pop <>
Reviewed-by: Olivier Tharan <>

d984846d 12/28/2009 02:05 pm Iustin Pop

Merge branch 'devel-2.0' into devel-2.1

  • devel-2.0:
    Fix indentation in hv_kvm
    Implement BuildHooksEnv for NoHooksLU
    Clarifiy some more wide pylint disables
    Fix two bugs in seldom-used codepaths
    Update pylintrc
    Add targetted pylint disables
    Partial cherry-pick of 6c881c5 from the 2.1 branch...
fe267188 12/28/2009 12:43 pm Iustin Pop

Add targetted pylint disables

This patch adds targeted pylint disables, where it makes sense (either
due to limitations in pylint or due to historical usage), and also a few
blanket ones in rapi where all the names are… “different”.

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

4c4b5058 12/28/2009 12:43 pm Iustin Pop

Fix two bugs in seldom-used codepaths

New version of pylint, new bugs found!

Signed-off-by: Iustin Pop <>
Reviewed-by: Olivier Tharan <>

c70d2d9b 12/28/2009 12:43 pm Iustin Pop

Clarifiy some more wide pylint disables

This removes/updates some module-wide pylint disables.

Signed-off-by: Iustin Pop <>
Reviewed-by: Olivier Tharan <>

fc8a6b8f 12/28/2009 12:43 pm Iustin Pop

Implement BuildHooksEnv for NoHooksLU

This just adds a stub function that raises an assertion error; this
accomplishes two things:

- silences many pylint warnings
- if we ever stumble upon this, a specific assertion error is
(hopefully) clearer than just a not implemented error...

146afafb 12/28/2009 12:43 pm Iustin Pop

Fix indentation in hv_kvm

Per pylint warnings.

Signed-off-by: Iustin Pop <>
Reviewed-by: Olivier Tharan <>

caeffaa0 12/28/2009 12:43 pm Iustin Pop

Partial cherry-pick of 6c881c5 from the 2.1 branch

This cherry-picks the utils.FieldSet.Matches changes and the significant
jqueue.py change. These are stable in the 2.1 branch and therefore make
sense to backport to 2.0 (are basically cleanups).

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

1e57442a 12/18/2009 03:01 pm René Nussbaumer

Fix a typo in the doc string

MaybeRaise in lib/errors.py had a typo in the doc string

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

fa05c92d 12/16/2009 04:10 pm Iustin Pop

Merge branch 'stable-2.1' into devel-2.1

  • stable-2.1:
    Bump version to 2.1.0~rc2
    Update NEWS file and release Ganeti 2.0.5
    Security issue: add validation of script names
    Move the hooks file mask into constants.py
    Improve LUQueryNodes for lockless case...
5c0433d6 12/16/2009 04:06 pm Iustin Pop

Merge branch 'stable-2.0' into stable-2.1

  • stable-2.0:
    Update NEWS file and release Ganeti 2.0.5
    Security issue: add validation of script names
    Move the hooks file mask into constants.py
    Improve LUQueryNodes for lockless case
    Ship rapi.rst/rapi.html in the dist archive...
18c8f361 12/16/2009 11:54 am Iustin Pop

CreateInstance: allow no ip check with start mode

Since gnt-instance start doesn't do any checks on the IP, it doesn't
make much sense to do so in instance create (with start) if the user
expressly passes in ‘--no-ip-check’. Removing this requirement eases the...

460d22be 12/16/2009 11:54 am Iustin Pop

Command line/RAPI support for --no-name-check

This patch adds --no-name-check to gnt-instance add and gnt-backup
import. This is opposite to the opcode parameter (name_check) as it is
similar to ip_check and start.

It also adds it to RAPI and gnt-instance batch-create as a parameter in...

5f23e043 12/16/2009 11:54 am Iustin Pop

Op/LUCreateInstance support for (no) name checks

This adds a new opcode parameter ‘name_check’ (similar to ip_check) that
is not required to be present (to easy backwards compatibility for
tools).

It also adds a CheckArguments to LUCreateInstance and changes the...

8b2df5f6 12/16/2009 11:47 am Iustin Pop

Pass --fqdn to ssh hostname checks

The cluster verify checks for fqdn are done via address lookups, and
there we actually use the FQDN. However, for the ssh hostname check
which is done at node add time, we rely on the default of the “hostname”
command. And Debian for example recently changed the default to return...

4fe80ef2 12/14/2009 05:36 pm Iustin Pop

Move the hooks file mask into constants.py

This will allow reuse of the same mask for multiple validations.

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

f95c81bf 12/14/2009 05:36 pm Iustin Pop

Security issue: add validation of script names

This patch unifies the search for external script to always go through
utils.FindFile and implements in that function a restriction on valid
chars in file names and (additionally) that the passed name is the...

4dfd6266 12/14/2009 05:34 pm Iustin Pop

Improve LUQueryNodes for lockless case

In most uses of LUQueryNodes, we don't take a lock. This means that the
instance data is not protected across GetInstanceList and
GetInstanceInfo, and this can lead to instances not existing anymore.

Switching to GetAllInstanceInfo means that we get a single,...

19572932 12/10/2009 04:45 pm Iustin Pop

Add disk cache control parameter for KVM

This patch adds the 'cache' parameter for KVM; currently this is only
customisable at the hypervisor level, so it's the same for all drives
(except any CDROM image, which gets the default).

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

ad54f3d2 12/10/2009 03:53 pm Guido Trotter

Change pyinotify import for broader compatibility

On some distributions pyinotify is installed in a different way, and the
actual module just contains an internal pyinotify entry, which is the
actual library. On others the main pyinotify module contains the library...

43dc8496 12/02/2009 04:01 pm Guido Trotter

ClusterMasterQuery: add primary ip field

By allowing also the primary ip field to be fetched directly, we avoid
one more confd lookup, or dns request, to find out which address the
master node lives at.

Signed-off-by: Guido Trotter <>

250554a9 12/02/2009 03:08 pm Guido Trotter

confd ClusterMasterQuery: allow fields request

Change the ClusterMasterQuery to allow a query, and if present accept a
list of fields to be returned. Currently only name and ip are accepted.

This feature will be used by NLD to route the cluster ip over the nbma....

310fbb64 12/01/2009 12:49 pm Iustin Pop

DRBD: ignore unreadable meta devices

The DRBD driver can ignore dead disks but not dead meta devices (for
which it refuses to configure the minor). To handle this case, we check
that the meta device is readable and if not we ignore it (the same as
when backend._RecursiveAssembleBD didn't find it)....

016308cb 12/01/2009 12:49 pm Iustin Pop

Simplify utils.ReadFile

The documentation for file objects' read method states that if the size
is "negative or ommitted", all data is read; thus we can simplify it to
have size=-1 by default and not have the if test.

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

313b2dd4 11/30/2009 04:34 pm Michael Hanselmann

gnt-cluster verify: Warn if node time diverges too far

The warning will be generated if the clocks diverge by more
than 150 seconds. Due to the way the RPC system works, we
cannot get exact time differences, e.g. if one of the
queried nodes is broken. The comparision is done using a...

94c2ed34 11/26/2009 07:28 pm Guido Trotter

KVM: fail when a routed nic has no ip

This shouldn't happen, but if it does it's better to fail at this level,
rather than create a broken NIC script, which is hard to debug.

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

5bc556dd 11/26/2009 05:29 pm Michael Hanselmann

cmdlib: Work around race condition in DRBD before version 8.0.13

DRBD goes into sync mode for a short amount of time after
executing the "resize" command. DRBD 8.x below version
8.0.13 contains a bug whereby calling "resize" in sync
mode fails.

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

1f864b60 11/25/2009 04:30 pm Iustin Pop

Remove quotes from CommaJoin and convert to it

This patch removes the quotes from CommaJoin and converts most of the
callers (that I could find) to it. Since CommaJoin does str(i) for i in
param, we can remove these, thus simplifying slightly a few calls....

82e186f8 11/25/2009 02:08 pm Michael Hanselmann

Re-add “nic.bridges” field to RAPI bulk instance list

Commit 495cfdf0 removed “nic.bridges” from the default
list for bulk instance list RAPI requests.

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

ab3e6da8 11/25/2009 01:45 pm Iustin Pop

Revert "Get rid of utils.CommaJoin"

This reverts commit 6915bc28fe053e92aa16cf2d974d205f1140219c based on thread on
ganeti-devel.

Conflicts:

lib/cmdlib.py (due to the error code classification, trivial)

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

8d0a4f99 11/25/2009 01:08 pm Michael Hanselmann

Add check for OpenSSL entropy status

By checking for this explicitly, the errors (SSLEAY_RAND_BYTES, “PRNG
not seeded”) will happen in the start-up phase of the daemon and not
only when executing remote procedure calls.

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

a426508d 11/20/2009 01:44 pm Michael Hanselmann

Handle EEXIST in utils.RenameFile

This should fix an issue I've seen exactly once during testing. It might have
been caused by parallel RPC calls to archive jobs.

[…] ganeti-noded:112 ERROR Error in RPC call […]
File "/usr/lib/python2.4/site-packages/ganeti/backend.py", line 2365, in JobQueueRename...

b6c07b79 11/20/2009 01:43 pm Michael Hanselmann

Remove unused parameter “unlock” from cmdlib._WaitForSync

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

21bcb9aa 11/16/2009 06:52 pm Michael Hanselmann

Fix off-by-one error when modifying instance NIC

For an instance with exactly one NIC:

$ gnt-instance modify --net 1:ip=1.2.3.4 inst1
Failure: prerequisites not met for this operation:
error type: wrong_input, error details:
Invalid NIC index 1, valid values are 0 to 1...

b8716596 11/16/2009 03:58 pm Michael Hanselmann

Re-add check for duplicate instance IP

This was originally implemented in 0ce8f948 and partially
rolled back in 9b65e0d4. Apart from re-adding the check,
this patch does some housekeeping by renaming the “_helper”
function to “_AddIpAddress”.

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

8d9c3bef 11/13/2009 06:00 pm Michael Hanselmann

config: Style fixes

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

9044275a 11/13/2009 05:59 pm Michael Hanselmann

Fix epydoc error

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

90b704a1 11/13/2009 02:07 pm Guido Trotter

Fix change of cluster nic parameters

To stay on the safe side, we check for errors in all instances, and
refuse to act, reporting on the errors we found, if there are any
problems.

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

beabf067 11/12/2009 07:29 pm Guido Trotter

Fix mispopulation of nic parameters at nic modify

There's a bug in Ganeti 2.1 rc0 that makes nic parameters be populated
from the "filled in" dict, even if we're not changing any values in
them. This patch fixes the problem, by populating them from the correct...

0c9d32c1 11/12/2009 07:29 pm Guido Trotter

NIC.CheckParameterSyntax: fix bridged check

We should match for the strings to be the same "==" not to point to the
same memory location with is, or we skip the actual check.

Signed-off-by: Guido Trotter <>

fe5b0c42 11/11/2009 03:30 pm Michael Hanselmann

Fix and simplify socat escape detection

- Program paths should not be --with-… options (see
Autoconf docs)
- Simplify checks for escape functionality
- Make SOCAT_USE_ESCAPE variable a bool

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

7e1fac25 11/11/2009 03:30 pm Michael Hanselmann

Use “daemon-util” to reload SSH keys

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

88df4f39 11/10/2009 04:59 pm Guido Trotter

KVMHypervisor: fix broken error format string

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

4fae38c5 11/06/2009 05:36 pm Guido Trotter

ConfigWriter: move _temporary_ids to reservation

In order to do this we need to pass a job id when reserving a resource.
We have one during _EnsureUUIDs because we passed it in from AddNode and
AddInstance. During config upgrade we use a fake job ID which we then...

36b66e6e 11/06/2009 05:36 pm Guido Trotter

ConfigWriter: move _temporary_macs to reservation

This solves the race conditions in mac reservation, as macs are actually
reserved, under the current ec id.

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

afa1386e 11/06/2009 05:36 pm Guido Trotter

ConfigWriter: simplify GenerateDRBDSecret

We can do this by adding a new TemporaryReservationManager

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

013da361 11/06/2009 05:36 pm Guido Trotter

TemporaryReservationManager

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

2c8a5690 11/06/2009 04:08 pm Guido Trotter

Add errors.ReservationError

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

664fbc9d 11/06/2009 04:08 pm Guido Trotter

Remove exceptions list from GenerateUniqueID

It's not used anywhere, so it's dead code.

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

adfa97e3 11/06/2009 04:08 pm Guido Trotter

Processor: support a unique execution id

When the processor is executing a job, it can export the execution id to
its callers. This is not supported for Queries, as they're not executed
in a job.

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

73064714 11/06/2009 04:08 pm Guido Trotter

Add config.DropECReservations

For now this function does nothing, but it gets called by mcpu when the
execution of an LU is done, making sure any pending reservations are
dropped.

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

0debfb35 11/06/2009 04:08 pm Guido Trotter

config.Add{Node,Instance}: get the ec id

This is ok because adding a node or instance cannot happen in a query.

We get the ec id from the LU and pass it to _EnsureUUID, which will
then for now not use it.

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

6c881c52 11/06/2009 03:48 pm Iustin Pop

Fix pylint 'E' (error) codes

This patch adds some silences and tweaks the code slightly so that
“pylint --rcfile pylintrc -e ganeti” doesn't give any errors.

The biggest change is in jqueue.py, the move of _RequireOpenQueue out of
the JobQueue class. Since that is actually a function and not a method...