Statistics
| Branch: | Tag: | Revision:

root @ 6873a52a

# Date Author Comment
6873a52a 03/10/2010 04:02 pm Michael Hanselmann

http.auth: Disable pylint warnings

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

81196341 03/10/2010 03:56 pm Iustin Pop

Implement verify checks for node/instance names

Since we index the nodes and instances by their name, we should have
checks that the dict key to object.name mapping is correct.

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

44db3a6f 03/10/2010 02:15 pm Iustin Pop

Fix a python 2.6.5 compatibility

The upcoming python 2.6.5 release has a change that makes delattr(obj,
attr) fail for slots-enabled objects if the attr is not already set.

To prevent against this, we only run the delattr if the attribute is
already set....

ac620f3a 03/10/2010 02:09 pm Guido Trotter

Document boot_order syntax for kvm

The gnt-instance manpage only contained the correct syntax for xen-pvm.
Specify what the kvm syntax is, and also warn about a problem with
virtio+netboot, for older kvm versions.

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

84e0863d 03/10/2010 02:09 pm Guido Trotter

KVM: Remove boot restriction for paravirtual nics

Newer virtio can boot from the network perfectly well, so there's no
point in keeping this restriction in place. This will still fail on
older kernels.

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

c6a39fc2 03/10/2010 02:09 pm Guido Trotter

KVM: pass the instance name as the first kvm flag

This makes it the first argument show, for example under "ps".

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

ab2e463a 03/10/2010 12:18 pm Michael Hanselmann

Update documentation for hashed passwords

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

d44ea6a3 03/10/2010 12:18 pm Michael Hanselmann

http.server: Improve request logging in debug mode

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

a8950eb7 03/10/2010 12:17 pm Michael Hanselmann

Provide unittests for http.auth

To simplify writing unittests, one data structure class in http.server is
also changed. According to the coverage utility, this provides 95%
coverage.

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

23ccba04 03/10/2010 12:17 pm Michael Hanselmann

http.auth: Fix bug with checking hashed passwords

When username and password were sent for a resource not requiring
authentication, it wouldn't be accepted if the user in question had a
hashed password. The reason was that the function GetAuthRealm used to...

e721c742 03/09/2010 07:21 pm Guido Trotter

Clarify cluster nic parameters in install.rst

There were a few outdated options specified there. This patch unifies
the description under only one section, and updates it.

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

4c61d894 03/09/2010 06:07 pm Iustin Pop

Add the auto_promote option to cli and gnt-node

This allows one to cleanly set a node offline and promote as needed
other nodes.

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

601908d0 03/09/2010 06:07 pm Iustin Pop

Rework the node modify for mc-demotion

The current code in LUSetNodeParms regarding the demotion from master
candidate role is complicated and duplicates the code in ConfigWriter,
where such decisions should be made. Furthermore, we still cannot demote
nodes (not even with force), if other regular nodes exist....

89e5ab02 03/09/2010 06:03 pm Iustin Pop

Fix node volumes list for stripped volumes

Currently backend.NodeVolumes() drops everything except the first PV,
thus we get a truncated result. The patch is not the nicest, as Python
doesn't have a simple `concat' function, so I had to change the list
comprehension to an explicit loop....

6d7b472a 03/09/2010 04:56 pm Iustin Pop

Fix typo that makes cluster verify to ignore hooks

The return from LUVerifyCluster should be True (or equivalent) for pass,
and False (or equivalent) for fail. The HooksCallBack function uses '1'
(= True) when a hook fails, which is exactly the opposite of what we...

6819dc49 03/09/2010 03:27 pm Iustin Pop

Fix redistribute config and offline nodes

We need to manually filter out offline nodes before using
rpc.call_upload_file and rpc.call_write_ssconf_files, since these method
are static (they work without a ConfigWriter instance) and thus do not
know which nodes are offline and which are not)....

