Statistics
| Branch: | Tag: | Revision:

root @ d4b94fe8

# Date Author Comment
d4b94fe8 08/28/2009 06:24 pm Michael Hanselmann

Bash completion: Simplify option completion

This makes the output file quite a bit smaller and is needed
in preparation for non-static option completion (e.g. list of
nodes).

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Olivier Tharan <>

632d5090 08/28/2009 06:24 pm Michael Hanselmann

Bash completion: Support for --foo=bar option format

That is with the equal sign.

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

580ef58d 08/28/2009 06:24 pm Michael Hanselmann

Bash completion: Small optimizations

$2 doesn't contain the correct value when completing something like
"--disk-template=…". Getting it via COMP_WORDS is better.

Short options (e.g. -I) can't have an equal sign.

Also add useful debugging commands for development....

aca55e15 08/28/2009 06:24 pm Michael Hanselmann

Fix QA test for “gnt-node evacuate”

Before the arguments weren't valid.

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

05f1ebf3 08/28/2009 05:44 pm Guido Trotter

Move SimpleConfigReader creation to ConfdProcessor

This will be useful to make ConfdProcessor aware of a config failure,
without quitting confd.

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

e369f21d 08/28/2009 05:44 pm Guido Trotter

ConfdProcessor: add disabled state

This is a state the processor will get in, if it fails to load the
config.

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

c6259dbc 08/28/2009 05:44 pm Guido Trotter

confd: start in polling mode

This allows us not to enable the inotify handler immediately, and thus
to make it easier for us should the config file not exist at all.

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

22d3e184 08/28/2009 05:44 pm Guido Trotter

Confd: don't fail if the config doesn't load

Rather than quitting we'll just continue to poll the config at a slow
rate, hoping that sooner or later we'll get it back. This allows also
working on non-MC nodes, and smoothly transitioning from MC to non-MC,...

176d3122 08/28/2009 05:44 pm Guido Trotter

confd: s/confd_event_handler/inotify_handler/

In a case we don't encounter frequently (file modified but not
overwritten) the notify handler we use is called with a wrong name.

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

e2be81cf 08/28/2009 02:17 pm Guido Trotter

Implement timers in confd

Timers are used both for checking for inotify failures, and for polling,
should inotify notices become too frequent.

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

84c3ab28 08/28/2009 02:08 pm Guido Trotter

constants: add confd reload and rate limit times

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

ef4ca33b 08/28/2009 02:08 pm Guido Trotter

ConfdInotifyEventHandler.enable: use InotifyError

Rather than raising ConfdFatalError directly
ConfdInotifyEventHandler.enable raises InotifyError should it not be
able to configure inotify, allowing the caller to decide what to do.

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

589dee9a 08/28/2009 02:07 pm Guido Trotter

Add errors.InotifyError

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

4afe249b 08/28/2009 02:07 pm Guido Trotter

ConfdInotifyEventHandler, move to a callback

ConfdInotifyEventHandler used to reload the config whenever a
notification arrived. Moving to a callback system, so that
ConfdConfigurationReloader can be responsible for that functionality.

Additionally the inotify class no longer reenables itself automatically,...

562bee4d 08/28/2009 02:07 pm Guido Trotter

Move creation of inotify handler to a new class

This class will be responsible for managing inotify notifications,
timers, and rate-limiting reloads. For now none of these features is
implemented. :)

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

46c9b31d 08/28/2009 02:06 pm Guido Trotter

ConfdInotifyEventHandler: add enable/disable

Make possible to enable and disable the inotify event handler. The
inotify handler will remain enabled, unless explicitely told to disable
itself.

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

d4c1bd12 08/28/2009 02:06 pm Guido Trotter

SimpleConfigReader: handle stat() errors

Also, catch EnvironmentError, rather than IOError, when trying to read
the file.

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

bcb66fca 08/27/2009 06:21 pm Iustin Pop

Encode the actual exception raised by LU execution

