Statistics
| Branch: | Tag: | Revision:

root / lib @ fd7f5b41

# Date Author Comment
fd7f5b41 11/29/2010 04:01 pm René Nussbaumer

InitCluster support for ndparams

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

f394c0de 11/28/2010 05:37 pm Iustin Pop

Fix typo in _ANS1_TIME_REGEX

Thanks Balasz!

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

0b5303da 11/28/2010 03:57 pm Iustin Pop

Move compilation of some regexes to init time

I have found a few regexes which are static and thus can be moved to
load time, rather than run time, creation.

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

525011bc 11/27/2010 06:11 pm Maciej Bliziński

Adding blockdev_prefix to hypervisor options

Allows to install Red Hat based systems, for example Oracle Linux.
Tested with OEL.

The hypervisor by default offers a device named 'sda'. If the SCSI
module is already loaded, the disk device can't be created due to naming...

cb6a0296 11/26/2010 09:39 pm Iustin Pop

RPC call_node_info: change protocol

Currently, the call_node_info RPC does always check both the VG free
space and the hypervisor information. However, in ⅔ of the uses, we only
care about one or the other. Therefore, we change it so that if any of
the passed parameters is None, we don't perform the respective check. We...

88a32957 11/26/2010 06:36 pm Iustin Pop

Cluster rename: skip offline nodes

This only tries to upload the ssh_known_hosts_file to the online nodes,
eliminating a timeout and warning for offline nodes.

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

3c2b6a98 11/26/2010 11:05 am René Nussbaumer

The default value for ndparams should be None not {}

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

f6ffab5a 11/26/2010 11:05 am René Nussbaumer

Fix missed CheckArguments on ndparams for SetNodeParams

In the previous patch where I modified LUSetNodeParams to take ndparams
into account I missed this additional check of parameters in the Logical
Unit. This patch adds ndparams to the recognized parameter lists which...

38156f68 11/25/2010 06:00 pm Iustin Pop

Fix per-vg checks in instance disk conversion

Since we now have just two possibilities (plaint to drbd or drbd to
plain), we can assume (+an assert) that we come from LVM and access
directly logical_id0 for the VG on which it is stored.

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

6180d6bb 11/25/2010 01:45 pm Dmitry Chernyak

Removed _CheckNodesFreeDisk function

Was substituted by _CheckNodesFreeDiskPerVG.

Signed-off-by: Dmitry Chernyak <>
Signed-off-by: Iustin Pop <>
Reviewed-by: Iustin Pop <>

03941a26 11/25/2010 01:41 pm Dmitry Chernyak

Make instance creation VG-aware

Also should work disk growing, instance moving and prerequisite checks.

Signed-off-by: Dmitry Chernyak <>
[: small style fixes]
Signed-off-by: Iustin Pop <>
Reviewed-by: Iustin Pop <>

10e2de91 11/25/2010 01:28 pm Dmitry Chernyak

Introduced VG-aware disk space checks

Implemented _CheckNodesFreeDiskPerVG and _ComputeDiskSizePerVG functions
for VG-aware iterations.

Signed-off-by: Dmitry Chernyak <>
[: some style fixes (long lines, etc.)]
Signed-off-by: Iustin Pop <>...

7af3534e 11/25/2010 01:21 pm Dmitry Chernyak

Added "vg" argument to the --disk syntax

Added "vg" argument to the "gnt-instance ... --disk" syntax specification.
Now is ok to write:

gnt-instance add ... --disk N:size=NNg,vg=VG_NAME ...

But not all internal structures are ready to handle this yet.
...

a535cef7 11/24/2010 05:18 pm René Nussbaumer

Adding --node-parameters command line flag

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

08a61d91 11/24/2010 05:18 pm René Nussbaumer

Adding ndparams to their OpCodes and LU calls

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

18e63b75 11/23/2010 11:04 pm Michael Hanselmann

cmdlib: Use _POutputFields where possible

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

c300f9c9 11/23/2010 02:33 pm Dmitry Chernyak

Basic stuff to allocate disks on different VGs

Extend allocation functions to be aware of different vg names. Suppose,
vg_name is helded in disk.physical_id0 (already was) LUCreateInstance
is modified to be aware of new "vg" argument of the disk specification....

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

Adding convenience getter for ndparams

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

04a8865b 11/23/2010 01:01 pm Lance Albertson

RAPI: implement no_install during instance creation

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

d05cf6fa 11/23/2010 12:01 pm Iustin Pop

utils._RunCmdPipe: simplify the timeout logic

There are two issues: first, it's simpler to assign directly to pt
instead of via another local variable. Second, this code doesn't make
sense:
if lt < 0:
break
pt = max(0, lt)

If lt is indeed < 0, then the code will break. Otherwise, lt ≥ 0, and...

a298fd5a 11/23/2010 12:01 pm Iustin Pop

