Statistics
| Branch: | Tag: | Revision:

root / lib @ 195f90bf

# Date Author Comment
195f90bf 12/09/2011 05:48 pm Agata Murawska

Empty ipolicy fix

Signed-off-by: Agata Murawska <>
Reviewed-by: Michael Hanselmann <>

6b9ff5e2 12/09/2011 05:47 pm Agata Murawska

SimpleFillIpolicy corrected

Signed-off-by: Agata Murawska <>
Reviewed-by: Iustin Pop <>

4f725341 12/09/2011 05:47 pm Agata Murawska

Change constants: ISPECS suffixes to prefixes

Signed-off-by: Agata Murawska <>
Reviewed-by: Iustin Pop <>

5959f75d 12/09/2011 05:44 pm Agata Murawska

mem_count is now mem_size everywhere

Signed-off-by: Agata Murawska <>
Reviewed-by: Michael Hanselmann <>

fb644e77 12/08/2011 07:24 pm Agata Murawska

GroupSetParam supports instance policy changes

Signed-off-by: Agata Murawska <>
Reviewed-by: Iustin Pop <>

1f5d9bf8 12/08/2011 07:24 pm Agata Murawska

AddGroup supports instance policy

Signed-off-by: Agata Murawska <>
Reviewed-by: Iustin Pop <>

edd49f9b 12/08/2011 07:24 pm Agata Murawska

Group query now calculates ipolicy

Signed-off-by: Agata Murawska <>
Reviewed-by: Iustin Pop <>

38c37a51 12/08/2011 07:24 pm Agata Murawska

Verification of instance policy for gnt-cluster verify

Signed-off-by: Agata Murawska <>
Reviewed-by: Iustin Pop <>

81e3ab4f 12/08/2011 07:24 pm Agata Murawska

Introduce instance policy on nodegroup level

Signed-off-by: Agata Murawska <>
Reviewed-by: Iustin Pop <>

be499e31 12/08/2011 07:24 pm Agata Murawska

Cluster-level instance policy - other

Signed-off-by: Agata Murawska <>
Reviewed-by: Iustin Pop <>

e1a6850f 12/08/2011 07:23 pm Agata Murawska

SetClusterParams supports instance policy changes

Signed-off-by: Agata Murawska <>
Reviewed-by: Iustin Pop <>

18bb6d28 12/08/2011 07:23 pm Agata Murawska

InitCluster supports instance policy

Signed-off-by: Agata Murawska <>
Reviewed-by: Iustin Pop <>

32017174 12/08/2011 07:23 pm Agata Murawska

Instance policy command line support

Signed-off-by: Agata Murawska <>
Reviewed-by: Iustin Pop <>

918eb80b 12/08/2011 07:23 pm Agata Murawska

Introduce instance policy on cluster level

Signed-off-by: Agata Murawska <>
Reviewed-by: Iustin Pop <>

fcf5b670 12/08/2011 06:03 pm Guido Trotter

Add a balloon device to all kvm instances

