Statistics
| Branch: | Tag: | Revision:

root / lib / cmdlib.py @ 896a03f6

History | View | Annotate | Download (464.7 kB)

# Date Author Comment
35007011 07/28/2011 02:08 pm Iustin Pop

Remove requirement for variants on OS API v15+

This removes:

- the check in backend that such OSes have a variants file or if it
exists that is non-empty; in order for this to work, we also rework
the logic in backend._TryOSFromDisk to allow for optional OS files...

f39b695a 07/28/2011 11:16 am Iustin Pop

Fix group verification of offline nodes

Commit aef59ae7 reworked the file verification, but forgot to take
into account offline nodes.

The fact that this was not detected yet is due to the fact that we
don't test clusters with offline nodes in QA :(

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

6ba2bdc2 07/27/2011 03:50 pm Iustin Pop

Disallow variants for OSes that don't support them

Otherwise we get no variant checks at all, but the variant is still
recorded.

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

9f039737 07/26/2011 02:22 pm Iustin Pop

Add helper for declaring all locks shared

This patch adds a function for abstracting
“dict.fromkeys(locking.LEVELS, 1)”. It also removes a duplicate
assignment for the share_locks in LUInstanceQuerydata.

Additionally, it moves the _SupportsOob function to the helper...

ae1a845c 07/26/2011 01:53 pm Michael Hanselmann

Change OpClusterVerifyDisks to per-group opcodes

Until now verifying disks, which is also used by the watcher,
would lock all nodes and instances. With this patch the opcode
is changed to operate on per nodegroup, requiring fewer locks.

Both “gnt-cluster” and “ganeti-watcher” are changed for the...

c4ff2275 07/26/2011 01:53 pm Michael Hanselmann

cmdlib: Give instance name in error message on group evacuation

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

3ddd94f9 07/26/2011 01:53 pm Michael Hanselmann

cmdlib: Factorize mapping instance LVs to node/volume

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

d0c8c01d 07/25/2011 04:55 pm Iustin Pop

Most boring patch ever

s/'/"/ in (hopefully) the right places.

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

f965260c 07/22/2011 02:32 pm Michael Hanselmann

gnt-instance info: Return static info if node offline

Before this patch “gnt-instance info” would fail with the error message
“Error checking node $node: Node is marked offline” if the instance's
primary node is marked offline and the user didn't explicitely request...

3b61ee44 07/22/2011 02:30 pm Michael Hanselmann

Ignore offline primary when failing over

When the source node for a failover is marked offline, there's no need
to require the user to specify “--ignore-consistency”.

To make it work at all, a number of bugs introduced by the merge of
migration and failover are also fixed by this patch....

dbfde874 07/22/2011 12:07 pm Michael Hanselmann

Merge branch 'devel-2.4'

  • devel-2.4:
    gnt-node volumes: Fix instance names

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

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

463f75a5 07/21/2011 04:25 pm Michael Hanselmann

Fix instance failover (missing argument)

More fallout from commit 323f9095b49d.

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

67a315ba 07/21/2011 02:20 pm Michael Hanselmann

Add error state to LUGroupEvacuate's exceptions

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

08f8c82c 07/21/2011 12:39 pm Michael Hanselmann

Add new opcode for evacuating group

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

7bb60c2d 07/21/2011 08:33 am Michael Hanselmann

Fix node evacuation

- Adjust for new iallocator result format
- Split some code into helper functions

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

b795a775 07/11/2011 05:53 pm Michael Hanselmann

Merge branch 'devel-2.4'

  • devel-2.4:
    ht: Add new check for numbers
    Fix off-by-one bug in job serial generation
    Shorten some unbreakable lines in man pages
    Correct some spelling mistakes
    Fix bug in recreate-disks for DRBD instances
    Fix a lint warning...
323f9095 07/08/2011 03:15 pm Stephen Shirley

Add gnt-instance start --pause

Creates the instance, but pauses execution before booting. This combined
with 'gnt-instance console' unpausing instances means that the entire
boot process can be viewed and monitored.

Signed-off-by: Stephen Shirley <>...

21d70642 07/06/2011 12:31 am Michael Hanselmann

Remove old node evacuation opcode

LUNodeEvacStrategy has been replaced with LUNodeEvacuate.

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

e1f23243 07/06/2011 12:31 am Michael Hanselmann

Add new opcode to evacuate node

This new opcode will replace LUNodeEvacStrategy, which used to return a
list of instances and new secondary nodes. With the new opcode the
iallocator (if available) is tasked to generate the necessary operations
in the form of opcodes. This moves some logic from the client to the...

d748d9a7 07/01/2011 05:43 pm Iustin Pop

Fix cluster verify for empty node groups

