Statistics
| Branch: | Tag: | Revision:

root / lib / cmdlib.py @ e8b46463

History | View | Annotate | Download (615.6 kB)

# Date Author Comment
5a9c7c34 05/09/2013 05:31 pm Bernardo Dal Seno

Refactor check for exclusive_storage in LUInstanceCreate

The order of evaluation of the conditions is changed, so it's easier to add
more (foreseen) checks for exclusive_storage.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Klaus Aehlig <>

8064c1af 05/09/2013 05:31 pm Bernardo Dal Seno

Refactor disk checks in LUInstanceSetParams

Prereq checks relative disks are grouped together and moved in a separate
method. This reduces the clutter in CheckPrereq().

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Klaus Aehlig <>

5e85269f 05/06/2013 11:47 am Thomas Thrainer

Check for uniform DRBD version in node group

This check is performed during gnt-cluster verify and outputs warnings
if at least two different DRBD versions are found within a node group.
In such a case, all nodes with their installed DRBD version are
displayed....

239364d0 05/06/2013 11:30 am Thomas Thrainer

Rename DRBD8 to DRBD8Dev

Right now the DRBD8 class has multiple responsibilities: a) it
reprensents a device which can be set up, grown, etc. and b) it
represents the whole DRBD system on a node which has a usermode helper,
which knows how to shut down all devices, etc. Therefore, the DRBD8Dev...

f2d87a5e 05/03/2013 04:47 pm Michele Tartara

Merge remote-tracking branch 'origin/stable-2.8'

Conflicts:
lib/bdev.py
lib/cmdlib.py

Signed-off-by: Michele Tartara <>
Reviewed-by: Klaus Aehlig <>

bcba4e01 05/03/2013 11:38 am Michele Tartara

Merge stable-2.7 into stable-2.8

Conflicts:
INSTALL
NEWS
configure.ac
src/Ganeti/Query/Group.hs
test/hs/Test/Ganeti/Objects.hs
test/hs/Test/Ganeti/Query/Query.hs

Signed-off-by: Michele Tartara <>
Reviewed-by: Helga Velroyen <>

7d60c3b5 05/02/2013 04:58 pm Helga Velroyen

gnt-cluster modify: check vg name only on vm-capable nodes

This fixes issue 432: when setting the volume group name, the presence
of the volume group was checked on all nodes. This patch now restricts
the check only to the vm-capable ones.

Signed-off-by: Helga Velroyen <>...

5519f036 04/29/2013 11:13 pm Bernardo Dal Seno

Merge branch 'stable-2.8' into master

  • stable-2.8: (42 commits)
    Add shelltests for hspace allocation
    hspace: Handle multiple ipolicy specs
    QA: Test multiple instance specs
    QA: Handle multiple instance specs
    Unit test for cli.FormatPolicyInfo()...
41044e04 04/29/2013 06:53 pm Bernardo Dal Seno

Add multiple min/max specs in instance policy

Now instance policies can contain more than one min/max specs. This is the
main element of the "Constrained instance sizes" section in the
"Partitioned Ganeti" design doc.

This is a big patch, but changing the type of a configuration item requires...

decc7ec9 04/29/2013 10:56 am Guido Trotter

Fix unclear error when replacing a nic's ip

The current error message ends up saying something like
'192.168.5.5' != 'network1', which is sort of non-intuitive (yes, of
course they are different). Fix this by explaining better what the
erroneous condition actually is....

2d237e93 04/26/2013 05:12 pm Helga Velroyen

Fix lint error in cmdlib

Was accidentally introduced by commit 912737ba.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Guido Trotter <>

912737ba 04/26/2013 04:34 pm Helga Velroyen

gnt-cluster modify/init: deprecate --no-lvm-storage

This patch does three things:

1. It deprecates the option '--no-lvm-storage' of 'gnt-cluster modify'
and 'gnt-cluster init'. Technically, it is not fully removed, but kept in order
to warn the user that it is no longer supported and that she should use...

f38270c6 04/26/2013 04:06 pm Klaus Aehlig

In plain to drbd conversion, rename LVs back on failure

Currently, if converting an instance from plain to drbd fails after
renaming the original LVs, the instance is left in an inconsistent
state. This commit tries to undo the renaming if a failure occurs...

95990bc5 04/24/2013 07:53 pm Klaus Aehlig

Merge branch 'stable-2.7' into stable-2.8