Currently, the actual exception raised during an LU execution (one of
OpPrereqError, OpExecError, HooksError, etc.) is lost because the
jqueue.py code simply sets that to a str(err), and the code in cli.py...

6956e9cd 08/27/2009 06:21 pm Iustin Pop

Move the luxi error handling into errors.py

Currently the luxi error handling is hardcoded as special encoding on
the masterd-side and special decoding on the client side. This patch
moves it to errors.py such that other parts of the code can reuse the
same encoding....

5cbe43a5 08/26/2009 08:05 pm Michael Hanselmann

Remove watcher pause file 1h past end time

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

3753b2cb 08/26/2009 07:09 pm Michael Hanselmann

ganeti-watcher: Don't run if paused

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

95b2e626 08/26/2009 07:09 pm Michael Hanselmann

gnt-cluster: Add CLI for watcher pause

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

05e50653 08/26/2009 07:09 pm Michael Hanselmann

Add file to pause watcher for a certain duration

This can be used during maintenance work.

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

dff85078 08/26/2009 07:09 pm Michael Hanselmann

cli._Argument: Remove unused, optional “suggest” parameter

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

5431eff1 08/26/2009 07:08 pm Michael Hanselmann

bash completion: Allow arguments with min < max arguments

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

ed0efaa5 08/26/2009 06:34 pm Michael Hanselmann

ganeti-masterd: Master voting in separate process

One shouldn't fork a Python process after using threads. Master
voting is done before forking (utils.Daemonize), but it also uses
threads. Hence it's now called from a separate process.

This patch also fixes the check function to actually exit if...

8a20c732 08/26/2009 06:34 pm Michael Hanselmann

ganeti-masterd: Add helper to run function in separate process

This will be used to do the master voting.

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

ec2c2bc4 08/26/2009 03:46 pm Luca Bigliardi

GenerateSecret: specify the length of the secret

Add a parameter to specify the length of the bytes sequence represented by the
returned hex string. Defaulting to 20 so it's compatible with previous SHA1
hash.

Signed-off-by: Luca Bigliardi <>...

37972df0 08/26/2009 03:14 pm Michael Hanselmann

cmdlib: Add some messages to LUExportInstance

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

6c948699 08/25/2009 07:00 pm Michael Hanselmann

Style fixes for ganeti-*

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

bcb1a39e 08/25/2009 06:53 pm Michael Hanselmann

ganeti-noded: Close listening socket in child

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

b2c750a4 08/25/2009 06:51 pm Luca Bigliardi

LUDestroyCluster: hooks support

We're going to call hooks from its Exec method so LUDestroyCluster has to
support them.

Signed-off-by: Luca Bigliardi <>
Reviewed-by: Michael Hanselmann <>

3141ad3b 08/25/2009 06:51 pm Luca Bigliardi

LUDestroyCluster: run hooks

Run post hooks on master node before it's removed.

Signed-off-by: Luca Bigliardi <>
Reviewed-by: Iustin Pop <>

d87e1814 08/25/2009 06:51 pm Luca Bigliardi

Document cluster destroy hook

Add documentation about new cluster-destroy-post hook.

Signed-off-by: Luca Bigliardi <>
Reviewed-by: Iustin Pop <>

f848ac00 08/25/2009 06:39 pm Michael Hanselmann

Run unittests in a temporary directory

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

bb46a96c 08/25/2009 06:38 pm Michael Hanselmann

Fix building in a different directory

Also add build-bash-completion to EXTRA_DIST.

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

b959138f 08/25/2009 06:38 pm Michael Hanselmann

Add script to run build commands in temporary directory

Python always compiles imported modules. By running these targets
in a temporary directory we don't pollute the source tree.

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

dc7d2c49 08/25/2009 06:38 pm Michael Hanselmann

Makefile: Use BUILT_SOURCES

These are always built before anything else.

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

434c34a5 08/25/2009 06:38 pm Michael Hanselmann

Simplify manpage building

This eliminates one temporary directory in the process.

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

33b0062b 08/25/2009 06:38 pm Michael Hanselmann

Makefile: Fix docbook2man error message

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

