Statistics
| Branch: | Tag: | Revision:

root / lib @ 0376655e

# Date Author Comment
0376655e 06/23/2011 04:53 pm Guido Trotter

remove bootstrap._InitSharedFileStorage

This function is a copy of bootstrap._InitFileStorage with the following
differences:
- check constants.ENABLE_SHARED_FILE_STORAGE and not
constants.ENABLE_FILE_STORAGE
- use different local variable names
- one different error string...

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

194c8ca4 06/10/2011 06:48 pm Michael Hanselmann

jqueue: Allow loading of archived jobs

Chained jobs need to look at previous jobs, including archived ones. A
nice side-effect of this change is the ability to look at archived jobs
using “gnt-job info <id>” as long as the ID is known.

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

13699e58 06/10/2011 05:50 pm René Nussbaumer

Adding basic abstraction layer for caching

This includes an own simple cache implementation and an
interface to a memcache instance.

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

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

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

a57981c5 06/01/2011 08:24 pm Apollon Oikonomopoulos

Add tagging option to gnt-instance create

Add TAG_ADD_OPT option to cli.py and use it in gnt-instance. Modify
cli.GenericInstanceCreate() accordingly.

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

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

85061b9a 06/01/2011 08:14 pm Michael Hanselmann

http.client: Make debug log less noisy

The HTTP client code generates quite a lot of debug log messages. With
this patch they're hidden unless explicitely enabled in the code.

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

07346f28 06/01/2011 08:08 pm Michael Hanselmann

Merge branch 'devel-2.4'

  • devel-2.4:
    jqueue: Fix potential race condition when cancelling queued jobs
    Fix argument order in ReserveLV and ReserveMAC

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

66bd7445 05/31/2011 07:17 pm Michael Hanselmann

jqueue: Fix potential race condition when cancelling queued jobs

When a job was cancelled, its status would be changed and the file
written again. Since this was a final status, the job file could be
moved anytime for archival. If the job was still in the queue, however,...

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

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

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

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

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

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

8785b71b 05/30/2011 06:03 pm Apollon Oikonomopoulos

Fix argument order in ReserveLV and ReserveMAC

ConfigWriter.ReserveLV() and Configwriter.ReserveMAC() called
TemporaryReservationManager.Reserve() with the ec_id and resource arguments
swapped. As a result, two reservation attempts for the same resource type...

b99b607f 05/30/2011 02:08 pm Michael Hanselmann

ht: Accept both int and long as integers

This fixes a unittest failure on 32 bit systems. A recently added
unittest for ht.TJobId uses a rather large number (2347625220). On 64
bit systems it is stored as “int”. On 32 bit systems however, Python
uses “long”. The two types can be intermixed in Python as the...

8620f50e 05/27/2011 03:14 pm Michael Hanselmann

ht: Add checks for anything, regexp, job ID, container items

The check for container items is useful for tuples and/or lists with
non-uniform values. The “anything” check can be used when any value
should be accepted for an item.

The job ID check, which uses the regexp check, will be used for...

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

8d99a8bf 05/25/2011 06:50 pm Michael Hanselmann

cli.JobExecutor: Handle empty name, allow adding job IDs

With LU-generated jobs only the ID is known.

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

60452edf 05/25/2011 06:50 pm Michael Hanselmann

cli.JobExecutor: Use counter for indexing jobs

If “SubmitPending” were mixed with calls to “QueueJob”, jobs in the
internal structures will get duplicate indices. With this change each
queued job is assigned a unique index, which will be used for sorting...

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

dac81741 05/25/2011 12:30 pm Michael Hanselmann

config: Add method to get members of nodes' groups

This will be used for locking during node evacuation.

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

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

bd614fa4 05/24/2011 07:40 pm Michael Hanselmann

Merge branch 'devel-2.4'

  • devel-2.4:
    RPC/Backend: Make UploadFile uid and gid agnostic
    Resolve uid/gid upon mainloop run
    GetEntResolver: Make it possible to resolve uid/gid to name
    utils.algo: Add InvertDict to invert a dict
    autotools: Add noded group...
3f1e065d 05/24/2011 06:22 pm Iustin Pop

gnt-debug: rename allocator to iallocator

I'm always confused by this strange difference, so let's rename the
command to match what it tests.

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

9a914f7a 05/24/2011 12:37 pm René Nussbaumer

RPC/Backend: Make UploadFile uid and gid agnostic

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

b604d0c8 05/24/2011 12:37 pm René Nussbaumer

Resolve uid/gid upon mainloop run

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

44fbd23b 05/24/2011 12:37 pm René Nussbaumer

GetEntResolver: Make it possible to resolve uid/gid to name

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

0a9a0e5a 05/24/2011 12:37 pm René Nussbaumer

