Statistics
| Branch: | Tag: | Revision:

root / lib / cmdlib.py @ grnet-2.4-ippool-devel

History | View | Annotate | Download (436.4 kB)

# Date Author Comment
a8f8cb24 12/06/2011 05:07 pm Dimitris Aragiorgis

Merge branch 'devel-2.4' into grnet-2.4-ippool-devel

337de15b 11/28/2011 06:21 pm Dimitris Aragiorgis

merge upstream devel-2.4

Conflicts:
lib/cli.py
lib/cmdlib.py
lib/config.py
lib/opcodes.py

Signed-off-by: Dimitris Aragiorgis <>

218f4c3d 11/24/2011 10:32 am Michael Hanselmann

LUGroupAssignNodes: Fix node membership corruption

Note: This bug only manifests itself in Ganeti 2.5, but since the
problematic code also exists in 2.4, I decided to fix it there.

If a node was assigned to a new group using “gnt-group assign-nodes” the...

f396ad8c 11/14/2011 11:03 am Vangelis Koukis

Ensure unused ports return to the free port pool

Ensure ports previously allocated by calling ConfigWriter's AllocatePort() are
returned to the pool of free ports when no longer needed:

  • Return the network_port of an instance when it is removed
  • Return the port used by a DRBD-based disk when it is removed...
82461fad 08/23/2011 12:12 pm René Nussbaumer

Documentation fix for importing with --src-dir option

Signed-off-by: Agata Murawska <>
Reviewed-by: Michael Hanselmann <>
(cherry picked from commit b7d7876bd0e9844fab8be28bfa1fd5d563ec7412)

Conflicts:

lib/cmdlib.py (easily fixed)
713aaa8a 08/03/2011 05:20 pm Apollon Oikonomopoulos

Remove 15-second sleep from LUInstanceCreate

Remove 15 second sleep when wait_for_sync is not set. LUInstanceCreate already
calls _WaitForSync with oneshot=True, which already performs an internal
wait-loop for disks to start syncing.

Signed-off-by: Apollon Oikonomopoulos <>

fd791263 08/03/2011 05:19 pm Apollon Oikonomopoulos

Pause DRBD sync for OS install if no_wait_for_sync

When no_wait_for_sync is specified in LUInstanceCreate, Ganeti lets DRBD sync
in the background while performing the rest of the installation steps,
including OS installation.

However, OS installation is a very disk-intensive task that intereferes badly...

4b413e49 07/22/2011 12:00 pm Michael Hanselmann

gnt-node volumes: Fix instance names

Commit 84d7e26b changed “objects.Instance.MapLVsByN” to not just return
the LV name, but to include the volume group name (e.g.
“xenvg/d67e8700….disk0_data”). This in turn broke the mapping of volume
names in LUNodeQueryvols, stopping instance names from displayed in...

b768099e 06/28/2011 06:02 pm Iustin Pop

Fix bug in recreate-disks for DRBD instances

The new functionality in 2.4.2 for recreate-disks to change nodes is
broken for DRBD instances: it simply changes the nodes without caring
for the DRBD minors mapping, which will lead to conflicts in non-empty...

78ff9e8f 06/28/2011 06:02 pm Iustin Pop

Fix a lint warning

Patch db8e5f1c removed the use of feedback_fn, hence pylint warn
now.

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

db8e5f1c 06/27/2011 01:53 pm Iustin Pop

Fix bug in drbd8 replace disks on current nodes

Currently the drbd8 replace-disks on the same node (i.e. -p or -s) has
a bug in that it does modify the instance disk temporarily before
changing it back to the same value. However, we don't need to, and
shouldn't do that: what this operation do is simply change the LVM...

7afca87f 06/23/2011 04:51 pm Guido Trotter

LUInstanceCreate: use opcodes.RequireFileStorage

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

c33472b5 06/22/2011 02:17 pm Michael Hanselmann

Fix issue with tags on instance creation

Commit 720f56c85a added the ability to specify tags when creating an
instance. The “tags” attribute of an instance object needs to be a set,
but the patch's code saved it as a list, causing breakage in other parts...

cd0e63d6 06/22/2011 02:12 pm Apollon Oikonomopoulos

Network query: handle default NIC link value

