Statistics
| Branch: | Tag: | Revision:

root / lib @ 0fe20731

# Date Author Comment
0fe20731 02/26/2014 12:22 pm Hrvoje Ribicic

Make NiceSort treat integers well

NiceSort is invoked on arrays that may contain strings, but in other
situations can contain ints as well. As this surprisingly makes sense,
add a tiny modification to make NiceSort work in these conditions.

Signed-off-by: Hrvoje Ribicic <>...

90402786 02/24/2014 03:47 pm Klaus Aehlig

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Fix expression describing optional parameters

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Jose A. Lopes <>

ad55b2d4 02/24/2014 03:33 pm Klaus Aehlig

Fix expression describing optional parameters

The NIC's network and vlan are also newly added, hence need to be
considered optional to remain backwards compatible.

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

fd5578ee 02/20/2014 07:05 pm Klaus Aehlig

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Improve job status assert affected by race condition
    Export and import Disk/NIC name
    Fix backup import in case NIC is inside a network
    Override get() method of ConfigParser

Conflicts:
lib/cmdlib/instance.py: manually apply 0973f9ed on...

e6e17529 02/20/2014 05:23 pm Hrvoje Ribicic

Improve job status assert affected by race condition

In the sliver of time between choosing a waiting job to be executed and
trying to acquire locks for its execution, the status of the job can be
changed to canceling. An assert checking the job status neglected to...

0f68f7fa 02/20/2014 04:45 pm Dimitris Aragiorgis

Export and import Disk/NIC name

Name of Disk/NIC were not exported during backup until now.
Use the exported info during gnt-backup import.

Signed-off-by: Dimitris Aragiorgis <>
Signed-off-by: Michele Tartara <>
Reviewed-by: Michele Tartara <>

0973f9ed 02/20/2014 04:45 pm Dimitris Aragiorgis

Fix backup import in case NIC is inside a network

Network UUID is written in .ini file during backup export
but is not used by _ReadExportParams(). This patch fixes it.

Please note that in case a network is given, link and mode should
not be included in NIC options....

523170de 02/20/2014 04:45 pm Dimitris Aragiorgis

Override get() method of ConfigParser

During backup import/export SafeConfigParser() is used to
save/restore instance's configuration. There is a possibility if an
export is done with a different Ganeti version, a specific value not
to be saved during export (e.g. the NIC/Disk name) but still...

b7a990e3 02/03/2014 05:45 pm Hrvoje Ribicic

Make the LUInstanceCreate return node names, not UUIDs

The LUInstanceCreate returned names instead of UUIDs in 2.6. Along the
way, the names were internally replaced with UUIDs, and the abstraction
leaked. This patch fixes the issue.

Signed-off-by: Hrvoje Ribicic <>...

099ed3b2 01/30/2014 06:28 pm Klaus Aehlig

Gracefully handle degraded instances in verification

The current code assumes that every instance either is of type
diskless or has at least one disk. However, with the option to
remove individual disk degraded 0-disk non-diskless instances
can occur. While such instances usually are not useful, Ganeti...

7e219d1b 01/30/2014 06:28 pm Klaus Aehlig

Be aware of the degraded case when cleaning up an instance

In the case of a degraded file-based instance, the file storage directory
for that instance cannot be obtained by looking at the first disk. Use
the standard location, computed from first principles, in this case....

9e14897d 01/30/2014 02:48 pm Klaus Aehlig

Preserve disk basename on instance rename

For file-based instances, upon rename, the directory containing
the instance disks is moved. Therefore, the basename needs to
be preserved in this case. Fix this. Note that so far, this
worked by accident as before 94e252a3 file names used to be...

2ee9171a 01/29/2014 05:26 pm Hrvoje Ribicic

Add QA tests for RAPI multi-instance allocation

The instance multi-allocation had no tests to detect its breakage, and
this patch fixes that.

Signed-off-by: Hrvoje Ribicic <>
Reviewed-by: Klaus Aehlig <>

d9fdd354 01/29/2014 05:26 pm Hrvoje Ribicic

Fix multi-allocation RAPI method

The OpInstanceMultiAlloc that the instances-multi-alloc RAPI method
uses accepts a list of OpInstanceCreate opcodes rather than a list of
dictionaries as provided by the method. This patch correctly constructs
the opcodes, allowing the RAPI call to work as expected....