Conflicts:
NEWS
doc/rapi.rst

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Guido Trotter <>

1fa6fcba 04/24/2013 02:44 pm Michele Tartara

Reason trail implementation for "start"

Opcode-specific implementation of the reason trail for the instance
startup operation.

Signed-off-by: Michele Tartara <>
Reviewed-by: Guido Trotter <>

1f350e0f 04/24/2013 02:44 pm Michele Tartara

Reason trail implementation for "shutdown"

Opcode-specific implementation of the reason trail for the instance shutdown
operation.

Signed-off-by: Michele Tartara <>
Reviewed-by: Guido Trotter <>

0f511c8a 04/24/2013 01:02 pm Bernardo Dal Seno

Limit specs in instance policies are always complete

Specs used to specify limits in instance policies are always complete, even
at group level (only the whole limit set can be overridden). This is in
preparation for introducing multiple limits.

Signed-off-by: Bernardo Dal Seno <>...

55cec070 04/22/2013 02:19 pm Michele Tartara

Reason trail implementation for instance reboot

This commits allows ganeti to correctly forward the reason trail information
regarding instance reboot.

Signed-off-by: Michele Tartara <>
Reviewed-by: Helga Velroyen <>

aa922d64 04/22/2013 02:10 pm Michele Tartara

Remove old "reason" implementation

Remove the useless parts of the old, partial, implementation of the support for
tracking the reason of instances state change, before implementing the new
reason trail support, as per the design document.

Signed-off-by: Michele Tartara <>...

9b221ea4 04/22/2013 10:20 am Michele Tartara

Allow proper cleanup of partially created disks

During the creation of an instance, if the creation of disks fails, some
partially created disks might remain lying around. There is an already
implemented cleanup procedure, but it requires the disks to be listed in the...

3fe22abd 04/17/2013 07:04 pm Christos Stavrakakis

Support quering for devices names and UUIDs

Extend instance queries to list 'uuid' and 'name' fields of instance's
Disks and NICs.

Signed-off-by: Christos Stavrakakis <>
Signed-off-by: Dimitris Aragiorgis <>
Reviewed-by: Helga Velroyen <>

651cc3e2 04/17/2013 05:49 pm Christos Stavrakakis

Check that device names are unique and valid

Extend the CheckArguments phase of LUInstanceCreate and CheckPrereq
phase of LUInstanceSetParams to also check if the name parameters of
disks and NICs are unique and valid.

Signed-off-by: Christos Stavrakakis <>...

7e9e5ffc 04/17/2013 05:49 pm Christos Stavrakakis

Implement renaming Disks and NICs

Implement renaming Disks and NICs in LUInstanceSetParams. Remove code
that checked that changing disk mode was the only disk modification
supported. Also, handle case of 'None' value for 'name' parameter.

Signed-off-by: Christos Stavrakakis <>...

b21d488b 04/17/2013 05:49 pm Christos Stavrakakis

Support UUIDs and names when refering to a device

Modify _ApplyContainerMods function to lookup NICs/Disks not only by their
index inside the container, but also by their UUID or name. Abstract the
lookup code in new GetItemFromContainer function.

Make type of identifier in "opcode._TestInstSetParamsModList" to be...

2dd5390e 04/17/2013 05:49 pm Christos Stavrakakis

Support UUIDs and names when handling NICs/Disks

Handle UUID and name fields when creating/managing NICs and Disks. Also,
export NICs and Disks names to instance hooks environment.

Signed-off-by: Christos Stavrakakis <>
Signed-off-by: Dimitris Aragiorgis <>...

ae860154 04/17/2013 05:49 pm Christos Stavrakakis

Add IDISK_NAME and INIC_NAME constants

Declare IDISK_NAME and INIC_NAME constants and add them to the
IDISK_PARAMS_TYPE and INIC_PARAMS_TYPE.

Signed-off-by: Christos Stavrakakis <>
Signed-off-by: Dimitris Aragiorgis <>
Reviewed-by: Helga Velroyen <>

723ec678 04/12/2013 12:31 am Guido Trotter

Merge branch 'devel-2.7'

  • devel-2.7: (26 commits)
    Fix burnin install path
    Fix format of the NEWS file
    NEWS: Add news entry for the hail disk policy fix
    Add shelltests verifying hail applies disk ipolicy per disk
    Make the disks parameter available to the constructor...
e04ec58e 04/11/2013 11:53 pm Helga Velroyen