c56f51ef 03/09/2010 02:27 pm René Nussbaumer

Adding documentation for “gnt-os modify”

This finishes the integration of per-os-hypervisor parameters by updating
the man page.

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

429ae766 03/09/2010 02:27 pm René Nussbaumer

Add “gnt-os modify” for per-os-hypervisor parameters

Introduce “gnt-os modify” command to make it possible to set the
per-os-hypervisor parameters.

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

664a9d73 03/09/2010 02:27 pm René Nussbaumer

Show per-os-hypervisor parameters in “gnt-cluster info”

Let gnt-cluster info show us the per-os-hypervisor parameters.

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

17463d22 03/09/2010 02:27 pm René Nussbaumer

Add support for per-os-hypervisor parameters

This patch implements all modifications to support per-os-hypervisor
parameters in the framework.

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

f9faf9c3 03/09/2010 02:27 pm René Nussbaumer

cli: Add ArgOs for later use in gnt-os

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

760570a8 03/08/2010 05:50 pm Timothy Kuhlman

KVM: Fix unintended qemu-level bridging of nics

Each nic should be connected to its own qemu vlan, to avoid them all
bridging together.

Signed-off-by: Timothy Kuhlman <>
Reviewed-by: Guido Trotter <>
Signed-off-by: Guido Trotter <>...

b4478d34 03/08/2010 05:15 pm Michael Hanselmann

Support passing in file object in utils.FileLock

This way we can re-use file objects opened in other places. Also add more
unittests.

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

bdefe5dd 03/08/2010 05:15 pm Michael Hanselmann

Support arguments in utils.RunInSeparateProcess

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

cc4c9b91 03/08/2010 05:15 pm Michael Hanselmann

Convert utils.FileLock to utils.Retry

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

44caf5a8 03/08/2010 03:53 pm Iustin Pop

Validate the hostnames at creation time

This patch adds validation of new names used, i.e. at cluster init time,
node add time, and instance creation.

For instances, especially when using «--no-name-check» (which skips DNS
checks), we should validate the give name, and also normalize it...

26288e68 03/08/2010 03:53 pm Iustin Pop

Add a function to validate and normalize hostnames

This differs slightly from the specification, by allowing names to start
with digits, not checking the length of individual components, and
allowing underscores.

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

04a69a18 03/08/2010 03:53 pm Iustin Pop

ListVisibleFiles: require normalized path names

This patch changes ListVisibleFiles to raise ProgrammerError if it's
passed a non-absolute/non-normalized path name, and adds unittests for
this behaviour.

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

0411c011 03/08/2010 03:52 pm Iustin Pop

Switch more code to PathJoin

This should remove most of the remaining constructs which can be
replaced by PathJoin.

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

e51db2a6 03/08/2010 03:52 pm Iustin Pop

Add caller-validation on Disk.StaticDevPath

Since in objects we don't have access to utils.py, we add a warning that
the result value from objects.Disk.StaticDevPath might not be a valid
path, and change its only caller to validate the path.

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

30786fc9 03/08/2010 03:52 pm Iustin Pop

hv_kvm: remove hard-coded path constructs

This switches hv_kvm to PathJoin. There are still a few cases of direct
path construction, but those should be safe.

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

3b80eb2c 03/08/2010 03:51 pm Iustin Pop

hv_fake: remove hard-coded path constructs

This changes to hv_fake to PathJoin.

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

6b0391b3 03/08/2010 03:51 pm Iustin Pop

hv_chroot: remove hard-coded path constructs

This patch abstract the computation of an instance's root directory into
a separate function (that uses PathJoin instead of "%s/%s").

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

6136f8f0 03/08/2010 03:49 pm Iustin Pop

Add strict name validation for the LVM backend

Currently we don't enforce name validation for the LVM backend, on the
idea that LVM itself will reject invalid names and we catch those
errors.

However, recent LVM documents the accepted VG/LV name space, so it's...