94e252a3 01/28/2014 06:05 pm Ilias Tsitsimpis

Assign unique filenames to filebased disks

With the new format for cmdline arguments, the user is able to add a
disk to an instance at a specific index. But filebased disks' filenames
have the form "{0}/disk{1}" where '{0}' is the file_storage_dir and
'{1}' is the index of the disk. So if an instance has 3 disks and we...

30b12688 01/24/2014 12:05 pm Jose A. Lopes

Fix 'hvparams' of '_InstanceStartupMemory' on hypervisors

Most hypervisors were calling '_InstanceStartupMemory' but not passing
the 'hvparams' keyword argument. Actually, it is not necessary to
pass this argument given that it is an attribute in the instance...

5a93930f 01/23/2014 04:32 pm Klaus Aehlig

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Version bump for 2.8.4 and NEWS update
    Update NEWS file with news about job cancellation bugfix
    Fix QA flakiness
    Linting fix: remove unused import
    Add missing parameter entry to man file
    Add QA test for job cancellation...
054a9d17 01/20/2014 02:11 pm Hrvoje Ribicic

Add correct locking of master node to gnt-debug delay

The gnt-debug delay command required locks for all nodes except the
master - this patch fixes the issue by adding master to the locks
whenever needed.

Signed-off-by: Hrvoje Ribicic <>
Reviewed-by: Klaus Aehlig <>

95a4e33f 01/20/2014 02:11 pm Hrvoje Ribicic

Add job id type assert to jqueue.py

While the changes introduced in previous patches should stop any job
id parameters reaching the queue as strings, add an assertion here to
catch any strings making it through.

Signed-off-by: Hrvoje Ribicic <>...

7f97eb93 01/20/2014 02:11 pm Hrvoje Ribicic

Add job id transformation/check to Luxi Python client

This patch adds checks to the Luxi client, making sure that job ids
are converted from strings to ints before being passed on, or that an
error is reported.

Signed-off-by: Hrvoje Ribicic <>...

1ec34e26 01/20/2014 02:08 pm Apollon Oikonomopoulos

query: fix detection of master in _GetNodeRole()

Commit 1c3231aa changed the invocation of _GetNodeRole() to pass the
master node by UUID and not by name, but didn't change the
implementation to compare the nodes by name. As a result, the master
node (which is also a master candidate) would always fall through to the...

02d17fe3 01/13/2014 12:10 pm Dimitris Aragiorgis

Remove deprecated _ERROR_DATA_KEY in QMP

Commit de253f14 of QEMU repo "BREAKS QMP's compatibility for
the error response" as it removes "data" key from qmp error
response messages. To this end we only log "class" and "desc"
values of the message.

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

02a6b50a 01/09/2014 01:22 pm Michele Tartara

Improve backwards compatibility of Issue 649 fix

Commit e6e4ff4cf8d0100f331f94f7a27aa1e03a5d0e7d fixed Issue 649 by switching the
separator for usb_devices from comma to space. That solved the problem with
the command line, but RAPI was able to work with commas too, so, for backwards...

e6e4ff4c 01/07/2014 05:52 pm Michele Tartara

Change usb_devices separator to whitespace

The usb_devices parameter was using comma as a list separator, but this cannot
work because comma is already used as the hypervisor parameter separator.

Change it to use whitespace as a separator, in accordance to what already done...

6ee8fdd3 12/20/2013 11:34 am Michele Tartara

Ensure that all the hypervisors exist in the config file

All the hypervisors are supposed to exist in the config file, but it might not
be so after upgrades from old versions. This patch ensures that all the missing
hypervisors are added with their default values to the config file....

3eaa6e1d 12/16/2013 06:55 pm Klaus Aehlig

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Add support for blktap2 file-driver
    Update opcodes test to include network tags
    Make network tags searchable
    Add network tag tests to QA
    Fix RAPI network tag handling
    Fix gnt-network list-tags...
7bc2c097 12/16/2013 05:53 pm Michele Tartara

Add support for blktap2 file-driver

Newer Xen versions use blktap2 instead of blktap. This patch adds support
for it in Ganeti.

Fixes Issue 638.

Signed-off-by: Michele Tartara <>
Reviewed-by: Thomas Thrainer <>