gnt-instance: no instance creation with disabled templates

This patch makes sure that no instances can be created which use
disk templates which are not enabled on the cluster.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Michele Tartara <>

9c8c69bc 04/11/2013 11:53 pm Helga Velroyen

Removes obsolete 'enabled storage types'

Since managing of different storage units is now done using
disk templates and not storage types, we remove the obsolete
enabled storage types.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Michele Tartara <>

83a309f9 04/11/2013 11:52 pm Helga Velroyen

gnt-cluster modify: verify instance's disk template usage

Adds a verification step to 'gnt-cluster modify' to make sure that no
disk template is disabled that is currently in use by at least one instance.

Signed-off-by: Helga Velroyen <>...

66af5ec5 04/11/2013 11:52 pm Helga Velroyen

gnt-cluster modify: modify enabled disk templates

Adds setting of the list of enabled disk templates to 'gnt-cluster modify'.
Note that this does not yet include any verification regarding disk templates
currently used by instances.

Signed-off-by: Helga Velroyen <>...

f0583b66 04/11/2013 02:27 pm Michele Tartara

Properly update iv_name of disks while changing templates

Trasforming the disk of an instance from DRBD to plain did not properly
update the iv_name of disks, leaving it to None.

This commit modifies _ConvertDrbdToPlain to properly set the iv_name
variables....

6cb65875 04/10/2013 12:18 pm Michele Tartara

Postpone non-urgent TODO from 2.7 to 2.9

Signed-off-by: Michele Tartara <>
Reviewed-by: Guido Trotter <>

0ea86154 04/03/2013 08:17 pm Klaus Aehlig

Restrict instance move to templates based on local files

Moving an instance is done by copying over the disks. Restrict
this to disk templates that are copyable. This avoids accidental
use on, e.g., the sharedfile template.

Signed-off-by: Klaus Aehlig <>...

79a304e1 04/03/2013 12:28 pm Klaus Aehlig

Do not _RemoveDisks after failed _CreateDisks

Now that _CreateDisks cleans up after itself in case of failure,
do not clean up at call sites, as there we have to overapproximate
thus potentially causing data loss.

Signed-off-by: Klaus Aehlig <>...

7d3484b8 04/03/2013 12:28 pm Klaus Aehlig

Make _CreateDisk clean up partially created disks on failure

_CreateDisk used to just throw an exception if _CreateBlockDev failed
leaving the caller in the state that some disks were created, without
precise knowledge which. Usually, the clean up then overapproximated...

75248363 04/02/2013 02:01 pm Klaus Aehlig

Make LUInstanceSetParams handle pnode parameter

If pnode is set LUInstanceSetParams now sets the primary node
accordingly. Unless force is set, it is verified that the instance
is no longer running on the old node.

Signed-off-by: Klaus Aehlig <>...

da5f09ef 03/27/2013 12:46 pm Bernardo Dal Seno

Refactor ispecs in ipolicy structures

Minimum and maximum instance specs are put together into a single element
of the instance policy. This is in preparation for introducing multiple
min/max specs.

Signed-off-by: Bernardo Dal Seno <>...

27263c47 03/22/2013 01:00 pm Helga Velroyen

gnt-cluster modify: limit storage type consistency check

This fixes the currently broken Q&A. The consistency check
for storage types is now only run when the 'enabled_storage_types'
are actually changed by 'gnt-cluster modify'.

Signed-off-by: Helga Velroyen <>...

9c6f0b51 03/22/2013 09:46 am Helga Velroyen

Check if instances use disk templates that get disabled

When disk templates get disabled via 'gnt-cluster modify', so far
we did not check if any instances still use a disk template of that
type. This patch adds the necessariy check.
It also includes adding a map of disk templates to storage types...

c270ee07 03/21/2013 05:41 pm Helga Velroyen

gnt-cluster modify: dis/enabling storage types

This patch extends the 'gnt-cluster modify' command to manipulate the list
of enabled storage types. Note that this currenlty does no validation
with respect to whether or not there are instances currently using a storage...

05b6f4d8 03/21/2013 12:13 pm Bernardo Dal Seno

Merge branch 'devel-2.7'

  • devel-2.7
    cfgupgrade: Fix error messages
    Update "FIXME" string in RAPI
    rapi client: add target_node to migrate instance
    Make diskless instances externally mirrored
    Fix migrate/failover -n for ext mirror storage