There were some implicit assertions in the code that all node groups
have nodes, which is not necessarily true.

Additionally, the patch does a wrapping change.

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

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

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

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

de2b0d1d 06/23/2011 05:47 pm Guido Trotter

Merge branch 'devel-2.4'

  • devel-2.4:
    LUInstanceCreate: use opcodes.RequireFileStorage
    Don't add ",boot=on" to disks on kvm >= 0.14
    KVM: fix per-instance stored UID value

Conflicts:
lib/cmdlib.py
- use RequireSharedFileStorage there

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

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

LUInstanceCreate: use opcodes.RequireFileStorage

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

2492231f 06/17/2011 03:57 pm Guido Trotter

Merge branch 'devel-2.4'

  • devel-2.4:
    Add one forgotten element to the file disk path

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

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

08b000be 06/17/2011 02:36 pm Guido Trotter

Merge branch 'devel-2.4'

  • devel-2.4:
    LUInstanceCreate: fix file storage dir calculation
    Check that filestorage is enabled when requested
    Remove self.op.file_storage_dir isabs check

Conflicts:
lib/cmdlib.py
- use constants.DTS_FILEBASED...

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

Add DTS_FILEBASED constant

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

60152bbe 06/15/2011 06:11 pm Michael Hanselmann

Replace iallocator's mreloc w/ change-group and node-evac

This patch removes all occurrences of the “multi-relocate” iallocator
mode. Commit 25ee7fd845 updated the design document and introduced
separate modes, “change-group” and “node-evacuate”. The constants aren't...

fceb01fe 06/08/2011 08:44 am Michael Hanselmann

Fix locking issues in LUClusterVerifyGroup

- Use functions in ConfigWriter instead of custom loops
- Calculate nodes only once instances locks are acquired, removes one
potential race condition
- Don't retrieve lists of all node/instance information without locks...

c5312a10 06/08/2011 08:44 am Michael Hanselmann

cmdlib: Acquire BGL for LUClusterVerifyConfig

LUClusterVerifyConfig verifies a number of configuration settings. For
doing so, it needs a consistent list of nodes, groups and instances. So
far no locks were acquired at all (except for the BGL in shared mode)....

fbb2c636 06/07/2011 03:32 pm Michael Hanselmann

Export/import instance tags

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

0f8810df 06/07/2011 03:31 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...

720f56c8 06/01/2011 08:24 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....

9dfa16fc 06/01/2011 08:24 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 <>...

509bec87 05/31/2011 12:40 pm Iustin Pop

iallocator: fix incomplete refactoring

Commit fdbe29ee changed the iallocator modes from 'r'/'w' to
'ro'/'rw', but forgot one check in LUTestAllocator. This patch just
completes the replacements.

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

ea4dc982 05/31/2011 12:40 pm Iustin Pop

iallocator: export the hypervisor value

In 'allocate' mode, the documentation specifies that we export the
hypervisor value (“Allocation needs, in addition: … hypervisor, the
hypervisor of this instance”) and we need that on input, however we
don't actually export it....

36bbf5b0 05/31/2011 12:40 pm Iustin Pop

iallocator: change default for target_groups

Per the design doc, the target_groups request key "if present, it must
either be the empty list, or contain a list of group UUIDs". Currently
it defaults to None/null, which is not valid.

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

dd47a0f0 05/31/2011 12:40 pm Iustin Pop

iallocator: rename mem_size to memory

Currently, the iallocator in 'allocate' requires mem_size on input
but serialises that as 'memory'. This inconsistency makes it hard to
automatically validate the parameters, hence this patch renames
mem_size.

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

297b0cd3 05/31/2011 12:40 pm Iustin Pop

iallocator: add ht-checking for the request

Currently, we only ht-check the result value from the iallocator, and
we send whatever we happen to check manually in the LUs that call the
iallocator.

This is not good, as we have to duplicate checks in many places, and...

b7a1c816 05/30/2011 06:07 pm Michael Hanselmann

gnt-node migrate: Use LU-generated jobs

Until now LUNodeMigrate used multiple tasklets to evacuate all primary
instances on a node. In some cases it would acquire all node locks,
which isn't good on big clusters. With upcoming improvements to the LUs
for instance failover and migration, switching to separate jobs looks...

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

f8fa4175 05/25/2011 05:55 pm Michael Hanselmann

Fix bug in LUNodeMigrate

Commit aac4511a added CheckArguments to LUNodeMigrate with a call to
_CheckIAllocatorOrNode. When no default iallocator is defined,
evacuating a node would always fail:

$ gnt-node migrate node123
Migrate instance(s) '...'?
y/[n]/?: y...

df0d116f 05/24/2011 07:52 pm Michael Hanselmann

Merge branch 'devel-2.4'

  • devel-2.4:
    node evac: don't call IAllocator if no instances

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

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