5a78e2e7 08/25/2009 06:38 pm Michael Hanselmann

Handle more errors in bash completion

Don't print error messages if cluster hasn't been initialized yet.

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

d763bed0 08/25/2009 06:17 pm Luca Bigliardi

HooksMaster: fix RunPhase logging

In case of complete failure results is empty, return immediately
(tnx unittests).

Signed-off-by: Luca Bigliardi <>
Reviewed-by: Iustin Pop <>

3cb5c1e3 08/25/2009 05:40 pm Luca Bigliardi

LURemoveNode: no logs running post on removed node

Do not log results from hooks ran on the removed node as now it's done by
RunPhase.

Signed-off-by: Luca Bigliardi <>
Reviewed-by: Iustin Pop <>

8c4b9364 08/25/2009 05:39 pm Luca Bigliardi

HooksMaster: logging hooks in RunPhase

Extend RunPhase so it will log hooks results in POST phase.

Signed-off-by: Luca Bigliardi <>
Reviewed-by: Iustin Pop <>

035a7783 08/25/2009 03:57 pm Luca Bigliardi

Document post cluster initialization LU

Update hooks documentation with the new opcode (not deleting OP_INIT_CLUSTER
from obsolete operations because the name is different).

Signed-off-by: Luca Bigliardi <>
Reviewed-by: Iustin Pop <>

cd46f3b4 08/25/2009 02:40 pm Luca Bigliardi

node-remove post on removed node

Run post phase of node-remove on the removed node as well.

Signed-off-by: Luca Bigliardi <>
Reviewed-by: Iustin Pop <>

6ef2dc74 08/25/2009 01:38 pm Luca Bigliardi

HooksMaster: document raised exception

HooksAbort is raised, but not documented.

Signed-off-by: Luca Bigliardi <>
Reviewed-by: Iustin Pop <>

17e82923 08/24/2009 08:32 pm Luca Bigliardi

HooksMaster: list of nodes override

Allow the caller of HooksMaster.RunPhase() to specify an alternative list of
nodes.

Signed-off-by: Luca Bigliardi <>
Reviewed-by: Iustin Pop <>

5b9107ff 08/24/2009 06:14 pm Iustin Pop

Add burnin support for instance moves

This patch adds support for instance moves in burnin. This means that
non-drbd instances finally get support for being moved.

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

46af447b 08/24/2009 06:06 pm Iustin Pop

Fix error output in LUSetClusterParams

Before:
gnt-cluster modify --enabled-hypervisors=xen-hvm,xem-pvm
Failure: command execution error:
Enabled hypervisors contains invalid entries: set([u'xem-pvm'])

After:
gnt-cluster modify --enabled-hypervisors=xen-hvm,xem-pvm...

83ec7961 08/24/2009 06:01 pm Michael Hanselmann

Add ArgHost class

It expands to the hostnames known by bash.

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

4a265c08 08/24/2009 06:01 pm Michael Hanselmann

Re-introduce constants for most often used arguments

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

10eb54fb 08/24/2009 04:53 pm Michael Hanselmann

Convert “burnin” to definition-based options

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

bea60381 08/24/2009 04:53 pm Michael Hanselmann

Add tools directory to constants

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

4f3d5b76 08/24/2009 04:53 pm Michael Hanselmann

Use script to generate bash completion

Completion for tools/burnin is not yet implemented. It needs to be
converted to definition-based options handling first.

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

224b89fa 08/24/2009 04:53 pm Michael Hanselmann

Add more auto-completion metadata

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

c38c44ad 08/24/2009 04:53 pm Michael Hanselmann

Make all options use cli_option

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

a8005e17 08/24/2009 04:52 pm Michael Hanselmann

Change scripts to use new argument definitions

This can be used to generate the bash completion script automatically.
In the future it may allow for better command line validation as well.

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

863d7f46 08/24/2009 04:51 pm Michael Hanselmann

cli: Add new classes for argument definitions

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

fbf5a861 08/24/2009 03:13 pm Iustin Pop