Trivial merge: no conflicts...

7b3d70d4 03/12/2013 06:29 pm Guido Trotter

Fix migrate/failover -n for ext mirror storage

This fixes issue 396.

- Fix a wrong comment that mentions drbd8 when actually the code acts
only on externally mirrored instances.
- Fix a wrong assert that requires failover/migrate to acquire the NAL
on externally mirrored instances: this is the case only when a...

46d21495 03/12/2013 01:32 pm Bernardo Dal Seno

Merge branch 'devel-2.7'

  • devel-2.7
    Add QA for instance creation with policy violation
    Add QA for policy-instance interactions
    Add QA for cluster policies
    Unit tests for objects.InstancePolicy + a fix
    Unit tests for objects.FillIPolicy() + small fix...
2477c1c5 03/11/2013 08:56 pm Bernardo Dal Seno

Fix instance policy checks for default back-end parameters

Policy violations of back-end parameters that used the cluster default
value were not reported in cluster-verify.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Guido Trotter <>

6ea2bb8c 03/11/2013 08:56 pm Bernardo Dal Seno

Fix restoring default instance specs in group policies

"default" was not accepted as a valid input value for instance specs in
group policies, due to a bug introduced in 2cc673a3e (and released with
2.6.0). Added QA for this and another similar case.

Signed-off-by: Bernardo Dal Seno <>...

cc4b2676 03/11/2013 08:56 pm Bernardo Dal Seno

Fix policy check for disk templates

Instance disk template is checked against the policy, and diskless
instances aren't checked for the number of disks.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Guido Trotter <>

6a327093 03/11/2013 08:56 pm Bernardo Dal Seno

Fix merge 8e09e801 that resulted in duplicated code

A fragment in LUInstanceCreate.CheckPrereq() removed in commit ba147ff8 was
reintroduced in merge 8e09e801 due to a change in df28c49b.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Guido Trotter <>

491d02ca 03/05/2013 01:56 pm Iustin Pop

Merge branch 'devel-2.7'

  • devel-2.7: (23 commits)
    Add export lists for files which didn't have them
    Fix Haskell compatibility tests with disabled file storage
    Fix QA with disabled file storage
    Fix convert-constants handling of booleans
    Fix handling of disabled (shared) file storage...
b6322b3e 03/04/2013 12:35 pm Iustin Pop

Fix LUTestAllocator with instance alloc

This is similar to commit 8775e62a; the addition of node_whitelist
broke this LU as well.

Signed-off-by: Iustin Pop <>
Reviewed-by: Bernardo Dal Seno <>

ac84befd 03/01/2013 06:54 pm Dimitris Aragiorgis

Fix networks in _PrepareNicModifications()

Passing --net 0:add,ip=5.5.5.5 failed due to a reference
of a non initialized variable (new_net_obj). Reorder the checks
and add some comments to be readable.

Signed-off-by: Dimitris Aragiorgis <>...

ce35bdeb 02/28/2013 04:16 pm Dimitris Aragiorgis

Remove early returns in network LUs

Remove any early returns in LUNetworkDisconnect/LUNetworkConnect
and replace them with if-else statements.

Signed-off-by: Dimitris Aragiorgis <>
Reviewed-by: Michael Hanselmann <>

6d96f116 02/26/2013 03:53 am Dimitris Aragiorgis

Fix locking in LUNetworkConnect()

Locks for group instances are aquired only if conflicts are checked.
To this end we must _CheckNodeGroupInstances() only then otherwise
this check will always fail (owned_instances will be []).

Signed-off-by: Dimitris Aragiorgis <>...

076a2938 02/26/2013 03:49 am Dimitris Aragiorgis

Fix networks in LUInstanceSetParams()

Params passed in _CreateNewNic() are not yet evaluated and include
the value passed by user for the network. A lookup must be done first
in order to find the corresponding network UUID which should be stored
in the newly created NIC object....

965e0e6a 02/25/2013 05:39 pm Michael Hanselmann

Wipe disks added through "gnt-instance modify"

In issue 353 Sascha Lucas reported that disks are not wiped when added
through “gnt-instance modify”. This patch adds this functionality and
updates the docstring for “_WipeDisks”.

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

76eeabc7 02/20/2013 06:13 pm Dimitris Aragiorgis

Locking fixes regarding Issue 324