When asked to return statistics about a network usage by instances, we didn't
properly handle the link=None case. This patch fixes the behaviour by fallink
back to the cluster default link.

Signed-off-by: Apollon Oikonomopoulos <>

cafa5b70 06/22/2011 02:12 pm Apollon Oikonomopoulos

Add network-related LUs

Add Logical Units for network adding and querying network config objects.

Signed-off-by: Apollon Oikonomopoulos <>

427746af 06/22/2011 02:12 pm Apollon Oikonomopoulos

LUGroupSetParams: handle network map/unmap

Modify LUGroupSetParams to accept network addition/removal. Networks are
connected to nodegroups' links.

Signed-off-by: Apollon Oikonomopoulos <>

ac75fad9 06/22/2011 02:12 pm Apollon Oikonomopoulos

Instance addition and removal: manage IP addresses

Prototype implementation of IP address management during instance
addition/removal.

Signed-off-by: Apollon Oikonomopoulos <>

1eeeea44 06/22/2011 02:12 pm Apollon Oikonomopoulos

Fix cyclic dependency between iallocator and pools

The IP pool management infrastructure currently needs to know an instance's
node to fill in IP addresses. For this to happen, the iallocator must run
before we generate IP addresses, yet the iallocator itself needs the instance's...

5f2725c1 06/22/2011 02:12 pm Apollon Oikonomopoulos

More fixes regarding ip pool mgmt and instance creation

Signed-off-by: Apollon Oikonomopoulos <>

ac82d660 06/22/2011 02:12 pm Apollon Oikonomopoulos

IP pool management during instance modification

Perform suitable pool operations on NIC addition, removal and modification.

Signed-off-by: Apollon Oikonomopoulos <>

4260755b 06/22/2011 02:12 pm Apollon Oikonomopoulos

Add tag handling to {Op,LU}InstanceCreate

Add a tag slot to opcodes.OpInstanceCreate. We do not reuse _PTags, as this is
intended for OpTagsSet and thus:

a) is not documented
b) does not carry a default value, making it mandatory

Also pass the tags to the iallocator during instance creation....

aca8d56e 06/22/2011 02:12 pm Apollon Oikonomopoulos

Export instance tags to instance hooks

Instance hooks now get an INSTANCE_TAGS environment variable, which contains a
space-delimited list of the affected instance's tags.

Also update the documentation to reflect the change.

Signed-off-by: Apollon Oikonomopoulos <>

e8f80e7d 06/22/2011 02:12 pm Apollon Oikonomopoulos

Handle address pool exhaustion properly in cmdlib

We catch the ConfigurationError raised by ConfigWriter.GenerateIp() in
LUInstanceCreate and LUInstanceSetParams, so that we can raise an OpPrereq
exception and better inform the user about the error.

Signed-off-by: Apollon Oikonomopoulos <>

246f300d 06/22/2011 02:12 pm Apollon Oikonomopoulos

gnt-network info: include external reservations

Also include the list of externally reserved IP addresses in an address pool in
the output of gnt-network info <network_name>.

Signed-off-by: Apollon Oikonomopoulos <>

2abc8f57 06/22/2011 02:12 pm Apollon Oikonomopoulos

LUCreateInstance: Retrieve IPs from an IP pool

A new ip keyword is added ("pool") to signify that LUCreateInstance should get
the instance's IP from an IP pool (rather than manually or by DNS resolution).

IP and link checks are re-ordered so that a NIC's link is available at the time...

00ca374a 06/17/2011 03:57 pm Guido Trotter

Add one forgotten element to the file disk path

This was left out during the fix/refactoring

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

d2129ac4 06/17/2011 02:26 pm Guido Trotter

LUInstanceCreate: fix file storage dir calculation

- Move the calculation at the beginning of CheckPrereq, since it doesn't
modify any state, but still keeps locks
- Only perform the calculation if the actual disk template is filebased
- Error out if there is no defined file storage dir...

1bb1e297 06/17/2011 02:26 pm Guido Trotter

Check that filestorage is enabled when requested

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

2112772e 06/17/2011 02:25 pm Guido Trotter

Remove self.op.file_storage_dir isabs check

As the manpage says, and the code does, self.op.file_storage_dir is an
additional relative path under the cluster file storage dir. As such it
should not be absolute.

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