Add gnt-instance move

This uses the new LUMoveInstance. It supports only single-instance moves.

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

313bcead 08/24/2009 03:13 pm Iustin Pop

Add OPMoveInstance and LUMoveInstance

This patch adds a basic version of LUMoveInstance. It doesn't yet
support iallocator-mode and it's implemented in old-style (non-TL) mode.

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

621b7678 08/24/2009 03:13 pm Iustin Pop

Add arbitrary node support to create/remove disks

Currently the cmdlib _CreateDisks and _RemoveDisks always work on the
instance's (current/primary) nodes. This patch extends them to take an
additional target_node parameter denoting that the creation/removal...

858f3d18 08/24/2009 03:13 pm Iustin Pop

Add disk copy support at backend and the rpc level

This uses a simple 'dd if=… | ssh $target dd of=…' method, like the
ExportSnapshot (which uses the OS export; here we want full disk-level
copy and not any FS-level changes).

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

4b5e8271 08/24/2009 03:11 pm Iustin Pop

Remove extra argument from HooksMaster class

The mcpu.py:HooksMaster class needs to have a proc attribute/argument to
init in ordet to call its LogWarning method. However, this is available
from the 'lu' attribute, so we can remove this dependency.

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

4dce1a83 08/24/2009 02:39 pm Michael Hanselmann

cmdlib: Fix broken QueryInstanceData for plain instances

Fixes this bug:
Failure: command execution error:
Can't compute disk status for instX.domain.tld: No error information

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

a02b89cf 08/21/2009 01:02 pm Guido Trotter

Reinsert simple timers in Mainloop

This time we use the standard python sched module, rather than doing it
all by ourselves. The scheduler in mainloop can be manipulated directly
by callers, to enter new events.

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

f91c7223 08/20/2009 05:08 pm Guido Trotter

Convert ganeti-confd to Mainloop

Now that mainloop is asyncore-enabled we can easily do that.

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

112d240d 08/20/2009 05:04 pm Guido Trotter

Convert the http server/mainloop to asyncore

We can avoid most of the Mainloop.Run() code if we use asyncore
for delivering I/O events, and just concentrate on what's missing in
asyncore: singnal handling and timers. This way confd can be ported to
use Mainloop as well....

a5bca3e9 08/20/2009 01:34 pm Guido Trotter

design-2.1: specify hmac key permissions

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

4a1821de 08/20/2009 01:26 pm Guido Trotter

design-2.1: clarify confd usage of serial numbers

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

9b739173 08/20/2009 12:28 pm Guido Trotter

Convert daemon.Mainloop to @SignalHandled

This makes the function a lot simpler, since it used to install two
different signal handlers, which are now transparently handled by the
decorator. The code is unindented, but remains unchanged apart from the
part that checks the signal handlers (which is now collapsed toghether)....

6b5e5018 08/20/2009 12:28 pm Guido Trotter

Convert ganeti-masterd to @utils.SignalHandled

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

451575de 08/20/2009 12:28 pm Guido Trotter

Add a new SignalHandled decorator

This decorator can be used to call a function holding with protection
from a given signal. The function should accept a dict of
utils.SignalHandler, indexed by signal number, and make use of it.

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

6c52849e 08/20/2009 11:43 am Guido Trotter

SignalHandler, only accept list of signals

utils.SignalHandler can accept either a list of signals or a single
signal, but it's always called with a list. Removing the single signal
option.

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

565fe4c4 08/20/2009 11:43 am Guido Trotter

Simplify IO waiting in Mainloop

IO is never unregistered in our current usage, so dropping that
functionality for now. Also putting the poller outside of the Run()
function allows us to avoid the double step of adding tuples to an
_io_wait_add queue and adding them later in the main loop....

577c90a3 08/20/2009 11:43 am Guido Trotter

Remove timers from Mainloop

Timers are currently unused, slightly buggy (for example timeout doesn't
get updated correctly), and unneeded in the current form. Confd will
have timeouts in more simple fashion, and is not a mainloop user
anyway.

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