92ea7d79 12/16/2013 05:31 pm Hrvoje Ribicic

Fix RAPI network tag handling

The network tags were absent from an if check used to actually list
tags. The patch fixes the oversight, and adds a proper error message in
case the issue occurs again for a new tag type.

Signed-off-by: Hrvoje Ribicic <>...

36ccc662 12/16/2013 05:31 pm Hrvoje Ribicic

Make network tags searchable

This patch adds the network tags to the tags searched by gnt-cluster
search-tags, and in the process cleans up the code slightly.

Signed-off-by: Hrvoje Ribicic <>
Reviewed-by: Michele Tartara <>

3d680d45 12/12/2013 04:22 pm Klaus Aehlig

Pass hvparams to GetInstanceInfo

...so that the xen command to be called can be determined. This
fixes another semantical conflict of the last merge.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Jose Lopes <>

ed2fea64 12/12/2013 02:55 pm Klaus Aehlig

Adapt parameters that moved to instance variables

Due to a change in the code organization in stable-2.9, some
method variables became instance variables, causing a semantic
merge conflict. Fix this.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Helga Velroyen <>

affe1792 12/11/2013 07:43 pm Klaus Aehlig

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Version bump for 2.8.3
    Update NEWS for 2.8.3 release
    Support reseting arbitrary params of ext disks
    Allow modification of arbitrary params for ext
    Do not clear disk.params in UpgradeConfig()...
e228ab9c 12/11/2013 01:27 pm Dimitris Aragiorgis

Support reseting arbitrary params of ext disks

If param=default and the param already exists then we remove
it from params dict. This is stolen by GetUpdatedParams() which
is used for hvparams modification/inheritance.

This means that 'default' value is not accepted for an arbitrary...

c5c72215 12/11/2013 01:27 pm Dimitris Aragiorgis

Allow modification of arbitrary params for ext

Disks of ext template are allowed to have arbitrary parameters
stored in the Disk object's params slot. Those parameters can be
passed during creation of a new disk, either in LUInstanceCreate()
or in LUInsanceSetParams(). Still those parameters can not be...

54666867 12/11/2013 01:26 pm Dimitris Aragiorgis

Do not clear disk.params in UpgradeConfig()

Commits 5dbee5e and cce4616 fix disk upgrades concerning params
slot. Since 2.7 params slot should be empty and gets filled
any time needed.

Still ext template allows passing arbitrary params per disk.
These params should be saved in config file for future use....

a63985f3 12/09/2013 02:51 pm Dimitris Aragiorgis

SetDiskID() before accepting an instance

SetDiskID() fills physical_id slot of a Disk object.

LUInstanceSetParams() does not invoke SetDiskID() upon creation of a
new disk. As a result the physical_id slot of the Disk object in
config data is missing.

In case of ext disk template, in AcceptInstance() we invoke...

8b9887c5 12/09/2013 01:59 pm Petr Pudlak

Lock group(s) when creating instances