cb7c0198 03/08/2010 03:49 pm Iustin Pop

Implement disabling of file-based storage

Rationale: the file-based storage backend can add/remove files under a
certain directory. However, the master node is also controlling the
setting of the file-based root directory, so basically it means we can't
prevent arbitrary modifications by the master of the node's filesystem....

e02b9114 03/08/2010 03:48 pm Iustin Pop

Replace os.path.sep.join(seq) with utils.PathJoin

This is a no-op change, but at least we concentrate the calls to path
joins into a single function.

A use in utils.FindFile is left as-is (don't want to raise exceptions
there, at least for now).

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

81a3406c 03/08/2010 03:48 pm Iustin Pop

Abstract OS log names computation

The various OS operations create log files in a specific directory
(constants.LOG_OS_DIR). The construction of the log names is however
spread and duplicated across multiple functions.

This patch abstracts this into a separate function that also validates...

a9b7e346 03/08/2010 03:48 pm Iustin Pop

Remove superfluous warnings in HooksRunner

For non-existing hooks (the majority of cases probably), logging a
warning every time is not helpful. So we first check if we have a valid
directory.

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

c4feafe8 03/08/2010 03:48 pm Iustin Pop

Switch from os.path.join to utils.PathJoin

This passes a full burnin with lots of instances, and should be safe as
we mostly to join a known root (various constants) to a run-time
variable.

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

4bb678e9 03/08/2010 03:46 pm Iustin Pop

utils: Add a PathJoin function

This will replace os.path.join since it is not safe for directory
traversal issues.

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

714ea7ca 03/08/2010 03:46 pm Iustin Pop

Add an extra safety layer to _CleanDirectory

In order to protect from accidental use of _CleanDirectory on a random
directory, we add a list of allowed clean directories, somewhat similar
to _ALLOWED_UPLOAD_FILES (but statically computed).

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

e8022bef 03/02/2010 05:56 pm Vitaly Kuznetsov

Avoid absolute path for privileged commands

Using absolute path for a privileged command is a bad idea as this path may vary.
For example /usr/sbin/brctl in Debian and /sbin/brctl in ALTLinux. Using $PATH is
a better idea.

Signed-off-by: Vitaly Kuznetsov <>...

b9a6d720 03/02/2010 05:55 pm Iustin Pop

Merge branch 'stable-2.1' into devel-2.1

  • stable-2.1:
    Make stable release 2.1.0

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

e0cc34e9 03/02/2010 12:34 pm Iustin Pop

Make stable release 2.1.0

It is about time (rc0 was almost four months ago)…

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

001b3825 02/26/2010 07:42 pm Michael Hanselmann

watcher: Acquire lock early and give more friendly message

By opening the lock file early, other programs can lock the
state file to prevent ganeti-watcher from restarting daemons.
Using the pause feature is inherently prone to race conditions.

Before a traceback was logged when the lock file couldn't...

553bd93f 02/26/2010 04:35 pm Vitaly Kuznetsov

Make SSH_CONFIG_DIR customizable

This patch adds ability to customize ssh config directory with --with-ssh-config-dir
(instead of hardcoded /etc/ssh value). This is useful in Linux distributions with
custom ssh config directories (/etc/openssh in ALTLinux, for example)....

467c1078 02/26/2010 04:23 pm Guido Trotter

Merge branch 'stable-2.1' into devel-2.1

  • stable-2.1:
    Add NLD constants to Ganeti
    Fix two potentially endless loops in http library
    Fix bug in LUQueryConfigValues
    Fix typo in LUVerifyCluster when checking node time

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

4d32feba 02/26/2010 04:00 pm Guido Trotter

Add NLD constants to Ganeti

This avoids the need for them to be injected in the nbma repository.

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

3f1cf151 02/26/2010 03:43 pm René Nussbaumer

Make pylint happy

I was using a too old version which doesn't got all those. This
patch is fixing the new lint errors.

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