2d6db53a 08/19/2009 07:31 pm Guido Trotter

QA: remove the --default-hypervisor option

This option is gone since 1ac0f5e6d2f06a5bf12815e1b92d1338af32833c,
fixing the QA suite to deal with this.

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

3aa81090 08/19/2009 07:31 pm Guido Trotter

QA: call ganeti-confd --version

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

d8260842 08/18/2009 12:40 pm Michael Hanselmann

rapi: Add /2/instances/[instance_name]/info resource

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

552c8dff 08/18/2009 11:54 am Michael Hanselmann

cli: Merge ikv_option and keyval_option into cli_option

Merging them gets rid of two public functions in cli.py and optparse explicitly
supports more than one option type per class.

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

ed2fe731 08/17/2009 08:21 pm Michael Hanselmann

burnin: Don't pass any disk when replacing 2nd node

Replacing the secondary node always replaces it for all disks. Commit
2945fd2d added an error message for this case.

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

90f72445 08/17/2009 05:46 pm Iustin Pop

Add support for querying the ctime/mtime

This patch adds querying of ctime/mtime for the cluster/nodes/instances.

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

d693c864 08/17/2009 05:46 pm Iustin Pop

Add ctime/mtime support to the main ConfigObjects

This patch adds ctime/mtime support to the “main” config objects - the
config data itself, and the cluster/nodes/instances objects.

These are not added on auto-upgrade, but rather should be migrated if it...

3b813dd2 08/17/2009 05:46 pm Iustin Pop

Add utils.FormatTime and a simple unittest

We don't format with subsecond-precision.

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

03298ebe 08/17/2009 04:57 pm Michael Hanselmann

cli: Use ToStdout/ToStderr instead of print

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

723f4565 08/17/2009 03:00 pm Michael Hanselmann

rapi: Add /2/nodes/[node_name]/storage/repair resource

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

1e3463f1 08/17/2009 02:26 pm Michael Hanselmann

Implement “gnt-node repair-volume”

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

76aef8fc 08/17/2009 02:26 pm Michael Hanselmann

Add opcode to repair storage volumes

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

637b8d7e 08/17/2009 02:26 pm Michael Hanselmann

Add RPC call for storage operations

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

6c3c6db9 08/17/2009 02:26 pm Michael Hanselmann

storage: Add operation for “vgreduce --removemissing”

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

4b37cac5 08/17/2009 02:26 pm Michael Hanselmann

storage: Add new function to execute operations

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

e9721add 08/17/2009 02:26 pm Michael Hanselmann

cmdlib: Add function to list all instances on node

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

5ba9701d 08/17/2009 02:26 pm Michael Hanselmann

cmdlib: Use common function to list instances on node

This will be used by another new function, too.

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

2d9005d8 08/17/2009 02:26 pm Michael Hanselmann

cmdlib: Make TLReplaceDisks._FindFaultyDisks global

It'll be used for repairing storage units.

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

86f5eae3 08/17/2009 02:25 pm Michael Hanselmann

gnt-node: Use helper function to convert storage type

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

e978484a 08/17/2009 01:15 pm Iustin Pop

Remove obsolete ConfigObject.__setitem__

setitem is used to emulate container objects. We don't use this, and
the method is not used in a couple of normal operations (add/remove
instance, add/remove disk).

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

bd315bfa 08/14/2009 04:00 pm Iustin Pop

Implement instance recreate-disks

This can be used for a 'plain' type instance when the underlying storage
went away, to recreate the storage (and reinstall) instead of removing
the instance and readding it.

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

2945fd2d 08/13/2009 02:49 pm Michael Hanselmann

TLReplaceDisks: Refuse changing secondary for specific disks

We move all disks anyway.

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

4c98b915 08/13/2009 02:49 pm Michael Hanselmann

rapi: Add /2/instances/[instance_name]/replace-disks resource

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

73086975 08/13/2009 02:49 pm Michael Hanselmann

rlib2: Remove leftover DOC_URI constant

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