This can be used to resize their memory (for now only manually, as
ganeti doesn't do the job yet)

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

89da2ff3 12/08/2011 06:03 pm Guido Trotter

kvm: get more accurate info from qmp, if possible

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

fc84cd5d 12/08/2011 06:03 pm Guido Trotter

kvm: make qmp connections more robust

Currently qmp fails at connect() time if there are socket errors. (eg.
if the instance was started without qmp). Add some better checking.

Also in the only place where we use it avoid hiding the error connecting
to the socket as a failure to read the password file....

eb93b673 12/08/2011 06:03 pm Guido Trotter

Move ErrnoOnStr backend function to utils

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

ad1dd4c7 12/08/2011 01:36 pm Andrea Spadaccini

Add net-custom and disk-custom DRBD parameters

Those parameters can be used to pass options directly to drbdsetup disk
and drbdsetup net.

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

8002e46b 12/08/2011 01:36 pm Andrea Spadaccini

Add the metavg DRBD disk parameter

This parameter represents the default metadata volume group for DRBD
disks. It can be overridden at instance creation time using the metavg
instance disk parameter.

Signed-off-by: Andrea Spadaccini <>...

ac00bf1b 12/08/2011 01:36 pm Andrea Spadaccini

Move LD parameters constants to the LDP_ namespace

Add the LDP_ prefix to the LD parameters-related constants, in order to
avoid pollution in the global constants namespace.

Signed-off-by: Andrea Spadaccini <>
Reviewed-by: Iustin Pop <>

23805716 12/08/2011 01:32 pm Andrea Spadaccini

Restore diskparams in the gnt-group options check

Commit a82823 accidentally removed opts.diskparameters from the list of
parameters that are checked for presence in gnt-group, thus causing
invocations of gnt-group modify with only disk paramaters to fail....

11dc66f3 12/08/2011 11:51 am Bernardo Dal Seno

Add new back-end parameter "always_failover"

Instances that have this parameter is set to True are never migrated, but
instead they can only fail over. There are some cases where freezing the
kernel may cause problems, and hence this behavior is preferable....

2da9f556 12/08/2011 10:48 am René Nussbaumer

gnt-cluster: Allow modify disk/hv state

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

a8282327 12/08/2011 10:48 am René Nussbaumer

gnt-group: Allow modify disk/hv state

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

0ec2ce46 12/08/2011 10:48 am René Nussbaumer

gnt-node: Allow modify disk/hv state

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

0ba177e2 12/08/2011 10:48 am René Nussbaumer

cmdlib: Adding hv/disk state dict helper functions

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

38f29a36 12/08/2011 10:48 am René Nussbaumer

cli: Add common command flags for hv/disk state

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

784cd737 12/08/2011 10:48 am René Nussbaumer

cmdlib: Adding _UpdateAndVerifySubDict helper

This helps with 2 dimensional dicts.
For example the hv_state and the disk_state dicts.

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

8a69b3a8 12/06/2011 06:34 pm Andrea Spadaccini

Add DRBD barriers disk parameters

Add the disk-barriers and meta-barriers parameters described in the
design doc.

constants.py:
  • add the needed LD and DT-level parameters, use the defaults provided
    at ./configure time;
  • add constants representing which barriers should be disabled and the...
406a9c91 12/02/2011 06:55 pm Michael Hanselmann

cmdlib: Make use of cluster's new “primary_hypervisor” property

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

0fbedb7a 12/02/2011 06:55 pm Michael Hanselmann

objects.Cluster: Add property for primary hypervisor

This is useful for working with a node's hypervisor state, where only
the primary hypervisor will be authoritative.

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

43e11798 12/02/2011 06:29 pm Andrea Spadaccini

LV stripes parameters for plain and drbd

configure.ac:
  • change the documentation of --with-lvm-stripecount parameter to
    reflect the change
doc/design-resource-model.rst:
  • change drbd/stripes to drbd/data-stripes and drbd/metastripes to
    drbd/meta-stripes...
6e9814a1 12/01/2011 01:04 pm Andrea Spadaccini

Add DRBD8 static resync speed disk parameter

Signed-off-by: Andrea Spadaccini <>
Reviewed-by: Iustin Pop <>

5e99141b 12/01/2011 01:04 pm Andrea Spadaccini

Use disk parameters in Logical Units

Signed-off-by: Andrea Spadaccini <>
Reviewed-by: Iustin Pop <>

94dcbdb0 12/01/2011 01:04 pm Andrea Spadaccini

Use disk parameters in noded

  • add the params attribute to BlockDev, and add the corresponding
    parameter to all the BlockDev classes;
  • change the Create, Assemble and FindDevice factory functions interface
    to accept as parameters an objects.Disk instance and a list of...
bc5d0215 12/01/2011 01:03 pm Andrea Spadaccini

Add basic support for disk parameters

objects.py: * add disk parameters to Disk, Cluster, NodeGroup.

constants.py: * add dictionaries that will hold types and default values for disk
parameters (for now, empty).

test/ganeti.constants_unittest.py:...

1e89a135 12/01/2011 12:38 pm Michael Hanselmann

More fixes after commit 78519c106

A quick QA run successfully finished with these changes.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Andrea Spadaccini <>

ff3be305 11/30/2011 03:52 pm Michael Hanselmann

Fix “node_info” RPC result

Commit 78519c106 broke everything. Here's the fix.

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

54ac87c0 11/30/2011 01:57 pm Michael Hanselmann

query: Add fields for node's disk/hv state

These fields just return the node attribute's contents. They will be
used by the watcher to detect out of date node states.

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

16ca6243 11/30/2011 01:57 pm Michael Hanselmann

hv_xen: Report memory used by hypervisor

- Report memory used by hypervisor (“mem_hv” as per resource model
design document, “xmem” in htools)
- Also report number of CPUs available to Dom0
- Some other, small changes

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

1d60fec6 11/30/2011 01:57 pm Michael Hanselmann

hv_xen: Export number of CPUs for Dom0

This will be stored in the node object and used for calculations.

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

5f06ce5e 11/30/2011 01:57 pm Michael Hanselmann

Add objects for disk/hv state

- Data objects
- Serialization/deserialization
- Unittests

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

634d30f4 11/30/2011 12:28 pm Michael Hanselmann

objects.Node: Add static hv/disk state

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

18bf85b1 11/30/2011 12:28 pm Michael Hanselmann

hv_xen: Use constant for “Domain-0” name

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

78519c10 11/30/2011 12:26 pm Michael Hanselmann

Change “node_info” RPC to accept multiple VGs/hypervisors

Keeping the node state up to date will require information from multiple
VGs and hypervisors. Instead of requiring multiple calls this change
allows a single call to return all needed information. Existing users...

c6a622cf 11/30/2011 12:16 pm Michael Hanselmann

locking: Allow checking if lock is owned in certain mode

With this patch the “LockSet” and “GanetiLockManager” classes have a new
function to check if a single or a group of locks (at a certain level)
have been acquired in a specific mode. This will be used for additional...

c1ef933c 11/24/2011 04:11 pm Michael Hanselmann

Merge branch 'devel-2.5'

  • devel-2.5:
    ConfigWriter: Fix epydoc error
    ConfigWriter: Fix epydoc error

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

1df43aa3 11/24/2011 02:22 pm Michael Hanselmann

Merge branch 'stable-2.5' into devel-2.5

  • stable-2.5:
    ConfigWriter: Fix epydoc error

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Andrea Spadaccini <>

1d4930b9 11/24/2011 02:11 pm Michael Hanselmann

ConfigWriter: Fix epydoc error

The parameter is called “mods”, not “modes”.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Andrea Spadaccini <>
(cherry picked from commit 1730d4a1ab56ef36d082b614d3d0ab13f3e14a85)

75191077 11/24/2011 12:31 pm Michael Hanselmann

Merge branch 'devel-2.5'

  • devel-2.5:
    LUGroupAssignNodes: Fix node membership corruption
    LUGroupAssignNodes: Fix node membership corruption
    Fix pylint warning on unreachable code
    LUNodeEvacuate: Disallow migrating all instances at once
    Separate OpNodeEvacuate.mode from iallocator...
2b9245ff 11/24/2011 11:04 am Michael Hanselmann

Merge branch 'stable-2.5' into devel-2.5

  • stable-2.5:
    LUGroupAssignNodes: Fix node membership corruption
    Fix pylint warning on unreachable code
    LUNodeEvacuate: Disallow migrating all instances at once
    LUNodeEvacuate: Locking fixes
    Fix error when removing node...
54c31fd3 11/24/2011 10:39 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...

9c4f4dd6 11/24/2011 10:32 am Michael Hanselmann

Fix pylint warning on unreachable code

Commit c50452c3186 added an exception when all instances should be
evacuated off a node, but did so in a way which made pylint complain
about unreachable code.

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

c50452c3 11/23/2011 03:25 pm Michael Hanselmann

LUNodeEvacuate: Disallow migrating all instances at once

There is a design issue in the iallocator interface which prevents us
from doing this.

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

cb92e7a1 11/23/2011 03:03 pm Michael Hanselmann

Separate OpNodeEvacuate.mode from iallocator

Until now the iallocator constants for node evacuation
(IALLOCATOR_NEVAC_*) were also used for the opcode. However, it turned
out this was due to a misunderstanding and is incorrect. This patch adds
new constants (with the same values) and changes the affected places....

50722bfd 11/23/2011 03:03 pm Michael Hanselmann

LUNodeEvacuate: Locking fixes

When evacuating a node, only an assertion without informative text was
used to check if the necessary node locks had been acquired. This was on
top of evaluating the list of nodes without having a node group lock, so
this was changed as well....

d05326fc 11/23/2011 11:51 am Michael Hanselmann

Fix error when removing node

ConfigWriter.GetAllInstancesInfo returns a dictionary, not a list.
Removing a node would fail with “too many values to unpack”.

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

2e1a6024 11/22/2011 07:55 pm Guido Trotter

constants: reindent a few dicts

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

b2e233a5 11/22/2011 07:55 pm Guido Trotter

Remove BE_MEMORY from beparams but keep compatibility

Queries are already compatible (be/memory is an alias for be/maxmem) and
import/exports work. This patch patch fixes it for cluster init, modify
and instance add/start/modify.

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

63c55458 11/22/2011 07:55 pm Guido Trotter

cmdlib: use MAXMEM for all operations

Since for now we can only start instances at their maximum memory, we
modify all checks to use that value. When we'll have better support for
using a value in between some of these checks have to move to minimum
memory....

f5a4b9ce 11/22/2011 04:53 pm Guido Trotter

hypervisors: use maximum memory for all operations

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

1db993d5 11/22/2011 04:53 pm Guido Trotter

ImportExport: use max and min memory params

Import uses the old "memory" parameter to populate the two new ones, if
they're not overridden already.

FinalizeExport exports minmem and maxmem, but also memory, as maxmem, to
allow importing to older ganeti clusters....

31d1791a 11/22/2011 04:52 pm Guido Trotter

Query: allow query on maximum and minimum memory

be/memory is kept as an alias.

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

b5ef2316 11/22/2011 04:52 pm Guido Trotter

ShowInstanceConfig: show max and min memory

The old "memory" value is kept as maxmem, for now, for
retrocompatibility.

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

3fa222b4 11/22/2011 04:52 pm Guido Trotter

instance hooks: pass maximum and minimum memory

Also pass the "memory" value for retrocompatibility, for now.

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

8c72ab2b 11/22/2011 04:52 pm Guido Trotter

beparams: add min/max memory values

For now the new "memory" parameter stays there, but it will be removed
later. The new values are just taken from the old one, in this patch.

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

d529599f 11/21/2011 12:04 pm Andrea Spadaccini

Set DRBD sync speed in DRBD8.Assemble

Instead of relying on clients of the class for setting the device speed
(and, in general, the DRBD parameters), move this responsibility inside
the Assemble method.

Signed-off-by: Andrea Spadaccini <>...

edea391e 11/21/2011 11:52 am Andrea Spadaccini

Reapply commit 2a6de57 after merge

In the last merge I erroneously discarded the changes introduced by
commit 2a6de57 "Check the results of master IP RPCs". This commit
reintroduces them.

Signed-off-by: Andrea Spadaccini <>
Reviewed-by: Michael Hanselmann <>

f73e5568 11/21/2011 10:45 am Michael Hanselmann

Fix QA breakage caused by merge 0e82dcf9

Patch tested and confirmed to work by Andrea Spadaccini
<>.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Andrea Spadaccini <>

cb4d3314 11/21/2011 09:36 am Michael Hanselmann

masterd: Initialize job queue only after RPC client

Otherwise jobs started after an unclean master shutdown will fail as
they depend on the RPC client.

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

5483fd73 11/21/2011 09:36 am Michael Hanselmann

masterd: Shutdown only once running jobs have been processed

Until now, if masterd received a fatal signal, it would start shutting
down immediately. In the meantime it would hang while jobs are still
processed. Clients couldn't connect anymore to retrieve a jobs' status....

2d6b5414 11/21/2011 09:36 am Michael Hanselmann

daemon: Support clean daemon shutdown

Instead of aborting the main loop as soon as a fatal signal (SIGTERM or
SIGINT) is received, additional logic allows waiting for tasks to finish
while I/O is still being processed.

If no callback function is provided the old behaviour--shutting down...

f5acf5d9 11/21/2011 09:36 am Michael Hanselmann

daemon: Allow custom maximum timeout for scheduler

This is needed in case the scheduler user (daemon.Mainloop in this case)
has other timeouts at the same time. Needed for clean master shutdown.

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

6d5ea385 11/21/2011 09:36 am Michael Hanselmann

jqueue: Add code to prepare for queue shutdown

Doing so will prevent job submissions (similar to a drained queue),
but won't affect currently running jobs. No further jobs will be
executed.

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

ef52306a 11/21/2011 09:36 am Michael Hanselmann

workerpool: Export function to check for running tasks

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

e0545ee9 11/21/2011 09:36 am Michael Hanselmann

daemon: Use counter instead of boolean for mainloop abortion

Also log a message when a fatal signal was received and use dict.items.

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

0e82dcf9 11/18/2011 01:48 pm Andrea Spadaccini

Merge branch 'devel-2.5'

  • devel-2.5: (24 commits)
    LUInstanceCreate: Release unused node locks
    htools: rework message display construction
    hbal: handle empty node groups
    Document OpNodeMigrate's result for RAPI
    Ensure unused ports return to the free port pool...
0c1441eb 11/18/2011 12:41 pm Michael Hanselmann

Merge branch 'stable-2.5' into devel-2.5

  • stable-2.5:
    htools: rework message display construction
    hbal: handle empty node groups
    Document OpNodeMigrate's result for RAPI
    Fail if node/group evacuation can't evacuate instances
    LUInstanceRename: Compare name with name...
05c2e624 11/18/2011 12:05 pm Michael Hanselmann

Merge branch 'devel-2.4' into devel-2.5

  • devel-2.4:
    Ensure unused ports return to the free port pool
    Re-wrap a paragraph to eliminate a sphinx warning

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

754cc530 11/17/2011 05:24 pm Agata Murawska

Backwards compatibity - added admin_up to query

Signed-off-by: Agata Murawska <>
Reviewed-by: Michael Hanselmann <>

d29036c1 11/17/2011 03:49 pm Iustin Pop

Warn if we enable maintain-node-health without confd

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

aa224134 11/17/2011 03:49 pm Iustin Pop

Adapt watcher for ENABLE_CONFD

If confd is disabled, do not automatically restart it. Furthermore, we
can't run maintenance actions if it is disabled so log a warning.

Note that I haven't completely disabled the NodeMaintenance class with
ENABLE_CONFD = False because I think they are at two different levels...

cd8b0072 11/17/2011 03:49 pm Iustin Pop

Add toggle for enabling/disabling confd

Doesn't do anything yet.

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

e8a701f6 11/17/2011 03:39 pm Michael Hanselmann

masterd: Don't pass mainloop to server class

It is not used.

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

27caa993 11/17/2011 03:39 pm Michael Hanselmann

workerpool: Allow processing of new tasks to be stopped

This is different from “Quiesce” in the sense that this function just
changes an internal flag and doesn't wait for the queue to be empty.
Tasks already being processed continue normally, but no new tasks will...

2db05c94 11/17/2011 03:39 pm Michael Hanselmann

workerpool: Use loop to ignore spurious notifications

This saves us from returning to the worker code when there is no
task to be processed.

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

c8d0be94 11/17/2011 03:39 pm Michael Hanselmann

jqueue: Factorize code checking for drained queue

This is in preparation for a clean(er) shutdown of masterd.

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

ac2c8bc0 11/17/2011 03:31 pm Michael Hanselmann

LUInstanceCreate: Release unused node locks

After iallocator ran we can release any unused node locks. Since they
must be in exclusive mode this should improve parallelization during
instance creation.

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

69f0340a 11/17/2011 01:04 pm Michael Hanselmann

cmdlib.TLReplaceDisks: Use itertools.count

… instead of a variable which needs to be incremented for every step.

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

57de31c0 11/16/2011 03:15 pm Agata Murawska

Transition into and out of offline instance state

Signed-off-by: Agata Murawska <>
Reviewed-by: Iustin Pop <>

2e04d454 11/16/2011 03:15 pm Agata Murawska

Introduce admin_state as 3-values data type

Signed-off-by: Agata Murawska <>
Reviewed-by: Iustin Pop <>

9ca8a7c5 11/16/2011 03:15 pm Agata Murawska

Rename admin_up to admin_state

Signed-off-by: Agata Murawska <>
Reviewed-by: Iustin Pop <>

34598551 11/16/2011 03:15 pm Agata Murawska

Fixed typo in _VerifyResultRow

Signed-off-by: Agata Murawska <>
Reviewed-by: Iustin Pop <>

9c709b31 11/16/2011 10:41 am René Nussbaumer

algo: Make a dict from an flat list

This is in preparation to take deeper dict constructs from the command
line. You can feed the optionslist directly constructed of type
"identkeyval" to it and it returns a fully deflated dict.

This is mainly needed for the resource model changes where we have to...

ee2b99e3 11/15/2011 03:50 pm Michael Hanselmann

locking: Make some aliased methods public

Some methods, such as “_is_owned” and “list_owned”, have been aliased to
make them public for a while now. This patch makes the actual
implementation public.

SharedLock's “is_owned” needs to be aliased to “_is_owned” to remain...

63e6a7f6 11/15/2011 03:00 pm Michael Hanselmann

cmdlib._ReleaseLock: Do nothing if no locks are owned

The locking library doesn't like it when “release()” is called on
a lockset or lock which isn't held by the current thread. Instead
of modifying the library, which could have other side-effects,
this rather simple change avoids errors when a LU simply tries to...

4d4eae2a 11/15/2011 11:52 am Michael Hanselmann

Use resource lock when setting node parameters

Also acquire instance and resource locks in shared mode (see comment).

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

42828156 11/15/2011 11:52 am Michael Hanselmann

Use node resource lock for replacing instance disks

If early-release is not used, the resource lock is kept while waiting
for disks to sync.

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

63742d78 11/15/2011 11:52 am Michael Hanselmann

Hold node resource locks while setting instance parameters

Important for when disks are converted. Release locks once they're not
needed anymore. Make liberal use of assertions.

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