utils.algo: Add InvertDict to invert a dict

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

03881cb0 05/24/2011 12:37 pm René Nussbaumer

autotools: Add noded group

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

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

Fix a couple of style mistakes

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

40167d65 05/20/2011 01:37 pm Adeodato Simo

Cluster verify: accept a --node-group option

This will trigger a ClusterVerifyGroup operation only on the specified
group, skipping other groups as well as cluster-wide verifications.

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

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...
235407ba 05/19/2011 06:03 pm Michael Hanselmann

cli: Replace hardcoded disk templates with constants

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

eb279644 05/19/2011 02:01 pm Michael Hanselmann

mcpu: Add missing docstring to _ProcessResult

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

c71b049c 05/19/2011 02:01 pm Michael Hanselmann

config: Add function to get instances in node group

This will be used for evacuating instances in a node group.

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

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

a464ce71 05/17/2011 06:05 pm Michael Hanselmann

ht: Add strict check for dictionaries

This allows checking specific dictionary items, unlike TDict
or TDictOf.

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

42c161cf 05/16/2011 04:41 pm Michael Hanselmann

gnt-debug: New iallocator mode

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

23cfbaab 05/16/2011 04:41 pm Michael Hanselmann

Add constants for multi-relocation iallocator mode

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

2ba39b8f 05/16/2011 04:24 pm Iustin Pop

Implement no_remember at RAPI level

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

885a0fc4 05/16/2011 04:24 pm Iustin Pop

Implement no_remember at CLI level

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

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

3dbe3ddf 05/13/2011 03:57 pm Michael Hanselmann

SharedLock: Implement downgrade from exclusive to shared mode

If a job needs to modify a resource and then wait for a result, it must
acquire the resource lock in exclusive mode. In some cases it would be
possible to only have a shared lock for waiting. Until now it was not...

9133387e 05/12/2011 07:38 pm Michael Hanselmann

gnt-debug: Use constants for iallocator direction

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

fdbe29ee 05/12/2011 07:38 pm Michael Hanselmann

gnt-debug, opcodes: Use constants for iallocator

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

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

f01738fc 05/12/2011 03:40 pm Iustin Pop

Preload the string-escape code in noded

This encoding, part of the standard Python installation, is used by
the pickle module (in turn used by subprocess when handling
failures in program execution). Preloading it means that Python will
cache it in memory so that even if the disk goes away or just the...

4b9e8c93 05/12/2011 03:40 pm Iustin Pop

Abstract ignore_consistency opcode parameter

Two opcodes already use it and we need it for a third, time to add a
constant for it.

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

bb851c63 05/12/2011 03:40 pm Iustin Pop

Fix a bug in LUInstanceMove

The opcode parameter ignore_consistency was used in the LU, but not
actually declared in the OpCode. The patch adds it in the opcode and
the command line client.

ObQuote — Please, please, can I have static typing?

Signed-off-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...
fba7f911 05/10/2011 07:40 pm Marco Casavecchia

Use floppy disk and a second CDROM on KVM

Hi all,
this patch will add 3 new KVM parameters and a new option.

New Parameters:
- floppy_image_path = "" -> Specify the floppy image to load as
floppy disk.
- cdrom2_image_path = "" -> Specify a second cdrom image to load on...

0aeeb6e3 05/10/2011 06:32 pm Michael Hanselmann

jqueue: Update worker thread name to include opcode summary

With this patch, the worker thread name is updated to include a short
summary of the opcode (basically its OP_ID). The base name of job queue
threads is shortened from “JobQueue” to “Jq”. Logs and the lock monitor...

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

7fe23d47 05/10/2011 05:37 pm Iustin Pop

Implement dryrun mode for BlockDev.Grow()

This is always called with False from backend for now.

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

7adf7814 05/10/2011 11:48 am René Nussbaumer

Make root_path an optional hypervisor parameter

This will allow us an easy migration to pv-grub, because a set root_path
confused pv-grub.

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

3ce9a5e7 05/09/2011 06:49 pm Michael Hanselmann

opcodes: Add function for compact summary

Depending on the opcode and its parameters, the existing “Summary”
function can give a rater long summary. For displaying the summary in
logs and in the lock monitor, it should be shorter. Hence this new
function is added to just use the opcode ID with common prefixes...

c307ee34 05/09/2011 06:34 pm Michael Hanselmann

Show locksets in lock monitor

When all locks contained in a set are acquired, the lockset's internal
lock is acquired with the same mode. With this patch the internal lock
will show up on the lock monitor, named e.g. “instances/[lockset]”.

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

83f2d5f6 05/09/2011 06:33 pm Michael Hanselmann

locking: Make parameter to condition's wait() positional

It is always used in the locking code. Unittests are updated.

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