e0508c86 05/20/2011 06:20 pm Guido Trotter

Fix a couple of style mistakes

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

adfa3b26 05/20/2011 01:37 pm Adeodato Simo

Cluster verify: check for nodes/instances with no group

Previously, all nodes and instances would always be visited/verified. By
driving the verification by node group now, we will miss nodes and
instances that can't be reached from existing node groups, should that rare...

fe870648 05/20/2011 01:37 pm Adeodato Simo

Cluster verify: fix LV checks for split instances

When sharding by group, if a mirrored instance is split (primary and
secondary) between two groups, its volumes will not be properly checked:
the group of the primary will warn about a missing volume in the secondary,...

2dad1652 05/20/2011 01:37 pm Adeodato Simo

Cluster verify: make NV_NODELIST smaller

To cope with increasing cluster sizes, we now make nodes try to contact all
other nodes in their group, and one node from every other group.

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

d23a2a9d 05/20/2011 01:37 pm Adeodato Simo

Cluster verify: verify hypervisor parameters only once

The list of all hypervisor parameters has to be computed in
LUClusterVerifyGroup, since it needs to be passed to nodes as
NV_HVPARAMS. However, it is better only to verify said parameters once,
out of LUClusterVerifyConfig....

bf93ae69 05/20/2011 01:37 pm Adeodato Simo

Split LUClusterVerify into LUClusterVerify{Config,Group}

With this change, LUClusterVerifyConfig becomes a "light" LU that only
verifies the global config and other, master-only settings, and the bulk of
node/instance verification is done by LUClusterVerifyGroup, which only acts...

a5c30dc2 05/20/2011 01:37 pm Adeodato Simo

Cluster verify: factor out error codes and functions

We move all error code definitions, plus the _Error and _ErrorIf helpers,
to a private _VerifyErrors mix-in class that can be later shared by the new
two cluster verify LUs.

(_Error and _ErrorIf code was moved around verbatim, except to disable...

14970c32 05/20/2011 01:37 pm Adeodato Simo

Cluster verify: make "instance runs in wrong node" node-driven

Previously, the "instance should not be running in this node" error was
computed by verifying, for each instance, whether any node other than its
primary was running it. But this is not a well-suited approach if we were...

4e272d8c 05/20/2011 01:37 pm Guido Trotter

Verify an absent vm_capable node for files

If we're not verifying all nodes, adding a node outside the current
group for file checksums helps us making sure checksums are the same in
all of the cluster.

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

2f10179b 05/20/2011 01:37 pm Adeodato Simo

Cluster verify: master must be present for _VerifyFiles

This commit prepares the call to _VerifyFiles for the case when the master
node is not one of the nodes that's being verified (which will be the case
for all node groups but one). We fix it by always passing master info and...

cf692cd0 05/20/2011 01:37 pm Adeodato Simo

Cluster verify: don't assume we're verifying all nodes/instances

This commit fixes a few initial simple cases in which it was assumed that
we're always working over the whole cluster. With this change, we
differentiate between "nodes/instances to verify" and "checks that need...

c711d09e 05/20/2011 01:37 pm Adeodato Simo

Cluster verify: gather node/instance list in CheckPrereq

This commit introduces no behavior changes, and is only a minor refactoring
that aids with a cleaner division of future LUClusterVerify work. The
change consists in:

- substitute the {node,instance}{list,info} structures previously created...
6aac5aef 05/20/2011 11:11 am Iustin Pop

Merge remote branch 'origin/devel-2.4'

  • origin/devel-2.4:
    Fix errors in hooks documentation
    Clarify a bit the noded man page
    Note --no-remember in NEWS
    Switch QA over to using instance stop --no-remember
    Implement no_remember at RAPI level
    Implement no_remember at CLI level...
a01225a6 05/19/2011 01:54 pm Michael Hanselmann

iallocator: Stricter check for multi-evac result

Check new secondary nodes' group like it's already done for
multi-relocation requests.

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

3d45d304 05/19/2011 01:54 pm Michael Hanselmann

cmdlib: Use ganeti.ht for checking iallocator result

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

4f898534 05/17/2011 06:05 pm Michael Hanselmann

cmdlib: Remove punctuation from error messages

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

bee581e2 05/16/2011 04:41 pm Michael Hanselmann

Add new iallocator mode to LUTestAllocator

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

55011921 05/16/2011 04:41 pm Michael Hanselmann

cmdlib.IAllocator: Add multi-relocate support

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

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

73cdf9a3 05/13/2011 06:33 pm Michael Hanselmann

cmdlib.IAllocator: Fewer temporary variables

Reduce the number of temporary variables and generate dictionaries in
one go.

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