LUNetworkConnect/LUNetworkDisconnect, in case locking is used, might
lock instances that exist in the requested node group. The acquired
locks should be checked if they are correct at the beginning of
CheckPrereq() via _CheckNodeGroupInstances()....

3234695b 02/20/2013 03:20 pm Michael Hanselmann

Merge branch 'devel-2.7'

  • devel-2.7:
    NEWS: Fix the fix in commit 82b6f9a
    NEWS: Fix release date for 2.7.0 beta1
    Minor fixes regarding nic.network change
    Fix issue 378
    NEWS: Mention multi-alloc and fix typo
    Add cfgupgrade for changing nic.network to uuid...
4a90bd4f 02/19/2013 04:27 pm Michele Tartara

Status change reason support for Reboot

Add support to the Reboot command for specifying the reason for the last
status change.

Some features are implemented as functions, even if used only once, because
they will be used by the future patches introducing reason support for all...

271fee18 02/18/2013 12:03 pm Dimitris Aragiorgis

Implement network locking in Instance queries

This is needed in case more info than each nic's network uuid is to
be returned. We need to lock networks to get valid data. For now
only the name is returned as an extra field. All other can be added
with trivial effort....

434b96a2 02/18/2013 12:03 pm Dimitris Aragiorgis

Modify query LUs to supoprt nic.network as uuid

Make _InstanceQuery gather all network info related to instance's
NICs and in case of NETQ_INST in _NetworkQuery get all network
uuids directly from nic.network

Signed-off-by: Dimitris Aragiorgis <>...

5a292b36 02/18/2013 12:03 pm Dimitris Aragiorgis

cmdlib changes to support nic.network as uuid

Refactor Instance related LUs to support nic.network as
a uuid. This removes all the unnecessary invocations to
LookupNetwork().

Signed-off-by: Dimitris Aragiorgis <>
Reviewed-by: Helga Velroyen <>

37a978e7 02/12/2013 03:39 pm Helga Velroyen

Force conflicts check in LUNetworkDisconnect

Until now if one disconnects a network with --no-conflicts-check
and then remove it, there is a possibility to leave instances with NICs
referencing non-existing networks. This causes network queries,
instance removal and modification to fail....

1b68f268 02/12/2013 03:39 pm Helga Velroyen

If _UnlockedLookupNetwork() fails raise error

Make _UnlockedLookupNetwork() raise OpPrereqError (instead of returning
None) in case it does not find the requested network. Remove useless and
duplicate code such as:

if net_uuid is None:
raise...

This is a cherry-pick of commit 1cce2c4....

3c296f56 02/12/2013 03:25 pm Michael Hanselmann

Merge branch 'devel-2.7'

  • devel-2.7: (23 commits)
    QA: Support additional arguments for initialization
    qa_utils: Fix order of arguments passed to _AssertRetCode
    Improve reporting on errors.AddressPoolError exceptions
    Add note about lv-tags rename...
74e642cd 02/12/2013 01:30 pm Michael Hanselmann

Improve reporting on errors.AddressPoolError exceptions

This patch improves the error messages given when a
“errors.AddressPoolError” exception is caught. Includes some small style
fixes.

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

5cfa6c37 02/11/2013 05:31 pm Dimitris Aragiorgis

Remove network_type slot (Issue 363)

This slot was not used by Ganeti so the same info can be
provided via tags. In order not to break configuration data
we add a FromDict() method in Network config object that
removes the deprecated network_type (if found) and then invoke...

48616625 02/11/2013 05:31 pm Dimitris Aragiorgis

Remove family and size from network objects

This info is not used by Ganeti and therefore is removed.

Signed-off-by: Dimitris Aragiorgis <>
Reviewed-by: Guido Trotter <>

7e8f03e3 02/11/2013 05:31 pm Dimitris Aragiorgis

Make use of HooksDict() for networks

This can be used in hypervisor code as well. For consistency
export *NETWORK_NAME and not *NETWORK throughout the code.

Signed-off-by: Dimitris Aragiorgis <>
Reviewed-by: Guido Trotter <>

3697def0 02/11/2013 04:21 pm Bernardo Dal Seno

Moved uniformity check for exclusive_storage flag

Cluster-verify used to check that the value of exclusive_storage is uniform
within node groups. Now, it's impossible to change the flag for a single
node, so that check has been removed and an equivalent one has been added...

250a9404 02/11/2013 04:21 pm Bernardo Dal Seno