utils._RunCmdPipe: fix poller timeout usage

This patch makes a simple timeout test (e.g. testTimeoutKill) go from
13K poll syscalls to just 6. The code didn't take into account that
RunningTimeout talks in seconds while the poller object expects
milliseconds....

fd254195 11/22/2010 09:11 pm Iustin Pop

RAPI: export the node group UUID in the node query

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

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

9aacb199 11/18/2010 03:03 pm Iustin Pop

Reinstall instance: disallow offline secondaries

Currently, reinstallation of a DRBD instance with the secondary node offline does:

node1# gnt-instance reinstall -f instance1
Waiting for job 139053 for instance1...
Thu Nov 18 01:36:09 2010 - WARNING: Could not prepare block device disk/0 on node node3 (is_primary=False, pass=1): Node is marked offline...

e2334900 11/18/2010 03:03 pm Iustin Pop

Fix breakage in OS state modify

I was using the feedback_fn function incorrectly (it doesn't
automatically expand the arguments).

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

86c340af 11/17/2010 05:45 pm Iustin Pop

Merge branch 'devel-2.2' into devel-2.3

  • devel-2.2:
    QA: add tests for gnt-cluster modify -B
    LUSetClusterParms: fix validation of beparams

Conflicts:
lib/cmdlib.py (reverted & applied manually the change)

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

52b783c2 11/17/2010 02:14 pm Iustin Pop

LUSetClusterParms: fix validation of beparams