dcfb969a 05/13/2011 05:23 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....

2a9bc156 05/12/2011 07:37 pm Michael Hanselmann

cmdlib.IAllocator: Use lookup table for mode-specific data

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

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

d9f99d88 05/11/2011 06:41 pm Guido Trotter

Remove references to acquired_locks

These sneaked in from 2.4 during the merge, but this attribute is
actually gone in the master branch.

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

93384b8c 05/11/2011 05:14 pm Guido Trotter

Merge branch 'devel-2.4'

  • devel-2.4:
    Use floppy disk and a second CDROM on KVM
    Document the selection of instance kernels
    Make root_path an optional hypervisor parameter
    Some man page updates
    Add 2 new variables to the OS scripts environment
    Add --no-wait-for-sync when converting to drbd...
ff8ab07e 05/10/2011 05:37 pm Iustin Pop

Use the new dry-run mode in cmdlib

This will hopefully detect potential LVM (or any other storage, when
they implement it) issues before committing changes just on some
nodes.

Unfortunately due to the dry_run opcode handling, we can't integrate
this into the usual handling (as we need to activate the disks before...

a59faf4b 05/10/2011 05:37 pm Iustin Pop

Implement grow dry-run at RPC level

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

04df3c7c 05/10/2011 05:35 pm Michael Hanselmann

cmdlib: Sort nodes for OOB commands

Also reorder the methods to match all other LUs.

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

7ee045a0 05/10/2011 05:34 pm Michael Hanselmann

cmdlib: Use helper for expanding nodes for OOB commands

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

1d789a97 05/10/2011 05:34 pm Michael Hanselmann

cmdlib: Expand instances using helper for repairing disks

Also change the way “share_locks” is filled.

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

e730f372 05/10/2011 03:20 pm Michael Hanselmann

Fix bug introduced in commit 0d5a0b96

When removing “acquired_locks” in commit 0d5a0b96, I didn't remember
that it does not contain the Big Ganeti Lock.

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

5ed4c956 05/10/2011 02:12 pm Apollon Oikonomopoulos

Fix lock release in TLMigrateInstance

Commit 52f33103 introduced lock release factorization, replacing manual
lock release using utility functions. However, it broke
TLMigrateInstance due to a typo (passing the Tasklet to ReleaseLocks
instead of the parent LU). We fix this by passing the LU to...

0d5a0b96 05/10/2011 02:03 pm Michael Hanselmann

cmdlib: Remove acquired_locks attribute from LUs

The “acquired_locks” attribute in LUs is used to keep a list of acquired
locks at each lock level. This information is already known in the lock
manager, which also happens to be the authoritative source. Removing the...

0db3d0b5 05/10/2011 02:02 pm Michael Hanselmann

cmdlib: Use local alias for lock manager

Saves some typing and we'll use it more often in the future.

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

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

e3303a4e 05/06/2011 06:47 pm Iustin Pop

Fix instance failover/migration w.r.t TLMigrateInstance

Commit 1c6e5787 removed the iallocator and target_node keyword
parameters from TLMigrateInstance, but I didn't update their use in
LUInstanceFailover and (not fully) in LUInstanceMigrate.

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

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

1c6e5787 05/05/2011 02:25 pm Apollon Oikonomopoulos

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

8b0273a5 05/05/2011 02:09 pm Michael Hanselmann

Use node group locking for replacing disks

This is one of the first opcodes to make use of node group locking. To
get an instance's node groups, the instance's nodes need to be looked
at. Due to a previous design decision nodes are locked after the group,...

54bd7d76 05/05/2011 12:41 pm Apollon Oikonomopoulos

TLMigrateInstance: Fix live migration breakage

Commit 77fcff4 unintentionally incorporated code from
TLMigrateInstance.CheckPrereq into TLMigrateInstance._RunAllocator, presumably
during a rebase from earlier versions of the patch to the 2.5 codebase. As a...

46c936d6 05/04/2011 05:19 pm Michael Hanselmann

cmdlib: Update error messages, remove some punctuation

- Clarify some error messages
- Remove unnecessary punctuation
- Merge two if conditions in one place

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

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

52f33103 04/29/2011 05:15 pm Michael Hanselmann

cmdlib: Factorize lock releasing

There will be more lock releasing with upcoming changes, so this will
centralize the logic behind it (what locks to keep, which variables to
update, etc.).

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

3de8301d 04/29/2011 04:01 pm Michael Hanselmann

Merge branch 'devel-2.4'

  • devel-2.4:
    TLReplaceDisks: Use implicit loop for dictionary
    Release unneeded locks while replacing disks
    locking: Export “list_owned” from lock manager
    gnt-instance: Fix typo in error message

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

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

TLReplaceDisks: Use implicit loop for dictionary

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