This is required to prevent race conditions such as removing a network
from a group and adding an instance at the same time. (See issue 621#2.)

Signed-off-by: Petr Pudlak <>
Reviewed-by: Thomas Thrainer <>...

9cbcb1be 12/05/2013 03:10 pm Hrvoje Ribicic

Fix job error message after unclean master shutdown

According to commit 599ee321eb, any job-related error messages should
be encoded within a Ganeti-specific error and not passed on as a
string, to allow for easier parsing.

For jobs suffering from an undesirable status after an unclean master...

77b0d264 12/05/2013 11:39 am Michele Tartara

Add default file_driver if missing

If the file driver of an instance with file based storage is not specified, the
default one is automatically added by the UpgradeConfig function.

Fixes Issue 571.

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

364c350f 12/05/2013 11:03 am Jose A. Lopes

Xen handle domain shutdown

Update Xen backend to properly recognize when a domain has been
shutdown by the user and to properly cleanup a shutdown domain when
Ganeti requests Xen to stop this domain.

Partial cherry-pick from 9d22cc90609e3ee8f0f2b34b793a3daced3c0e61...

67ec18c0 12/04/2013 04:51 pm Jose A. Lopes

Fix evacuation out of drained node

  • fix node daemon not to skip data, such as, memory and disk size,
    when building the node list to send to HBal, given that these data
    are important for HBal to determine whether an evacuation is
    possible
  • fix iallocator to properly load drained nodes from the list passed...
4eef428e 12/02/2013 12:03 pm Dimitris Aragiorgis

Fix a bug in InstanceSetParams concerning names

In case no name is passed in disk modifications we should
keep the old one. If name=none then set disk name to None.

Signed-off-by: Dimitris Aragiorgis <>
Reviewed-by: Jose A. Lopes <>

546c5100 11/29/2013 02:41 pm Guido Trotter

SingleNotifyPipeCondition: don't share pollers

As widely known Ganeti uses a better1 lock condition notification
library based on operating system pipes.

Inside this library we were using a shared poller for all threads
waiting for a condition. While poller is not thread safe, since (1)...

3ddc7650 11/27/2013 04:52 pm Jose A. Lopes

Fix error printing

Fixes issue 616.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Michele Tartara <>

62810f07 11/27/2013 03:04 pm Thomas Thrainer

Allow link local IPv6 gateways

Each host using IPv6 always has a link local address in fe80::/10. It is
common to use fe80::1 as default gateway to ease client configuration.
Ganeti prevented this usage, because it made sure that the IPv6 gateway
is in the IPv6 network the instance is connected to....

4289f617 11/27/2013 02:44 pm Thomas Thrainer

Fix NODE/NODE_RES locking in LUInstanceCreate

Both NODE and NODE_RES locks were acquired opportunistically if so
requested by the user. LUInstanceCreate requires, however, that the
actually locked elements on NODE and NODE_RES level are the same.

This patch changes the locking of NODE_RES such that those locks are not...

25bce647 11/26/2013 06:18 pm Santi Raffa

KVM: use custom KVM path if set for version checking

This commit fixes two TODOs from 2008 about using the hardcoded
"default" path for KVM where a custom one could've been set through
`gnt-cluster modify`.

As a result, `gnt-cluster verify` will no longer fail if a custom...

5f5aa745 11/18/2013 10:59 am Hrvoje Ribicic

Fix socket permissions after master-failover

When using gnt-cluster master-failover, on the soon-to-be-master the
luxi daemon is started by the node daemon. This makes the luxi
daemon inherit the node daemon's umask 077, making the communication
socket unreadable to group members. When using Ganeti with non-root...

f92d9674 11/12/2013 04:37 pm Helga Velroyen

Fix retrieval of xen command in class method

This patch fixes issue 608. When introducing the
configurability of the xen toolstack in commit
8ef418bb92, the hypervisor api was accidentally changed
in a way that let to this error in KVM.

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

30796ad6 11/07/2013 05:05 pm Klaus Aehlig

Readd nodes as online

Patch d0d7d7cf accidentally removed the offline-flag reset
when readding a node. Readd it.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Thomas Thrainer <>

fb62843c 11/07/2013 05:05 pm Klaus Aehlig

When verifying BRBD version, ignore missing values

When comparing for consistency of the DRBD versions, some
versions might not be available via RPC, typically, if the
node is offline. In this case, leave these nodes out of the
test, instead of failing with an internal python error....

64e92328 11/07/2013 04:20 pm Klaus Aehlig

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Version bump for 2.8.2
    Update NEWS file for 2.8.2 release
    DRBD: ensure peers are UpToDate for dual-primary

Conflicts:
NEWS: trivial
configure.ac: ignore version bump on stable-2.8
lib/bdev.py: manually apply the part of commit...

73e15b5e 11/06/2013 12:25 pm Apollon Oikonomopoulos

DRBD: ensure peers are UpToDate for dual-primary

DrbdAttachNet supports both, normal primary/secondary node operation, and
(during live migration) dual-primary operation. When resources are newly
attached, we poll until we find all of them in connected or syncing operation....

f9dfa8df 11/04/2013 05:52 pm Klaus Aehlig

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Improve error message for replace-disks

Conflicts:
lib/cmdlib/instance_storage.py
Resolved by manually applying the node name to uuid
transition on the version of stable-2.9.

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

34ea8da3 11/04/2013 05:30 pm Michele Tartara

Improve error message for replace-disks

In some conditions, replace-disks will fail if the disks are not properly
activated. Improve the error message suggesting to run activate-disks before
executing replace-disks.

Fixes Issue 606.

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

a50b49b8 10/30/2013 02:58 pm Klaus Aehlig

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Add all dependencies for confd as test dependencies
    Add snap-server to the test-relevenat packages
    Placate warnings on ganeti.outils_unittest.py

Conflicts:
configure.ac: take both additions (and fix)...

c1c235ea 10/24/2013 11:25 am Santi Raffa

Placate warnings on ganeti.outils_unittest.py

Change ovf.py from using 'if foo:' to 'if foo is not None:' checks as
suggested by the FutureWarnings the OVF library raises otherwise.
This fixes issue 557.

Signed-off-by: Santi Raffa <>
Reviewed-by: Jose Lopes <>

eac094c8 10/17/2013 04:07 pm Klaus Aehlig

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Version bump for 2.8.1
    Verify that ConfD is running after master-failover
    daemon-util: handle luxid in {start,stop}_master()
    Fix typo in storage.FileStorage docstring
    Fix path for serial file...
b05b5ec8 10/16/2013 11:08 am Santi Raffa

Fix typo in storage.FileStorage docstring

Signed-off-by: Santi Raffa <>
Reviewed-by: Jose Lopes <>

05566846 10/11/2013 06:21 pm Helga Velroyen

Remove incorrect comment

Removing a comment which falsely states that Ganeti will
stop supporting certain upgrades at some point.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Klaus Aehlig <>

a2112db5 10/11/2013 06:19 pm Helga Velroyen

cfg auto update: match ipolicy with enabled disk templates

This patch fixes issue 599. The problem was that with 2.9,
a sanity check was introduced that made sure that the
ipolicies' set of disk templates is a subset of the
cluster-wide enabled disk templates. In order to make...

faba87e9 10/08/2013 02:48 pm Klaus Aehlig

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Fix typo in walkthrough documentation
    Don't attemp ipv6 ssh in case of ipv4 cluster

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Helga Velroyen <>

b6368001 10/07/2013 07:25 pm Costas Drogos

Don't attemp ipv6 ssh in case of ipv4 cluster

In case of a cluster with primary-ip-version=4, there is no need
for cluster to try ipv6 ssh connections which may timeout.
So append '-4' on ssh if cluster is ipv4-only

Signed-off-by: Costas Drogos <>...

66a37e7a 10/07/2013 04:58 pm Helga Velroyen

Rename LDS_DRBD to DTS_DRBD

This patch renames the constant 'LDS_DRBD' to 'DTS_DRBD'
to make it consistent with the renaming of LD_* constants
to DT_* constants.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Thomas Thrainer <>

b1808f46 09/27/2013 09:45 am Thomas Thrainer

Use secondary IP when moving instances

All data traffic usually goes over the secondary network, but
gnt-instance move didn't. This patch corrects this problem by using the
target nodes secondary IP as move target.

Signed-off-by: Thomas Thrainer <>...

08d58f4c 09/25/2013 03:07 pm Klaus Aehlig

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Add additional tests for utils.Retry
    Make retry tests independent of actual time
    Fix corner-case in handling of remaining retry time
    Perform proper cleanup on termination of Haskell daemons

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

e0e44476 09/25/2013 10:55 am Michele Tartara

Fix some wrong indentations in the code

Fix all instances of pep8's error: "E128 continuation line under-indented for
visual indent".

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

5e34123e 09/25/2013 10:51 am Michele Tartara

Make QmpMessage a proper container

Newer pylint versions complain that QmpMessage is not a proper container because
it does not implement the len() and delitem() methods. This commit
implements them.

Also, tests are added.

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

34098a73 09/20/2013 03:21 pm Klaus Aehlig

Fix corner-case in handling of remaining retry time

Consider a remaining time of 0 as already timed out. Otherwise,
there is no guarantee that calling utils.Retry with timeout 0
will call the function precisely once; it might run in time
shorter than the resolution of timer....

edada04b 09/18/2013 01:29 pm Michele Tartara

Fix strings invalid with newer lint versions

Generating ASCII characters via a supported but not official escape sequence
leads to a "Anomalous backslash in string" error in newer pylint versions. This
patch fixes the issue.

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

5be00b4b 09/17/2013 05:54 pm Klaus Aehlig

Fix incorrect conflict resolution in lib/cmdlib/instance.py

Between the last two merges, nothing happened on stable-2.9. The
only change on stable-2.8 that touched lib/cmdlib/instance.py is
ff34fb97. So make sure, the net change since the last merge to
this file is that of the said commit. This also fixes the doclint...

52469de0 09/17/2013 02:12 pm Klaus Aehlig

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Add a default to file-driver when unspecified over RAPI
    Remove typo from RAPI documentation
    Describe the files in doc/users in NEWS
    Update the upgrade procedure
  • stable-2.7
    Fix incorrect manpage reference to htools...
ff34fb97 09/16/2013 02:25 pm Michele Tartara

Add a default to file-driver when unspecified over RAPI

The file-driver value, used by file-based instances, had a default value when
an instance was being created over the CLI, but not when the instance was
created through the RAPI.

This patch introduces a default value for the remote API and, while doing so,...

73d6b4a7 08/29/2013 04:13 pm Helga Velroyen

Auto-upgrade of disks' config wrt LD-renaming

This patch adds auto-upgrade functionality to the disk
objects with respected to the switch from LD constants
to DT constants. Unit tests are provided.

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

6da90c0a 08/28/2013 10:13 pm Helga Velroyen

Fixing renaming of DISK_LD_DEFAULTS

This fixes the somewhat over-eager renaming of
DISK_LD_DEFAULTS to DISK_DT_DEFAULTS, which clashes
with another occurence of DISK_DT_DEFAULTS. This
patch just undoes the renaming and additionally fixes
a test regarding shared file storage....

cd3b4ff4 08/28/2013 06:19 pm Helga Velroyen

Replace LD_* constants with DT_* constants

LD_* constants are basically like DT_* constants, except
for that both file and shared file were mapped to file.
In order to not having to maintain three slightly different
sets of disk-related constants (DT, LD and ST), we merge...

f148fe23 08/27/2013 03:04 pm Klaus Aehlig

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Add function to unwrap Results logging failures
    Make the DRBD collector more failure-resilient
    Prepare GetLinuxNodeInfo for testing
    Add unit test for GetLinuxNodeInfo
    NEWS update and version bump for 2.8 rc2...
78f99abb 08/23/2013 03:12 pm Michele Tartara

Lint improvements to regexps

Fix some regular expressions so that they pass lint checks with newer versions
of pylint.

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

23cb5697 08/22/2013 06:17 pm Michele Tartara

Prepare GetLinuxNodeInfo for testing

The names of the input files are not hardcoded anymore, but they are now default
parameters.

No changes for the callers, but it's now possible to test the function more
easily.

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

7bb0c47f 08/22/2013 03:03 pm Thomas Thrainer

Check right disk template in inst set params

While checking the parameters of the opcode for LUInstanceSetParams, the
already set disk_template was checked instead of the new one in the
opcode. This patch fixes this bug.

Signed-off-by: Thomas Thrainer <>...

b01d9504 08/21/2013 04:30 pm Michele Tartara

Fix bug in NodeD and RapiD usage strings

The strings did not comply with the style guide, and were not diplayed
correctly either.

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

125e1230 08/20/2013 03:18 pm Thomas Thrainer

Allow instance mods if only osparams are given

osparams are now recognized as changes, so changing only those without
other changes works too now.

(cherry picked from commit 5eae613c2e1e65101c5d5f7d2e8ffd7cc6edc7d5)

Signed-off-by: Thomas Thrainer <>...

6869f673 08/20/2013 02:46 pm Thomas Thrainer

Use node UUIDs for locking instead of node names

LUInstanceMultiAlloc used node names instead of node UUIDs to lock
required nodes. This patch fixes this bug.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Guido Trotter <>

5eae613c 08/20/2013 01:53 pm Thomas Thrainer

Allow instance mods if only osparams are given

osparams are now recognized as changes, so changing only those without
other changes works too now.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Helga Velroyen <>

a61a0813 08/19/2013 04:23 pm Thomas Thrainer

Fix a node name vs. UUID bug in instance import

This patch fixes a bug where node names were incorrectly used as node
UUID's.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Helga Velroyen <>

b9aae98b 08/19/2013 11:09 am Thomas Thrainer

Use node UUID for locking in LUInstanceMove

This LU (incorrectly) used the node name for locking. This patch
corrects this error.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Michele Tartara <>

bbe0f264 08/13/2013 03:33 pm Thomas Thrainer

Fix IPolicy violation check in LUGroupSetParams

cfg.GetMultiInstanceInfoByName returns a list of tuples, not a list of
instance objects which is required by ComputeNewInstanceViolations.
This patch fixes this type error.

Signed-off-by: Thomas Thrainer <>...

18397489 08/13/2013 11:59 am Thomas Thrainer

Revert "Display node name instead of UUID in error message"

This reverts commit fbff213691328562cc4029f3babaa2e72e2012c4.
When running hooks, the node name is used to identify nodes, not (as
wrongly assumed in the patch) the node UUID.

Signed-off-by: Thomas Thrainer <>...

fbff2136 08/13/2013 08:54 am Thomas Thrainer

Display node name instead of UUID in error message

The hooks callback in LUClusterGroupVerify misinterpreted the key in the
node result as name instead of node UUID. This patch fixes this, which
leads to more user friendly error messages.

Signed-off-by: Thomas Thrainer <>...

c214896c 08/12/2013 04:06 pm Thomas Thrainer

Use node name in error message

CheckNodeNotDrained displayed only the node UUID if the node is drained.
In order to provide a more helpful error message, use the node name
instead.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Guido Trotter <>

c89eb67d 08/08/2013 06:48 pm Helga Velroyen

ClusterSetParams: move vg-name checks from to CheckPrereq

This fixes a bug in the logic of 'gnt-cluster modify'.
Some checks that should better be done in 'CheckPrereq'
were actually done in 'Exec'. This lead to a strange
behavior in case the execution failed, because an...

702243ec 08/08/2013 06:48 pm Helga Velroyen

gnt-group add/modify: ipolicy vs disk templates

This patch adds a consistency check between the ipolicy's
list of allowed disk templates with the cluster-wide
enable disk templates when a new node group is added
or a group is modified.

It also fixes a bug in gnt-group where the list of allowed...

4e771a95 08/08/2013 06:48 pm Helga Velroyen

Move Ipolicy utility function to cmdlib/common.py

Since the check of consistency between an ipolicy and
the list of enabled disk templates will not only be
needed on cluster modification, but also on group
modification, we move the respective function and its...

d514e18b 08/08/2013 06:48 pm Helga Velroyen

bootstrap: restrict ipolicy to enabled disk templates

With this patch, on cluster creation, the initial instance
policy's list of allowed disk templates will be modified
in a way that it does not contain any disk templates which
are not enabled cluster-wise....

33a6464e 08/08/2013 06:48 pm Helga Velroyen

gnt-cluster modify: ipolicy vs enabled disk templates

This patch adds a check to LUClusterSetParams which
ensures that the list of allowed disk templates is a
subset of the list of cluster-wide enabled disk
templates. Unit tests are included.

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

1532b078 08/08/2013 06:48 pm Helga Velroyen

gnt-cluster modify: factor out ipolicy check

This refactors the LUClusterSetParams to do all ipolicy
sanity / validity checks in a separate function
in order to increase testability. No function changes
otherwise.

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

804d72eb 08/07/2013 05:41 pm Thomas Thrainer

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Fix batch creation of instances
    Fix documentation of gnt-instance batch-create
    Support multi instance allocs without iallocator
    Support DSA SSH keys in bootstrap
    Include VCS version in `gnt-cluster version`...
0c072225 08/07/2013 02:29 pm Thomas Thrainer

Merge branch 'stable-2.7' into stable-2.8

  • stable-2.7
    Fix documentation of gnt-instance batch-create
    Support multi instance allocs without iallocator
    Document --no-conflicts-check for gnt-network
    Check disk template in right dict when copying
    ganeti.backend_unittest: chmod restricted cmd dir...
33b52bdc 08/07/2013 12:09 pm Thomas Thrainer

Fix batch creation of instances

During batch creation of instances the 'reason' field in opcodes is set
to None (but the field is present). This caused problems when adding a
reasons to the reason trail.

Setting the default value for the 'reason' field to the empty list fixes...

eba4d783 08/07/2013 11:43 am Thomas Thrainer

Support multi instance allocs without iallocator

If all instances in the multi allocation request have already their
primary and secondary node set, there is no need for an iallocator. Thus
don't require it in this case and omit the call to it all together....