a9b42993 05/26/2011 03:40 pm Michael Hanselmann

TLReplaceDisks: Move assertion checking locks

Commit 1bee66f3 added assertions for ensuring only the necessary locks
are kept while replacing disks. One of them makes sure locks have been
released during the operation. Unfortunately the commit added the check...

cb156a3e 05/24/2011 07:48 pm Iustin Pop

node evac: don't call IAllocator if no instances

Currently we generate an empty list only for the '-n node' invocation,
but for iallocator we still call the iallocator (which needs an RPC
call, etc.). By moving the computation of instances outside of the if...

9b64e486 05/16/2011 04:24 pm Iustin Pop

Introduce instance start/stop no_remember attribute

This will allow stopping or starting an instance without changing the
remembered state. While this seems counter-intuitive at first (it will
create cluster verify errors), it can help in a few corner cases:...

fe66bb7d 05/13/2011 09:59 pm Apollon Oikonomopoulos

Merge remote branch 'origin/stable-2.4' into grnet-2.4

Conflicts:
lib/hypervisor/hv_kvm.py
lib/opcodes.py
- Merge

Signed-off-by: Apollon Oikonomopoulos <>

9711e69d 05/13/2011 04:20 pm Apollon Oikonomopoulos

TLMigrateInstance: do not migrate to self

Check that the instance is not being migrated to its current primary node
during CheckPrereq. Otherwise migration is aborted because the instance is
already running and cleaned-up, which causes the running instance to be killed....

b92a2f3e 05/11/2011 07:14 pm Iustin Pop

Try to prevent instance memory changes N+1 failures

There are multiple bugs with the code checking for N+1 failures in the
instance memory changes which needs significant changes, in the
meantime we can at least:

- change the warning message into an error (--force will skip checks)...

9d5d703e 05/10/2011 06:44 pm Apollon Oikonomopoulos

Remove self._migrater use from TLMigrateInstance

Comply with changes introduced in f1ea1be, as we forgot to completely remove
self._migrater.target_node from TLMigrateInstance.

Signed-off-by: Apollon Oikonomopoulos <>

456798ab 05/09/2011 02:22 pm Iustin Pop

Add --no-wait-for-sync when converting to drbd

Currently, when converting an instance from plain to DRBD, the
instance is blocked during the entire resync period. This patch adds
the --no-wait-for-sync so that the operation finishes as soon as the
DRBD sync has started, without waiting for the entire sync. This makes...

c8a96ae7 05/09/2011 12:18 pm Iustin Pop

Recreate instance disks: allow changing nodes

This patch introduces the option of changing an instance's nodes when
doing the disk recreation. The rationale is that currently if an
instance lives on a node that has gone down and is marked offline,
it's not possible to re-create the disks and reinstall the instance on...

931413f6 05/06/2011 05:35 pm Iustin Pop

Rename instance: only show new name when different

It makes not sense to show messages like:
Fri May 6 02:04:01 2011 - INFO: Resolved given name 'instance18' to
'instance18'

So we'll skip the message if the resolved name is identical to the
requested one....

9d5b1371 05/06/2011 01:46 pm Michael Hanselmann

Fix race condition in LUGroupAssignNodes

The original code would get all node information and their groups
without before acquiring the necessary locks. With this patch the node
information is only retrieved once all locks have been acquired. Groups
are locked optimistically and verified after acquiring the node locks....

6d1b57f0 05/05/2011 10:43 am Apollon Oikonomopoulos

TLMigrateInstance: restore live migration behavior

Commit b9187ba2 erroneously incorporated parts of the code of
TLMigrateInstance.CheckPrereq into TLMigrateInstance._RunAllocator. As a
result, all migrations performed without the use of an iallocator would end-up...

958d01f8 05/03/2011 06:53 pm Michael Hanselmann

cmdlib: Fix typo, s/nick/NIC/

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

8dddc5bc 05/03/2011 12:25 pm Iustin Pop

A small optimisation in cluster verify

This removes (count of instances + count of nodes) lock
acquires/releases.

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

72740756 05/02/2011 04:08 pm Iustin Pop

A few docstring fixes

At least one generates an epydoc error :)

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

20d317d4 05/02/2011 03:41 pm Iustin Pop

Cluster verify: check for missing bridges