7b8f3fcd 02/26/2010 03:37 pm Michael Hanselmann

Merge remote branch 'origin/devel-2.0' into devel-2.1

  • origin/devel-2.0:
    Fix two potentially endless loops in http library
    Update NEWS file and bump version to 2.0.6
    ganeti-cleaner: does 'echo 0' instead of 'exit 0'

Conflicts:
NEWS: Trivial
configure.ac: Trivial...

40a09ee1 02/26/2010 03:36 pm Michael Hanselmann

Fix two potentially endless loops in http library

The first can be problematic if poll(2) returns POLLHUP|POLLERR on a
socket. Before it would be only be respected for SOCKOP_RECV, but since
they can also occur on other socket operations, esp. in combination with...

2826b361 02/26/2010 03:20 pm Guido Trotter

Move watcher's EnsureDaemon function to utils

This is going to be used from the nbma repository, to ensure that the
nld daemon is running.

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

72ca1dcb 02/26/2010 02:41 pm Balazs Lecz

Add multi-key support to the serializer

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

1f7d3f7d 02/26/2010 02:41 pm René Nussbaumer

Adding tool for automated cluster-merger

This is the implementation of docs/design-cluster-merger.rst. It allows
the automatic merging of one or more clusters into the invoking cluster.

While this version is tested and working it still needs some tweaking...

0be13136 02/26/2010 02:39 pm Michael Hanselmann

Fix two potentially endless loops in http library

The first can be problematic if poll(2) returns POLLHUP|POLLERR on a
socket. Before it would be only be respected for SOCKOP_RECV, but since
they can also occur on other socket operations, esp. in combination with...

cac599f1 02/26/2010 02:38 pm Michael Hanselmann

Fix bug in LUQueryConfigValues

LUQueryConfigValues supports multiple output fields. If the client asked
for the watcher pause status, it would not get a list, but simply the
value.

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

9e289e36 02/26/2010 02:24 pm Guido Trotter

Add watcher hooks

These hooks are run on all nodes, after the "base" daemons are started.

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

f1115454 02/26/2010 02:24 pm Guido Trotter

Abstract starting the node daemons

We're using a separate function for this, as we're going to add some
functionality to this feature.

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

46cf6260 02/26/2010 02:23 pm Guido Trotter

ganeti-watcher: remove unused Indent function

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

30bb62ea 02/25/2010 03:16 pm Michael Hanselmann

Fix typo in LUVerifyCluster when checking node time

The first argument to _ErrorIf should always be True in this case.

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

27e336af 02/23/2010 07:11 pm Michael Hanselmann

Add make target to generate unittest coverage report

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

c32b908e 02/23/2010 06:31 pm Michael Hanselmann

Add unittests for ganeti.opcodes

According to “coverage”, this covers 99% of the code.

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

a9105b24 02/23/2010 06:31 pm Michael Hanselmann

Catch disk activation errors in watcher

If activating disks fails for some reason, the watcher didn't
catch the exception. With this patch it's caught and logged.

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

4eea1739 02/22/2010 06:05 pm Guido Trotter

Disable warning for not calling ProcessEvent init

This class doesn't need its constructor to be called.

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

6bb65e3a 02/22/2010 06:02 pm Guido Trotter

Implement utils.RunParts and use it for hooks

This function is a generic pythonic version of runparts. We currently
use it in the backend HooksRunner, but we'll use it for running
different directories as well.

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

8b4fe938 02/22/2010 06:02 pm Guido Trotter

Change backend hooks runner to use RunCmd

And save lots of lines of code, in the process

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

bf4daac9 02/22/2010 06:01 pm Guido Trotter

Add reset_env option to RunCmd

This allows to run a command with only the passed in environment, rather
than just updating the default one with it.

Now with unit testing.

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

4403ff8d 02/22/2010 05:56 pm René Nussbaumer