Since the contents of the dict is validated via the ForceDictType, we can
simply require that it is a dict here. The previous check was wrong, as it was
copied from the HV checks (which also doesn't verify the leaf dict type)....

557838c1 11/16/2010 05:19 pm René Nussbaumer

Move locking.RunningTimeout to utils

As we need this functionality in other places than just locking it makes
sense to move it to utils rather than keeping it in locking

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

c70e1a9f 11/11/2010 02:18 pm Iustin Pop

Add group, group.uuid fields in node list

This is needed to at least see the current group configuration.

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

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

a7359d91 11/11/2010 12:30 pm David Knowles

TempReservationManager: Reserved() doesn't work

Note: It appears this has been around since the initial checkin of
TemporaryReservationManager. I have no idea what this could break, so
someone else may want to test this more thoroughly.

Signed-off-by: David Knowles <>...

e90739d6 11/10/2010 08:53 pm Michael Hanselmann

impexpd: Disable OpenSSL compression in socat if possible

This uses an option only available in patched socat versions. More
information is available from the INSTALL update included in this
patch.

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

c6a9dffa 11/03/2010 04:44 pm Michael Hanselmann

Fix disk checks in “gnt-cluster verify”

Tests have shown that the changes in commit b8d26c6e5 don't work as
wanted. If any disk wasn't found on the node, all disks located on the
same node would show as faulty. The cause was incorrect exception
handling on the node....

69cf3abd 11/03/2010 04:44 pm Michael Hanselmann

Remove shebang line from ganeti.server.*

Some of then were forgotten.

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

04367e70 11/01/2010 07:27 pm Guido Trotter

Drop the -g shortcut for --vg-name

Changing the volume group is a lot less frequent than acting on a node
group. As such we drop the "-g" shortcut and require the long option to
be passed. In 2.3 the commands which used to accept the volume group as
"-g" won't have any node group option, so no confusion will arise. Later...

eb28ecf6 11/01/2010 07:27 pm Guido Trotter

Merge the common options between import and add

The "I always wanted to do this" commit.

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

412b3531 11/01/2010 07:27 pm Guido Trotter

Improve LookupNodeGroup's docstring

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

648e4196 11/01/2010 07:27 pm Guido Trotter

Add ConfigWriter.GetNodeGroup

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

3c34f03f 11/01/2010 07:27 pm Guido Trotter

Remove private ip mention in error message

There is no "private" ip in Ganeti, we only have primary and secondary
ones. Whether they are public or private is a per-installation detail.

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

2317945a 11/01/2010 07:27 pm Guido Trotter

luxi: disable two lint errors

This is already disabled for the same type of request a couple of lines
above. The new code was introduced in e986f20c but didn't have the
disables.

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

4d32c211 11/01/2010 07:27 pm Guido Trotter

Add -s option to gnt-node modify

We can now change a nodes' secondary ip.

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

1fc34c48 11/01/2010 05:02 pm Michael Hanselmann

config: Write ssconf after renaming instance

This fixes a bug where the ssconf_instance_list file was
not updated after an instance rename.

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

5119f2ec 10/29/2010 05:48 pm Michael Hanselmann

Move ganeti-noded to ganeti.server.noded

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

d9c82a4e 10/29/2010 05:48 pm Michael Hanselmann

Move ganeti-rapi to ganeti.server.rapi

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

899c4d2c 10/29/2010 05:48 pm Michael Hanselmann

Prepare move of daemons to ganeti.server

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

29d91329 10/29/2010 05:48 pm Michael Hanselmann

Move ganeti-masterd to ganeti.server.masterd

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

5c9c0e0e 10/29/2010 05:48 pm Michael Hanselmann

Move ganeti-confd to ganeti.server.confd

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

9f4bb951 10/29/2010 05:48 pm Michael Hanselmann

Move ganeti-watcher to ganeti.watcher

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

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

7a8bda3f 10/28/2010 07:56 pm Michael Hanselmann

luxi.ProtocolError: Derive from errors.LuxiError

This allows LUXI errors to be encoded and serialized.

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

3b01286e 10/28/2010 07:56 pm Michael Hanselmann

LUExportInstance: Accept instance already shut down

To remove the instance after an export it needs to be stopped. This can
be achived using the parameter “shutdown”, or by explicitly shutting
down the instance before exporting. The latter would still require the...

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

1ac6f2ad 10/28/2010 05:06 pm Guido Trotter

ConfigWriter.GetNodeGroupList

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

add6d208 10/28/2010 03:50 pm Iustin Pop

Prevent onlining a node without working noded

This is just a basic check, plus a warning. In the future, we might do
more checks, or prevent simple onlining (without readd) if --force is
not passed.

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

4ca52046 10/28/2010 03:49 pm Iustin Pop

Yet another rework in LUSetNodeParms

We will need the new role in CheckPrereq, so move its computation there
and save the new role to self.

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

877b849b 10/28/2010 02:51 pm Iustin Pop

Prevent moving/creating instances on non-vm nodes

This small patch modifies LUCreateInstance, LUReplaceDisks and
LUMoveInstance to not use non-vm_capable nodes.

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

8bf9e9a5 10/28/2010 02:51 pm Iustin Pop

ConfigWriter: add some helper functions

This can be used to compute a node's instances easily, and a small
function to get all non-vm_capable nodes.

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

077114cd 10/28/2010 02:51 pm Iustin Pop

Add vm_capable to LUSetNodeParams

And also do some cleanup: we only run the role changed actions if the
node has actually changed roles.

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

53919782 10/28/2010 02:51 pm Iustin Pop

Add vm_capable to gnt-node modify

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

8964ee14 10/28/2010 02:51 pm Iustin Pop

Add support for vm_capable in cluster verify

The method to make vm_capable integrate easily into cluster verify is as follows:

- we add a new NV_VMNODES that represents nonvm-capable nodes
the LU populates this list (it's expected that non-vm_capable nodes...

4e2d3d25 10/28/2010 02:51 pm Iustin Pop

Add an UploadHelper to cmdlib

This is used in two places already, and will be needed in a third, so
let's abstract it.

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

77bad5b2 10/28/2010 02:51 pm Iustin Pop

Add support for vm_capable in file distribution

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

fd3d37b6 10/28/2010 02:51 pm Iustin Pop

Add the master/vm_capable flags in node add

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

7b4978ad 10/28/2010 02:51 pm Iustin Pop

Add the capability flags in node info output

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

614e7e26 10/28/2010 02:51 pm Iustin Pop

Add a CheckNodeVmCapable helper in cmdlib

Also changes the error code for the other CheckNode* helpers to
ECODE_STATE, not ECODE_INVAL: ECODE_INVAL is for requests that are
invalid (e.g. create drbd instance with one node), whereas ECODE_STATE
denote requests that are not satisfiable due to cluster/node/instance...

b8d26c6e 10/28/2010 02:34 pm Michael Hanselmann

LUClusterVerify: Complain if disk is marked faulty

This will show a warning if, for example, one side of a DRBD
disk becomes unavailable. The data is collected separately
from the other verification data.

Example output:

  • Verifying instance status
    - ERROR: instance inst1: disk/0 on node2 is faulty...
02266fe0 10/27/2010 02:58 pm Michael Hanselmann

Move gnt-backup to ganeti.client.gnt_backup

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

e792102d 10/27/2010 02:58 pm Michael Hanselmann

Move gnt-instance to ganeti.client.gnt_instance

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

a09b9e3d 10/27/2010 02:58 pm Michael Hanselmann

Move gnt-job to ganeti.client.gnt_job

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

37494fa4 10/27/2010 02:58 pm Michael Hanselmann

Move gnt-node to ganeti.client.gnt_node

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

7b3e7d41 10/27/2010 02:58 pm Michael Hanselmann

Move gnt-cluster to ganeti.client.gnt_cluster

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

6d50f5f9 10/27/2010 02:19 pm Michael Hanselmann

Move gnt-os to ganeti.client.gnt_os

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

c2855a12 10/27/2010 02:19 pm Michael Hanselmann

Move gnt-debug to ganeti.client.gnt_debug

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

2d48a3a2 10/27/2010 02:19 pm Michael Hanselmann

Allow programs to be part of the Ganeti library

Eventually this will help ensuring that clients and servers are of the
same version, as long as they're imported from the same path. Currently
it's relatively easy for gnt-* and ganeti-* to be from a different...

197e3bb2 10/27/2010 01:46 pm Iustin Pop

Implement the master_capable flag in node modify

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

f91e255a 10/27/2010 01:46 pm Iustin Pop

Add master_capab to gnt-node modify

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

c190e817 10/27/2010 01:46 pm Iustin Pop

Export the capability flags in query, rapi, ialloc

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

490acd18 10/27/2010 01:46 pm Iustin Pop

Add the master/vm_capable flags to objects

This adds the flag and some initial handling. The rest of the changes,
for cmdlib, come in a separate patch.

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

21232d04 10/27/2010 01:44 pm Iustin Pop

Rework node role changes

There have been many bugs in gnt-node modify. Let's try to introduce
some more.

This patch reworks the node role changes from tracking the flag changes
to completely overwriting the flags based on the new role. This paves
the way for (in 2.4 or later) moving to a single attribute for nodes....

c29e35fe 10/26/2010 04:39 pm Michael Hanselmann

rpc: Work around epydoc warning

Aliasing the “threading” module allows us to avoid the “No information
available for ganeti.rpc._RpcThreadLocal's base threading.local” warning
by epydoc.

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

b30aded7 10/26/2010 03:38 pm Michael Hanselmann

Merge branch 'devel-2.2'

  • devel-2.2:
    Allow remote imports without checked names
    ConfigWriter: Fix typo in error message parts
    Fix remote imports

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

3f2ad566 10/26/2010 03:25 pm Michael Hanselmann

Allow remote imports without checked names

By default all names are checked (LUCreateInstance, name_check). In some
cases it can be useful to disable this check, but doing so was not
allowed for remote imports. One should be aware, however, that using
this feature can lead to rename script failures when importing a remote...

b883637f 10/26/2010 02:36 pm René Nussbaumer

Support modify of prealloc_wipe_disks config value

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

1116c3b2 10/26/2010 12:48 pm Iustin Pop

Export a node's group information in iallocator

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

f936c153 10/26/2010 12:48 pm Iustin Pop

Rename node.nodegroup to node.group

In the context of a node, its group has (at least today) only one
meaning, that is the node's node group. As such, we rename
node.nodegroup to just node.group.

Note: if we want to keep node in there, it should be at least...

a285fcfd 10/26/2010 12:47 pm Iustin Pop

Rename --nodegroup to --node-group

For consistency with other CLI options.

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

622444e5 10/26/2010 12:47 pm Iustin Pop

Export node group data in iallocator

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

acd34ea7 10/26/2010 12:47 pm Iustin Pop

Split IAllocator._ComputeClusterData

The node and instance computations were all in this big function; we
separate them out for more clarity.

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

a03fcb26 10/26/2010 12:13 pm René Nussbaumer

Putting the pieces together and invoke the wipe in cmdlib

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

271b7cf9 10/26/2010 12:13 pm René Nussbaumer

Adding RPC call for blockdev_wipe

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

da63bb4e 10/26/2010 12:12 pm René Nussbaumer

Second iteration over backend.BlockdevWipe

This patch now uses dd entirely to wipe the disk, make it
much easier to wipe in blocks so we can give interactive feedback
about the status.

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

3d889a7d 10/25/2010 02:03 pm Michael Hanselmann

ConfigWriter: Fix typo in error message parts

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

f2165b8a 10/25/2010 01:47 pm Iustin Pop

Simplify and extend the instance OS env

Some parameters were missing (uuid, c/mtime). We simplify the export
method; unfortunately we cannot simply iterate over slots since the
mapping is not 1:1.

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

eb180fe2 10/22/2010 06:23 pm Iustin Pop

ConfigWriter: prevent using a foreign config

If the configuration file doesn't denote this node as master, we prevent
startup. This would have detected our previous race condition more
easily, hence we add it as a permanent check.

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

21004460 10/22/2010 06:23 pm Iustin Pop

Fix bootstrap.MasterFailover race with watcher

This fixes a recently diagnosed race condition between master failover
and the watcher.

Currently, the master failover first stops the master daemon, checks
that the IP is no longer reachable, and then distributes the updated...

bd407597 10/22/2010 06:23 pm Iustin Pop

ConfigWriter: protect against multiple writers

This should fix the case where there are two masters that both try to
distribute the configuration file to the cluster. The first one that does so,
will "win" the ownership of the config.data.

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

8f065ae2 10/22/2010 06:23 pm Iustin Pop

backend.Upload: switch to utils.SafeWriteFile

This allows serialization of updates to a given file, with respect to
other cooperating writers.

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