Currently cluster verify doesn't check for bridge information; the
only checks are done at instance create and failover/migrate
time. This means a cluster that seems healthy will fail creation jobs.

This patch implements a simple verification that all nodes (in the...

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

TLReplaceDisks: Use implicit loop for dictionary

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

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

Release unneeded locks while replacing disks

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

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

Allow creating the DRBD metadev in a different VG

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

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

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

Make _GenerateDRBD8Branch accept different VG names

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

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

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

Fix for multiple VGs - PlainToDrbd and replace-disks

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

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

Replace disks: keep the meta device in the same VG

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

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

Fix punctuation in an error message

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

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

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

Prevent readding of the master node

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

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

Improve error messages in cluster verify/OS

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

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

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

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

Fix typo in LUGroupAssignNodes

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

aef68e02 04/20/2011 11:22 am Apollon Oikonomopoulos

Remove 20-second sleeps from _ExecMigration

TLMigrateInstance._ExecMigration included two 10-second sleeps for unknown
reasons.

This patch removes them.

Signed-off-by: Apollon Oikonomopoulos <>

a593b742 04/20/2011 11:20 am Apollon Oikonomopoulos

Shared storage instance failover

Modify LUFailoverInstance to enable shared storage instances to failover.
Shared storage instance failover requires either a target node or an
iallocator to determine the target node. If none is given, the cluster default...

88f8f0f7 04/20/2011 11:20 am Apollon Oikonomopoulos

Rename DTS_NET_MIRROR to DTS_INT_MIRROR

DTS_INT_MIRROR better contrasts DTS_EXT_MIRROR.

Signed-off-by: Apollon Oikonomopoulos <>
[: updated patch for changed context]
Signed-off-by: Iustin Pop <>
Reviewed-by: Iustin Pop <>

b94590c6 04/20/2011 11:20 am Iustin Pop

Instance failover: fix bug for INT_MIRROR cases

Patches db366d9a and aac4511a added support for EXT_MIRROR instances,
but inadvertently introduced a bug: for INT_MIRROR cases, we don't
need (actually we can't support) neither an iallocator nor a target
node....

dc5377f8 04/20/2011 11:20 am Apollon Oikonomopoulos

Allow disk adoption during disk addition

It is now possible to allow adopting a disk during gnt-instance modify time, as
follows:

gnt-instance modify --disk add:adopt=/path/to/disk (blockdev)
or
gnt-instance modify --disk add:adopt=<lvname> (plain)

We do the same checks as during instance creation....

c8a9285e 04/20/2011 11:20 am Apollon Oikonomopoulos

Temporary workaround for hail to work with shared storage

Signed-off-by: Apollon Oikonomopoulos <>

f1ea1bef 04/20/2011 11:20 am Apollon Oikonomopoulos

Fix parts of shared storage migration

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

53197381 04/20/2011 11:20 am Apollon Oikonomopoulos

Core shared file storage support

This patch introduces core file storage support, consisting of the following:

A configure-time switch for enabling/disabling shared file storage
support and controlling the shared file storage location:
--with-shared-file-storage-dir=. Shared file storage configuration is then...

391d0261 04/20/2011 11:20 am Apollon Oikonomopoulos

Shared block storage support

This patch introduces basic shared block storage support.

It introduces a new storage backend, bdev.PersistentBlockDevice, to
use as a backend for shared block storage. The new bdev requires a new
BLOCKDEV_DRIVER_MANUAL constant with the value "manual" and uses it as...

5e2e3283 04/20/2011 11:20 am Apollon Oikonomopoulos

IAllocator changes to work with shared storage

Make cmdlib.IAllocator shared-storage-aware. IAllocator requires secondary
nodes only on DTS_NET_MIRROR disk templates and requires no secondaries for
DTS_EXT_MIRROR templates.

Signed-off-by: Apollon Oikonomopoulos <>...

b9187ba2 04/20/2011 11:20 am Apollon Oikonomopoulos

Shared storage instance migration

Modify LUMigrateInstance and TLMigrateInstance to allow instance migrations for
instances with DTS_EXT_MIRROR disk templates.

Migrations of shared storage instances require either a target node, or an
iallocator to determine the target node. If none is given, the cluster default...

9a833381 04/20/2011 11:20 am Apollon Oikonomopoulos

Shared storage node migration

Modify LUNodeMigrate to provide node migration for nodes with instances using
shared storage. gnt-node migrate has to be passed an iallocator for migration
of shared storage instances to be performed. When using a shared storage...

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

disk wiping: fix bug in chunk size computation

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

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

Release locks before wiping disks during instance creation

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

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

Nicer formatting for group query error

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

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

76ae1d65 04/07/2011 12:46 pm Michael Hanselmann

Merge branch 'stable-2.4' into devel-2.4

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

LUInstanceQueryData: Don't acquire locks unless requested

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

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

Display the actual memory values in N+1 failures

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

d62ed502 03/10/2011 04:45 pm Stephen Shirley

Treat empty oob_program param as default

There is currently no way to reset oob_program back to its default from
the cmdline, which causes problems for cluster-merge. This patch means
that the following now works:
gnt-cluster modify --node-parameters oob_program=...

377972f4 03/10/2011 04:30 pm Iustin Pop

Fix bug in instance listing with orphan instances

Nodes can return unknown instances, so we shouldn't use the name as an
index without checking.

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

4ecb94d5 02/28/2011 02:56 pm Iustin Pop

Fix potential data-loss bug in disk wipe routines

For the 2.4 release, we only add the missing RPC calls. However, this
needs to be fixed properly, by preventing usage of mis-configured
disks.

Also add a bit more logging so that it's directly clear on which node...

b31393a1 02/21/2011 12:07 pm Iustin Pop

Merge branch 'devel-2.4' into stable-2.4

  • devel-2.4: (23 commits)
    Fix pylint warnings
    Change the list formatting to a 'special' chars
    Add support for merging node groups
    Add option to rename groups on conflict
    Fix minor docstring typo
    Fix HV/OS parameter validation on non-vm nodes...
74f258b6 02/17/2011 07:25 pm Iustin Pop

NodeQuery: don't query non-vm_capable nodes

Because non-vm_capable nodes most likely don't have a hypervisor
configured and/or storage, so the call will fail anyway.

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

9c24736c 02/17/2011 07:25 pm Iustin Pop

Fix HV/OS parameter validation on non-vm nodes

Currently, there is at least one LU that does wrong validation of HV
parameters (against all nodes, LUClusterSetParams). It's possible to
fix this case, but I went and modified the base functions to filter
out non-vm_capable nodes so all callers are protected....

043beb38 02/17/2011 07:24 pm Iustin Pop

Fix LUClusterRepairDiskSizes and rpc result usage

This LU was introduced before the RPC result conversion from .data to
.payload, and it has managed to keep the old-style usage (how? it's
the only LU that does so). Fix by changing to payload, and add some...

ccfbbd2d 02/17/2011 07:24 pm Iustin Pop

Fix RPC mismatch in blockdev_getsize[s]

Commit 92fd2250 added consistency checks in the RPC layer, which broke
the call_blockdev_getsizes RPC call (declared with 's' at the end in
rpc.py, without 's' in the node daemon).

The immediate fix is to correct the rpc function name, the long term...

80a01808 02/10/2011 06:00 pm Iustin Pop

Fix bug in iallocator data structures build

Commit a1cef11c fixed non-vm_capable nodes export, but broke
inadvertently offline nodes. The update of the dict only needs to
happen for online nodes, in the 'if' block.

Without this patch, offline nodes keep the data from the last node...

11dcce87 02/09/2011 01:23 pm Iustin Pop

Fix error msg for instances on offline nodes

Currently, for both primary and secondary offline nodes, we give the
same message:
- ERROR: instance instance14: instance lives on offline node(s) node3
- ERROR: instance instance15: instance lives on offline node(s) node3...

a3de2ae7 02/09/2011 10:53 am Iustin Pop

cluster verify and instance disks on offline nodes

Currently, cluster-verify says:

- ERROR: instance instance14: couldn't retrieve status for disk/0 on node3: node offline
- ERROR: instance instance14: instance lives on offline node(s) node3
- ERROR: instance instance15: couldn't retrieve status for disk/0 on node3: node offline...

f7661f6b 02/09/2011 10:52 am Iustin Pop

Cluster verify and N+1 warnings for offline nodes

Currently, cluster verify shows warnings N+1 warnings for offline
nodes having any redundant instances since the memory data that we
have for those nodes is zero, so any instance will trigger the
warning....

c417e115 01/28/2011 06:44 pm Iustin Pop

Re-create instance disk symlinks on activate

This patch implements recreation of instance disk symlinks when the
activate-disks operation is run. Until now, it was not possible to
re-create these symlinks without stopping and starting or migrating an
instance as the RPC call where this is done was in instance startup...

5d28cb6f 01/28/2011 04:31 pm Michael Hanselmann

Export console information as query field

This makes it possible to get the console information via a LUXI query.

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

0389c42a 01/28/2011 02:43 pm Stephen Shirley

Prevent removal of last node group

- Add check in ConfigWriter to prevent last node group from being
removed
- Tidy up error message a bit

Signed-off-by: Stephen Shirley <>
Signed-off-by: Iustin Pop <>
Reviewed-by: Iustin Pop <>

e431074f 01/28/2011 02:42 pm René Nussbaumer

Fix instance list for instances running multiple times

If for some reason (e.g. failed migration) one instance is running
on multiple nodes the output can become inconsistent. To get that error
and make it consistent between runs we make the call on the secondary...

fb87cbeb 01/27/2011 07:07 pm Michael Hanselmann

Merge branch 'devel-2.3' into devel-2.4

  • devel-2.3:
    Wait for master to become available on initialization
    Start all daemons on cluster initialization
    Clarify job processing order in admin guide
    Improve option descriptions
    Remove two unused variables...
58a59652 01/27/2011 06:39 pm Iustin Pop

cluster verify: add hvparams verification

Currently, the validity of the hypervisor parameters is only checked
at init/modification time, and not in the cluster verify. This is bad,
as it can lead to inconsistent state that is only detected when the
next modification (which can be unrelated) is made, leading to...

397693d3 01/26/2011 08:20 pm Iustin Pop

Verify disks: increase parallelism and other fixes

The recent work on multi-VG support has converted LUClusterVerifyDisks
into doing serialised calls to each node, as each node can have
different VGs. This is suboptimal, especially for big clusters, where...

c9c41373 01/26/2011 06:53 pm Iustin Pop

Deactivate disks: allow skipping hypervisor checks

In some cases (e.g. the hypervisor not running at all), we might want
to force disk deactivation, skipping the hypervisor checks. I believe
this is not a good thing to do all the time, so this patch adds the...

afc3c260 01/26/2011 04:50 pm Iustin Pop

Show hidden/blacklisted OSes in cluster info

Since we can blacklist/hide non-existing OSes (for preseeding), we
cannot query easily the OSes themselves for this status. Hence we
export the entire lists in cluster info (which should be cheaper than
gnt-os diagnose)....

5ca09268 01/26/2011 02:26 pm Iustin Pop

Fix LUOSDiagnose and non-vm_capable nodes

This skips non-vm_capable nodes in the OS diagnose search, since such
OSes will not be used anyway on those nodes.

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

8b437a6e 01/26/2011 01:45 pm René Nussbaumer

Rephrasing two error messages for auto promotion

Using auto_promote or auto-promote can lead to confusion on using the
user facing interfaces. While auto-promote is fine for CLI it's not for
RAPI and vice-versa. This patch should eliminate this confusion....

6ec77900 01/26/2011 11:17 am René Nussbaumer

Fix payload check for out-of-band health

This logic error was not detected before as health has not been
implemented on the cli and therefore no QA code existed for that.

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

edd8fe4c 01/26/2011 11:11 am René Nussbaumer

Fix premature abort of LUOobCommand due to result.Raise

This is a bug I recognized while doing tests on gnt-node health. A left
over result.Raise line causes premature abort of LUOobCommand on the
first node failing the RPC call. This is not expected behaviour for...

b04808ea 01/24/2011 05:32 pm René Nussbaumer

Modify LUOobCommand to support multiple nodes

This will change the result of this LU to a query like result. A list of
tuples with information about the state of the data.

It also includes the modification to the commands calling this opcode.

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

075b62ca 01/20/2011 07:43 pm Iustin Pop

Another fix for LUClusterVerifyDisks

The LVM queries should only be done for vm_capable nodes. In order to
do this, we also add a new ConfigWriter method to abstract that query.

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