Make it possible to pass custom private key path to SshRunner.Run

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

cb462b06 02/22/2010 05:42 pm Michael Hanselmann

Handle EAGAIN in LUXI client

If too many clients try to connect to the master at the same time, some of
them might fail if the master doesn't accept the connections fast enough.

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

f4484122 02/22/2010 05:42 pm Michael Hanselmann

Show message when job is waiting in queue or for locks

Jobs submitted via the standard command line utilities didn't give any
indication that anything is happening while they were waiting in the job
queue (e.g. due to other jobs using all worker threads) or acquiring...

632fb7ec 02/22/2010 02:50 pm Iustin Pop

Update the IAllocator documentation

This should be rewritten from a 'change document' (e.g. "Ganeti only
supports...") to a 'current implementation document', but in the
meantime we can at least update it with the multi-evac changes.

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

f8c9fa5c 02/22/2010 02:50 pm Iustin Pop

Switch gnt-node evacuate to the new opcode

This switches gnt-node to the new opcode, and in the process also
enables multi-node arguments for it.

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

f7e7689f 02/22/2010 02:50 pm Iustin Pop

Add LUNodeEvacuationStrategy

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

d6aaa598 02/22/2010 02:50 pm Iustin Pop

Add a new opcode for node evacuation

We add this as a new opcode since we don't want to alter the behaviour
of current opcodes/lus.

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

823a72bc 02/22/2010 02:50 pm Iustin Pop

Implement support for mevac in OpTestAllocator

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

7f60a422 02/22/2010 02:50 pm Iustin Pop

Implement IAllocator multi-evacuate mode

This is a new mode that request a solution for the evacuation of
multiple nodes. The external script will be fed a list of names, and is
expected to return a list of [instance, new_node(s)] lists, detailing
the evacuation path of each instance....

680f0a89 02/22/2010 02:50 pm Iustin Pop

Accept both 'nodes' and 'result from iallocator

This patch switches the default result key from 'nodes' to 'result'. The
old name is still accepted for backwards-compatiblity, and should be
removed in later versions.

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

8d3f86a0 02/22/2010 02:50 pm Iustin Pop

Change internal API for the IAllocator class

Currently the 'name' parameter in the constructor is required (as a
non-keyword argument). Since the (to follow) node evac IAllocator mode
doesn't have 'name' as a valid argument, we're moving this one into the...

9757cc90 02/22/2010 02:50 pm Iustin Pop

Remove redundant code in IAllocator class

This moves the setting of the request member on the in_data, of the
request type, and of the branching basef on request type outside of
individual functions and directly into the constructor.

Since the values we're using externally are identical to the...

5627f375 02/19/2010 05:58 pm Michael Hanselmann

bootstrap: Wait for node daemon when adding new node

Until now this was only done for the master node, though
the problem originally fixed in 8f215968 also occurs for
other node daemons.

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

288d9e01 02/18/2010 02:22 pm Michael Hanselmann

Merge branch 'stable-2.1' into devel-2.1

  • stable-2.1:
    Fix ssh host key checking with no-key-check
82869978 02/18/2010 02:21 pm Michael Hanselmann

Reset tempfile module after fork where useful

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

eb58f7bd 02/18/2010 02:21 pm Michael Hanselmann

Move RunInSeparateProcess to ganeti.utils

This function could be useful in other places and this
way we can easily unittest it.

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

055f822b 02/18/2010 02:21 pm Michael Hanselmann

Add function to reset tempfile module after fork

On fork, the tempfile module's pseudo random generator is
not reset. If several processes (e.g. two children or parent
and child) try to create a temporary file, they'll conflict.
This function can be used to reset the name generator which...

e66d9f1a 02/18/2010 12:27 pm Iustin Pop

Fix ssh host key checking with no-key-check

In case we add a node with “--no-ssh-key-check”, this should override
any default yes/ask values in the system-wide (or user) ssh key check.

Currently this only works in batch mode, whereas in non-batch we only...

61dabca4 02/17/2010 08:08 pm Iustin Pop

Simplify a bit _GetWantedNodes

This should have been done in the _ExpandNodeName patch.

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

083a91c9 02/17/2010 06:41 pm Iustin Pop

Fix a wrong docstring

There's no such thing as OpProgrammerError (I found this as I wrote it
in code in another place, and pylint complained).

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