"exclusive_storage" cannot be changed on single nodes

There's never been support for a configuration where nodes in the same node
group have different values of the exclusive_storage flag. This patch
disables the possibility to change the flag for individual nodes....

d89168ff 02/08/2013 01:40 pm Guido Trotter

OS environment: add network information

1) Move the hooks environment dict generator inside the object. This
also adds missing values such as network family and uuid.
2) Use the same generator both for the os environment and for the
instance hooks.
3) Update manpage and hooks documentation....

6bb939a2 01/30/2013 07:26 pm Helga Velroyen

Force conflicts check in LUNetworkDisconnect

Until now if one disconnects a network with --no-conflicts-check
and then remove it, there is a possibility to leave instances with NICs
referencing non-existing networks. This causes network queries,
instance removal and modification to fail....

1cce2c47 01/30/2013 07:26 pm Helga Velroyen

If _UnlockedLookupNetwork() fails raise error

Make _UnlockedLookupNetwork() raise OpPrereqError (instead of returning
None) in case it does not find the requested network. Remove useless and
duplicate code such as:

if net_uuid is None:
raise...

Signed-off-by: Dimitris Aragiorgis <>...

8bb2df7d 01/23/2013 06:34 pm Bernardo Dal Seno

_VerifyErrors()._Error() and _ErrorIf() are now consistent

_Error() didn't contain the logic for demoting errors to warnings and for
marking an operation as failed. Now _ErrorIf() is just a minimal wrapper
for _Error().

Unit tests included.

Signed-off-by: Bernardo Dal Seno <>...

525f0f98 01/18/2013 05:12 pm Christos Stavrakakis

Fix type of 'node_whitelist' request parameter

If opportunistic_locking is used, then 'node_whitelist' parameter passed
to the allocator is set to the LU's owned node locks. However, LU owned_locks
has type of 'set' while IReqInstanceAlloc expects type of...

d38bef8e 01/18/2013 12:13 pm Constantinos Venetsanopoulos

Run pre-migrate hooks on primary node too

Signed-off-by: Constantinos Venetsanopoulos <>
Reviewed-by: Guido Trotter <>

e32e1fb9 01/16/2013 07:09 pm Bernardo Dal Seno

Verify that templates are compatible with exclusive storage

cluster-verify reports instances with disk templates not compatible with
exclusive storage but that are running on nodes with the exclusive storage
flag set.

Signed-off-by: Bernardo Dal Seno <>...

525939d9 01/16/2013 07:09 pm Bernardo Dal Seno

cluster-verify checks uniformity of PV sizes

When exclusive_storage is set, cluster-verify complains if the size of PVs
is not uniform across a node group.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Michael Hanselmann <>

58bc6241 01/16/2013 07:09 pm Bernardo Dal Seno

add-node checks PVs

add-node now performs a few checks on LVM before adding a node to the
cluster.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Michael Hanselmann <>

39eb39dc 01/16/2013 07:09 pm Bernardo Dal Seno

Moved checks within LUClusterVerifyGroup

Almost all instance-specific checks have been moved from the Exec method to
the _VerifyInstance method. This cleans up Exec, which was becoming too big
even for pylint…

Signed-off-by: Bernardo Dal Seno <>...

d5a690cb 01/16/2013 07:09 pm Bernardo Dal Seno

cluster-verify checks that PVs are not shared

When exclusive_storage is set, cluster-verify complains if PVs are shared
among unrelated LVs.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Michael Hanselmann <>

22d9752a 01/16/2013 07:09 pm Bernardo Dal Seno

cluster-verify checks uniformity of exclusive_storage flag

The value of the flag should be the same for nodes within the same group.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Michael Hanselmann <>

60a7335b 01/11/2013 06:16 pm Dimitris Aragiorgis

Add locking to _NetworkQuery

Make use of _GetNames() to get the final network UUIDs.
Get networks info after having aquired the locks. Refactor
the code to use new local variables:

- "network_uuids" returned from _GetNames()
- "all_networks" that are the latest network info...
8d459129 01/07/2013 07:00 pm Michael Hanselmann

Add "use_locking" parameter to network query opcode

This was extracted from a patch by Dimitris Aragiorgis with the subject
“Add locking to _NetworkQuery”. The rest of the patch did no longer
apply and will require more work.

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

8775e62a 12/27/2012 03:33 pm Iustin Pop

Fix LUInstanceRecreateDisks with iallocator

Recent iallocator changes (commit fb60bc6a, “iallocator: Add node
whitelist”) broke the parameter validation for LUInstanceRecreateDisks
(the other LUs were manually fixed already):

$ gnt-instance recreate-disks -I hail --dry-run instance3...
b954f097 12/22/2012 11:47 am Constantinos Venetsanopoulos

Add the gnt-storage client

Add a new client called 'gnt-storage'.
The client interacts with the ExtStorage interface, similarly to
the way gnt-os interacts with the OS interface.

For now, only two commands are supported: 'info' and 'diagnose'.

'diagnose' calculates the node status of each provider on each node,...

108c0a3e 12/21/2012 10:26 pm Iustin Pop

Merge branch 'devel-2.6'

  • devel-2.6:
    Final update of NEWS file for 2.6.2 and version bump
    Fix job completion with big job queues
    confd: reduce noise during normal config reload
    Change hbal handling of !auto_balance instances
    Small corrections in man pages...
478a3308 12/21/2012 08:42 pm Iustin Pop

Merge branch 'stable-2.6' into devel-2.6

No conflicts, really trivial.

  • stable-2.6:
    Final update of NEWS file for 2.6.2 and version bump
    Fix job completion with big job queues
    confd: reduce noise during normal config reload
    Change hbal handling of !auto_balance instances...
2a196443 12/21/2012 07:06 pm Bernardo Dal Seno

Refactor checks for a new template in LUInstanceSetParams

All the checks have been moved to a private method, so as to make
CheckPrereq() smaller and more readable (pylint was complaining about it).

Signed-off-by: Bernardo Dal Seno <>...

6ebfef42 12/21/2012 07:06 pm Bernardo Dal Seno

LUs raise an error if they cannot handle exclusive_storage

This happens when the exclusive_storage flag is set, and the requested
operation is incompatible with the flag or not yet supported.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Iustin Pop <>

319322a7 12/21/2012 06:45 pm Bernardo Dal Seno

Call node_info RPCs with the exclusive_storage flag

The flag is read from the configuration and passed to the RPC.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Iustin Pop <>

1a3c5d4e 12/21/2012 06:45 pm Bernardo Dal Seno

Add exclusive_storage parameter to node_info RPC

The flag is passed to the low-level functions that need it, but it's not
yet used. Also, RPCs get just a default value for now.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Iustin Pop <>

5e2e45b7 12/21/2012 04:06 pm Michael Hanselmann

Improve assertion message in LUClusterVerifyGroup

In issue 240 this assertion fails. While reproducing was not possible
with the master branch, having a more verbose message can't hurt.

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

d4724b14 12/21/2012 01:40 pm Bernardo Dal Seno

Call blockdev_create RPCs with the exclusive_storage flag

The flag is read from the configuration and passed to the RPC.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Iustin Pop <>

59726e15 12/21/2012 01:40 pm Bernardo Dal Seno

Added class to contain information about a PV

This makes the code more readable and easier to upgrade.
bdev.LogicalVolume.GetPVInfo and the code that depends on it have been
refactored to use the new class.

utils.CheckVolumeGroupSize() has been moved to lib/utils/lvm.py, where more...

ee1478e5 12/21/2012 01:40 pm Bernardo Dal Seno

Add exclusive_storage parameter to blockdev_create RPC

The flag is passed to the low-level functions that need it, but it's not
yet used.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Iustin Pop <>

f2212a5d 12/21/2012 11:29 am Michael Hanselmann

Improve network query algorithm

Similar to commit 572a277. Directly iterate over “self.wanted” instead
of iterating through all networks and checking if they're wanted.

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

070b780d 12/21/2012 11:29 am Michael Hanselmann

Change network error text

This error is thrown if a network name already exists, not if the
network itself (e.g. “1.2.3.0/24”) is defined.

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

503574ec 12/21/2012 11:27 am Michael Hanselmann

Format network field "group_list" in client

The field is now a list of tuples containing the group name, mode and
link.

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

aa6c1bb1 12/20/2012 05:06 pm Constantinos Venetsanopoulos

Adjust LUInstanceSetParams wrt the `ext' template

Initial support for the `ext' template in gnt-instance modify.
Take care of all needed checks in CheckArguments and CheckPrereqs
wrt ExtStorage Providers and ext-params.

ExtStorage disk addition and specification of arbitrary ext-params...