7b651654 02/17/2010 04:33 pm Michael Hanselmann

ganeti-noded: Fix bug when export didn't succeed for all disks

snap_disks can contain boolean values. They weren't handled correctly.
The error message was “Error while executing backend function: Invalid
object passed to FromDict: expected dict, got <type 'bool'>”....

cf26a87a 02/17/2010 03:07 pm Iustin Pop

Remove boiler-plate code about node/instance names

Currently we have lots of duplication of the error-checking (and proper
exception raising) around node/instance name expansion. LUCreateInstance
is the only place where we have abstracted this.

This patch creates two functions (ExpandNodeName and ExpandInstanceName)...

ef7b75b2 02/15/2010 07:03 pm Michael Hanselmann

Merge remote branch 'origin/stable-2.1' into devel-2.1

  • origin/stable-2.1:
    Fix bug introduced in commit 413b747
    Fix locking bug causing high CPU usage
    Fix confd procotol design description
    Implement instance rename QA tests
    Fix "gnt-instance rename" functionality...
fabee4b2 02/15/2010 06:37 pm Michael Hanselmann

Add unittest for utils._FingerprintFile

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

d5cd389c 02/15/2010 04:42 pm Iustin Pop

Release all node locks during disk replace

This patch extends commit 7ea7bcf by releasing all node locks in disk
replace for the early release mode. The rationale behind this is:

- LUCreateInstance already releases all node locks while waiting for
disk synchronization, and does an instance startup later...

9122e60a 02/15/2010 04:42 pm Iustin Pop

Unify a few re.compile calls in DRBD

These are both cleanups and, in the case of _MassageProcData, switching
from a weaker RE to a stronger one (we now need cs: in the line,
previosuly any line starting with \d+: was accepted).

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

9af0fa6a 02/15/2010 12:27 pm Iustin Pop

Auto-enable early release for offline old nodes

In case the old node is offline, we won't be able to talk to it to
remove the storage, and in most cases the node is powered
off/unreachable.

In this case, it makes no sense to delay the storage release, so we...

650fd0c8 02/11/2010 06:42 pm Iustin Pop

Skip line-length warnings in man

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

96b9071c 02/11/2010 06:42 pm Iustin Pop

Revert "Workaround man page output for long PREFIX dirs"

This reverts commit 83d9f4366f3aa9ae360e27bfe6619402793e9eb5.

man is still unable to wrap some long lines, so we simply revert this patch
(and filter out the specific message in autotools/check-man)....

abd8e836 02/11/2010 06:00 pm Iustin Pop

Run instance hooks on more nodes

This should fix issue 68: some hooks should be run on more nodes than
currently. GrowDisk runs on both nodes, remove run the post hook on the
instance's nodes, and failover and migrate run the post hook on the
source node too....

08eec276 02/11/2010 06:00 pm Iustin Pop

Add {NEW,OLD}_{PRIMARY,SECONDARY} vars to hooks

Per issue 71, the migrate and failover need special variables for
keeping the nodes consistent during instance migrations.

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

83d9f436 02/11/2010 03:29 pm Iustin Pop

Workaround man page output for long PREFIX dirs

A long PREFIX variable (to configure) will result in very long
LOCALSTATEDIR, which when concatenated with lib/ganeti/ (and even more
items under it) will go over the 80 char line length we enforce in the
man checker....

dd713605 02/11/2010 01:50 pm Iustin Pop

Pass debug mode to noded for OS-related calls

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