Statistics
| Branch: | Tag: | Revision:

root / test / py @ 560ef132

# Date Author Comment
560ef132 02/07/2014 11:13 am Santi Raffa

serializer: emit and encode Private values

For inbound data the simplest, safest thing to do is to traverse all
JSON right after encoding and search for private parameters by key.

This ensures that all consumers of this data get Private values
transparently and consistently; the serializing methods don't have to...

8d61946f 01/30/2014 11:03 am Petr Pudlak

Merge branch 'stable-2.11' into master

  • stable-2.11
    Make safeRenameFile create dirs with defined permissions
    Add constant for subdir permissions within the job queue
    Add utility to fix permissions
    Add data type describing permissions and possibly owners...
baaa2ece 01/28/2014 03:17 pm Klaus Aehlig

Merge branch 'stable-2.10' into stable-2.11

  • stable-2.10
    Enable network tags in Haskell code
    Haskell style: explicit errors, visible in the type
    Clarify spacing in record syntax
    Improve the point-free section of the style guide
    Add code style document to documentation...
410945f1 01/27/2014 05:36 pm Klaus Aehlig

Merge branch 'stable-2.9' into stable-2.10

  • stable-2.9
    Revision bump for 2.9.3
    Schedule 2.9.3 release
    Document fix of issue 691 in NEWS
    NEWS: fix typo in 2.8.4 release
    Fix 'hvparams' of '_InstanceStartupMemory' on hypervisors
    Add missing option to gnt-instance documentation...
45f75526 01/24/2014 05:06 pm Helga Velroyen

Disabling client certificate usage

This patch temporarily disables the usage of the client
SSL certificates. The handling of RPC connections had a
conceptional flaw, because the certificates lack a proper
signature. For this, Ganeti needs to implement a CA,...

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

c777c5fc 01/16/2014 02:15 pm Helga Velroyen

Prepare master as new 2.12 branch

This adapts various file to make the current master
branch the new stable-2.12 branch.

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

9b85ede9 01/13/2014 12:08 pm Klaus Aehlig

Add utility to compare versions

This will be needed, e.g., for post-upgrade task, as they
have to decide whether a feature was not yet present at
the version started from.

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

a6c43c02 12/20/2013 03:15 pm Helga Velroyen

Verify client certificates

This patch adds a step to 'gnt-cluster verify' to verify
the existence and validity of the nodes' client
certificates. Since this is a crucial point of the
security concept, the verification is very detailed with
expressive error messages and well tested by unit tests....

b3cc1646 12/20/2013 03:15 pm Helga Velroyen

Verify incoming RPCs against candidate map

From this patch on, incoming RPC calls are checked against
the map of valid master candidate certificates. If no map
is present, the cluster is assumed to be in
bootstrap/upgrade mode and compares the incoming call...

d722af8b 12/20/2013 03:15 pm Helga Velroyen

Extend RPC call to create SSL certificates

So far the RPC call 'node_crypto_tokens' did only retrieve
the certificate digest of an existing certificate. This
call is now enhanced to also create a new certificate and
return the respective digest. This will be used in various...

840ad2ab 12/20/2013 03:15 pm Helga Velroyen

Handle client certificates on node add/remove

This patch adds the certificate of a newly added or
readded master candidate node to the map of master candidate
certificates. It removes a master candidate node's certificate
digest from the candidate certificate map if the node is...

5b6f9e35 12/20/2013 03:15 pm Helga Velroyen

Add certificate for master node

On cluster initialization, the master node's
SSL certificate digest is added to the list of master
candidate certificates.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Hrvoje Ribicic <>

3bcf2140 12/20/2013 03:15 pm Helga Velroyen

Add candiate certificate map to configuration

At the end of this patch series, incoming RPC calls are
legitimized against a map of master candidate nodes'
SSL certificate digests. This patch adds the map itself
to the cluster's configuration.

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

b544a3c2 12/20/2013 03:15 pm Helga Velroyen

Retrieve a node's certificate digest

In various cluster operations, the master node needs to
retrieve the digest of a node's SSL certificate. For this
purpose, we add an RPC call to retrieve the digest. The
function is designed in a general way to make it possible...

3338a9ce 12/20/2013 03:15 pm Helga Velroyen

Utility functions to manipulate the candidate map

This patch adds a couple of utility functions to manipulate
the map of master candidate SSL certificate digests.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Hrvoje Ribicic <>

c1cf0435 12/20/2013 03:15 pm Helga Velroyen

Remove superfluous imports

This removes some superfluous imports from the X509 (SSL)
unittests.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Hrvoje Ribicic <>

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

52a988f2 12/20/2013 11:34 am Michele Tartara

Fix testEncodeInstance test input

The input of the testEncodeInstance test was not adherent to the actual format
of the Ganeti configuration file: kvm has no HV_BLOCKDEV_PREFIX, and "hvparams"
inside an instance should only contain the values of the hypervisor parameters,...

f3ac6f36 12/19/2013 01:59 pm Klaus Aehlig

Merge branch 'stable-2.10' into master

  • stable-2.10
    Version bump for 2.10.0~rc1
    Update NEWS for 2.10.0 rc1 release
    Fix pylint 0.26.0/Python 2.7 warning
    Update INSTALL and devnotes for 2.10 release
  • stable-2.9
    Bump revision for 2.9.2
    Update NEWS for 2.9.2 release...
9ba38706 12/18/2013 07:41 pm Petr Pudlak

Replace errors re-export in luxi.py with proper imports

Instead of re-exporting errors in luxi.py, import rpc/errors.py in the
modules that use them.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Klaus Aehlig <>

24c09d5e 12/17/2013 10:11 pm Petr Pudlak

Rename CallLuxiMethod to CallRPCMethod

Also update error messages and testing code to refer to RPC instead of
LUXI.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Helga Velroyen <>

912b2278 12/17/2013 10:11 pm Petr Pudlak

Split Luxi Client into a generic and a specific part

The generic part will be reused in WConfd.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Helga Velroyen <>

4869595d 12/17/2013 10:11 pm Petr Pudlak

Add a Python directory for RPC code to keep it at one place

Move rpc.py to rpc/node.py and modify imports in existing code.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Helga Velroyen <>

5a904197 12/17/2013 06:12 pm Santi Raffa

Gluster: add the Shared File storage type

The shared file and gluster disk templates should not report their disk
space information like file does, because they do not behave the same.

If a cluster pulls from the same, shared source of storage then it is...

845b7ed1 12/17/2013 06:12 pm Santi Raffa

Gluster: mount automatically

Add parameters to the Gluster disk template so Gluster can manage the
mount point point autonomously.

Signed-off-by: Santi Raffa <>
Signed-off-by: Thomas Thrainer <>
Reviewed-by: Thomas Thrainer <>

ac156ecd 12/17/2013 06:12 pm Santi Raffa

Gluster: use ssconf value for mountpoint directory

Gluster still does not mount anything autonomously, but this commit
changes where Gluster expects its mountpoint to be.

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

58793040 12/17/2013 06:12 pm Santi Raffa

Gluster: add GlusterVolume class

This commit teaches Gluster what a volume is and how to use it.

Signed-off-by: Santi Raffa <>
Signed-off-by: Thomas Thrainer <>
Reviewed-by: Thomas Thrainer <>

8106dd64 12/17/2013 06:12 pm Santi Raffa

Gluster: minimal implementation

Add Gluster to Ganeti by essentially cloning the shared file behaviour
everywhere in the code base.

Signed-off-by: Santi Raffa <>
Signed-off-by: Thomas Thrainer <>
Reviewed-by: Thomas Thrainer <>

05edafd3 12/17/2013 06:12 pm Santi Raffa

netutils: Add ValidatePortNumber method

This method accepts a port number and checks that it is in fact valid.

Signed-off-by: Santi Raffa <>
Signed-off-by: Thomas Thrainer <>
Reviewed-by: Thomas Thrainer <>

267520ba 12/17/2013 06:12 pm Santi Raffa

FileStorage: extract file logic to a FileDeviceHelper object

This will allow code reuse for Gluster through composition, rather
than inheritance.

Signed-off-by: Santi Raffa <>
Signed-off-by: Thomas Thrainer <>
Reviewed-by: Thomas Thrainer <>

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

c486fb6c 12/16/2013 12:37 pm Thomas Thrainer

Merge branch 'stable-2.9' into stable-2.10

  • stable-2.9
    Bump revision for 2.9.2
    Update NEWS for 2.9.2 release
    Pass hvparams to GetInstanceInfo
    Adapt parameters that moved to instance variables
    Avoid lines longer than 80 chars
    SingleNotifyPipeCondition: don't share pollers...
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()...
3fc1dc2f 12/05/2013 11:03 am Jose A. Lopes

Update tests

Update hypervisor unit tests.

Partial cherry-pick from d2e4e099e4248832fef8ed7b0755d01bd4178e3a

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

0359e5d0 11/29/2013 12:10 pm Spyros Trigazis

Add default_iallocator_params cluster parameter

Add a cluster parameter to hold the iallocator parameters used
by the default instance allocator. Implement the option to
modify config.data, query config.data and upgrade man pages,
tests and cfgupgrade tool. The new default_iallocator_params is...

64981f25 11/26/2013 11:14 am Helga Velroyen

Export and network queries: remove opcodes and LUs

Removes the remains of the export (aka backup) and network
queries.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Hrvoje Ribicic <>

081dc516 11/26/2013 11:14 am Helga Velroyen

Group queries: remove opcodes and LUs

Removes the remains of the group query code.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Hrvoje Ribicic <>

2a02d6fe 11/26/2013 11:14 am Helga Velroyen

Remove instance query python code

This patch removes the python code for the instance
queries. So far, it replaces it by 'NotImplemented'
exceptions. In a later patch of this series, the
remaining part is remove completely.

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

fbde16f0 11/26/2013 11:13 am Helga Velroyen

Use query client when neccessary for group queries

This patch makes code use the query client for group
queries where necessary in order to remove the python
queries soon.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Hrvoje Ribicic <>

fbeb41e6 11/26/2013 11:13 am Helga Velroyen

Switch to haskell for export (aka backup) queries

This patch removes the python implementation of export
(aka backup) queries. So far, it is replaced by
'NotImplemented' exceptions, but later in this series
it will be replaced completely.

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

a9532fb0 11/26/2013 11:13 am Helga Velroyen

masterd: implement query via luxi

The master daemon so far still did queries via the python
implementation. This patch implements that it uses the
haskell implementation and removes the node queries from
the list of OP-queriable entities.

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

bc57fa8d 11/26/2013 11:13 am Helga Velroyen

Use a query client for node queries where necessary

To remove the node query's python implementation soon, this
patch makes all users of the queries call the haskell
implementation instead of the python one.

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

96ed3a3e 11/21/2013 04:06 pm Dimitris Aragiorgis

Introduce --hotplug-if-possible option

This will be useful for an external entity using RAPI that
wants to modify devices of instances.

The common use case for that is:
"I want to add a NIC/disk to an instance. If it is running
then try to hotplug the device. If not, then just add it to config."...

031d2db1 11/18/2013 05:22 pm Dimitris Aragiorgis

Allow instances to obtain externally reserved IPs

The administrator should be able to assign an externally reserved IP
to a Ganeti instance manually, if desired. Currently this is not
supported. External reservations should act as holes in the pool and
not just as IPs already used by someone outside of Ganeti....

a4417db4 11/15/2013 04:49 pm Thomas Thrainer

Merge branch 'stable-2.10' into master

Merge branch 'stable-2.10' into master

  • stable-2.10
    Don't allow optional node parameters
    Move OVS node parameters to the right place
    Make NIC VLAN queryable
    Pass VLAN parameter correctly in moves
    Use constant instead of raw string...
adef95a2 11/15/2013 03:12 pm Thomas Thrainer

Merge branch 'stable-2.9' into stable-2.10

Merge branch 'stable-2.9' into stable-2.10

  • stable-2.9
    Bump revision for 2.9.1
    Update NEWS and schedule release for 2.9.1
    Fix retrieval of xen command in class method
    Fix docstring for ganeti.storage.filestorage_unittest.py...
8cd19bec 11/14/2013 05:40 pm Petr Pudlak

Update custom SSH ports config when downgrading to 2.10

If SSH ports other than 22 are configured, abort the config downgrade,
as the operation would certainly fail. Otherwise just remove
ndparams/ssh_port from the configuration.

Signed-off-by: Petr Pudlak <>...

c42be2c0 11/14/2013 05:40 pm Petr Pudlak

Use configured SSH ports when connecting to a console

This is accomplished by passing the corresponding node group to
hv_*.py. Tests for hv_*.py that call GetInstanceConsole updated.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Hrvoje Ribicic <>

33ffda6c 11/14/2013 05:40 pm Petr Pudlak

Update unit tests for custom SSH ports

The unit tests now include the configurations of SSH ports for node
groups/nodes.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Hrvoje Ribicic <>

a9f33339 11/14/2013 05:40 pm Petr Pudlak

Use custom SSH ports in node groups when working with nodes

Calling `gnt-instance console` with a custom SSH port doesn't work yet.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Hrvoje Ribicic <>

07e68848 11/14/2013 04:30 pm Thomas Thrainer

Don't allow optional node parameters

Ganeti does not support optional fields in parameters
(hypervisor-params, disk-params, etc.). OpenVSwitch related node
parameters were the exception to this rule, which caused numerous
problems related to import/export and (de-)serialization....

d2e4e099 11/14/2013 03:10 pm Jose A. Lopes

Update tests

Update hypervisor unit tests.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Hrvoje Ribicic <>

a9e1819b 11/12/2013 03:23 pm Klaus Aehlig

Add a constructor to BaseOpCode

In order to guarantee all mandatory slots to be present, add
a custom constructor to BaseOpCode adding those fields with
default value, instead of inheriting the constructor from
outils.ValidatedSlots.

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

a09639d1 11/11/2013 10:29 pm Santi Raffa

Remove hardcoded references to File, SharedFile templates

DTS_FILEBASED is a constant that exists and this commit makes sure
that it is used whenever sensible, rather than resorting to hardcoding
the pair of templates in very many files.

Signed-off-by: Santi Raffa <>...

2fd2c0fa 11/11/2013 07:53 pm Santi Raffa

Fix docstring for ganeti.storage.filestorage_unittest.py

Signed-off-by: Santi Raffa <>
Signed-off-by: Klaus Aehlig <>
Reviewed-by: Klaus Aehlig <>

d9d1e541 11/08/2013 07:00 pm Klaus Aehlig

Add Luxi Request to pick up a job in the queue

During the transition to the new daemon layout, from step 2
onwards, luxid will write to the queue but masterd will trigger
the execution. Therefore, add a new luxi request to tell masterd
to pick up a job that has already been written to the queue....

cba1fce1 11/05/2013 03:31 pm Klaus Aehlig

Merge branch 'stable-2.10' into master

  • stable-2.10
    Fix documentation
    Replace all constant definitions with re-exports
    Prepare constants for automatic reexport
    Hs2Py constants: 'hvsParameterTypes' and 'hvsParameters'
    Fix indentation that triggers PEP8 error...
bb133242 10/31/2013 12:46 pm Klaus Aehlig

Merge branch 'stable-2.10' into master

  • stable-2.10
    Remove FIXME + update man pages wrt iallocator
    Don't check for master netdev when using OVS
    Fix TypeError in backend/ConfigureOVS
    Create Open vSwitch on Master during Cluster init
    SimpleRetry on BlockDev.Remove()...
24711492 10/31/2013 11:28 am Dimitris Aragiorgis

Check if hotplug is supported in CheckPrereq

Introduce new RPC hotplug_supported that invokes the corresponding
hypervisor's method which checks if hotplug is generally
supported. Call this RPC early in CheckPrereq() and abort if
hotplug is not supported. Currently only KVM hypervisor with...

063613aa 10/29/2013 03:56 pm Thomas Thrainer

Use import-export daemon for intra-cluster moves

This unifies the inter- and intra-cluster moves and the backup code, so
less code needs to be maintained.

Also fix failing tests for LUInstanceMove by following the code changes
in the tests.

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

e0007cf1 10/28/2013 12:04 pm Jose A. Lopes

Hs2Py constants: add 'daemonsExtraLogbase'

Add constant 'daemonsExtraLogbase' to the Haskell to Python constant
generation and update Python reference.

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

fda3d987 10/24/2013 12:27 pm Dimitris Aragiorgis

Add unittests for Hotplug support

Try base InstanceSetParams tests that modify instance's
devices with hotplug=True.

Add some unittests for kvm hypervisor regarding runtime file
manipulation. Based on a sample runtime file search for
specific disk and nic entries based on their UUID....

ba924970 10/24/2013 12:27 pm Dimitris Aragiorgis

Hotplug: cmdlib support

Hotplugging is done by functions invoked by ApplyContainerMods(). In
order hotplugging to take place the --hotplug option must be passed
otherwise the modifications will take place after reboot.

NIC hotplug supports add, remove and modify. The modify is done by removing...

ff5def9b 10/24/2013 12:27 pm Dimitris Aragiorgis

Return link_name in blockdev_assemble rpc

Until now this RPC returned only dev_path. Since we use it in
hotplug we have to know the simlink of the device so that we
pass it to the corresponding hypervisor command and include it
in block_devices entry in runtime files....

d7d78dd0 10/21/2013 12:08 pm Jose A. Lopes

Merge branch 'origin/stable-2.10' into 'master'

  • stable-2.10
    Create check-news Makefile target
    Add dynamic hbal entry to the NEWS file
    Update NEWS file about cpuid and soundhw
    Mention cmdlib unit tests and python-mock in NEWS
    Update NEWS file about Hs2Py opcodes and constants...
f8f415a1 10/17/2013 01:23 pm Helga Velroyen

Fix unit test regarding recent changes in node_info RPC

This fixes a unit test in instance_storage_unittest.py,
which was affected by the recent change in the RCP
'node_info'.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Hrovje Ribicic <>

b9e12624 10/17/2013 11:09 am Hrvoje Ribicic

Add a console information RPC call

As the instance queries need console information, and the information
is retrieved through python classes that should not be ported yet, an
RPC call supplying the information has been added. Some tests as well.

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

c7a02959 10/16/2013 04:55 pm Thomas Thrainer

Prepare master branch for 2.11 devel cycle

Bump versions in various places to 2.11 and remove the downgrade code
from cfgupgrade. Also adapt cfgupgrade tests.

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

5859dad6 10/16/2013 11:59 am Helga Velroyen

Move orphaned unit tests to cmdlib/cluster_unittest.py

Through some merge from 2.9 to master, some unit tests
in the file ganeti.comdlib.common_unittest.py were
no longer referenced in the Makefile and as such not
run anymore. With the introduction of the cmdlib test...

ebab8f54 10/15/2013 05:35 pm Thomas Thrainer

Merge branch 'stable-2.9'

  • stable-2.9:
    Version bump for 2.9.0 rc3
    Add NEWS entry for 2.9.0 rc3
    Remove incorrect comment
    cfg auto update: match ipolicy with enabled disk templates
    Remove obsolete configure option for shared file storage
  • stable-2.8:...
70b634e6 10/15/2013 02:54 pm Thomas Thrainer

Add unit tests for LUBackupExport

This patch adds unit tests for LUBackupExport.

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

3388debb 10/15/2013 02:54 pm Thomas Thrainer

Add unit tests for LUBackupPrepare

This patch adds unit tests for LUBackupPrepare.

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

a80e802a 10/15/2013 02:53 pm Thomas Thrainer

Add unit tests for LUBackupQuery

This patch adds unit tests for LUBackupQuery.

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

4f90370c 10/15/2013 02:13 pm Helga Velroyen

Make 'gnt-node list-storage' use default storage type

Currently, when no explicit storage type is given, the
'gnt-node list-storage' command defaults to file storage
whether or not file storage is enabled on the cluster
or not. This patch fixes it by defaulting to the default...

6c00b2c7 10/15/2013 02:13 pm Helga Velroyen

Streamlining handling of spindles and default templates

This rather lenghy patch comprises a couple of refactorings
to achieve the following goals:
- 'gnt-node info' should only report space information about
spindles, when exclusive storage is enabled on the node...

4d1429e4 10/15/2013 02:13 pm Helga Velroyen

Rename entities of unit test for MakeLegacyNodeInfo

This is a small preparation step for the next patch.
It just renames the key/value constants for the unit
test of MakeLegacyNodeInfo, because they were rather
undescriptive and thus made changes to the test cumbersome....

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

70e8dd0a 10/11/2013 02:13 pm Helga Velroyen

Move unit tests for --file-storage-dir to cmdlib/*

There were some unit tests for the '--file-storage-dir'
option of 'gnt-cluster modify' still left in the unit
test file ganeti.cmdlib.cluster_unittest.py.
With the introducion of the unit test framework for...

916c0e6f 10/11/2013 02:13 pm Helga Velroyen

Move disk template unit tests to test/py/cmdlib/

This patch moves some unit tests related to dis/enabling
disk templates from ganeti.cmdlib.cluster_unittest.py
to cmdlib/cluster_unittest.py to utilized the new cmdlib
unit test framework.

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

6e513917 10/11/2013 02:13 pm Helga Velroyen

Make GetDiskTemplateSets output disabled disk templates

This patch extends the 'GetDiskTemplateSets' function to
also output the list of disk templates that were enabled
before this operation, but will be disabled afterwards.
This patch also includes code to check for instances using...

87e23f2d 10/11/2013 02:13 pm Helga Velroyen

Rename GetEnabledDiskTemplates to include disabled ones

This patch solely renames the functions
_GetEnabledDiskTemplates* to _GetDiskTemplateSets, because
in later patches, we will refactor it to not only output
disk templates that are or get enabled, but also the ones...

e8c86ab1 10/09/2013 07:39 pm Klaus Aehlig

Merge branch 'stable-2.9' into master

  • stable-2.9
    Version bump for 2.9.0 rc2
    Update NEWS for 2.9.0 rc2
    Downgrade 'vif_script'
    Downgrade 'xen_cmd'
    Add test cluster config for version 2.9
    Remove superfluous import of 'errors'
    Start NEWS entry for 2.9.0 rc2...
d48c944b 10/09/2013 01:40 pm Helga Velroyen

Use 'DTS_LVM' when possible

This patch replaces all usages of the utility function
'GetLvmDiskTemplate' by the new 'DTS_LVM' constant
to make it consistant with the usage of other DTS_*
constants.

Additionally, it provides a unit tests to ensure
consistancy between DTS_LVM and the mapping of disk...

e8936ef7 10/09/2013 01:40 pm Helga Velroyen

iallocator: use lookup by disk template

So far, the iallocator requested storage information
about all enabled disk templates but discarded all but
the LVM information, even if it was allocating space
for a non-LVM instance. With this patch, it now only
asks for the one that is relevant for...

b669aa41 10/09/2013 01:40 pm Helga Velroyen

utils/storage.py: storage info lookup by disk template

This patch improves the handling of storage information
before and after a call to the RPC 'node_info'. It
adds a function to not only call for all storage
information on the cluster (as it is used right now),...

efbd15d8 10/08/2013 02:01 pm Helga Velroyen

Downgrade 'vif_script'

This patch adds removing the 'vif_script' attribute
from the cluster's config when downgrading from 2.9
to 2.8. Adaption of the unit test is included.

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

1d9f9df7 10/08/2013 02:01 pm Helga Velroyen

Downgrade 'xen_cmd'

This downgrades the cluster's hypervisor parameters for the
xen hypervisors with respect to the 'xen_cmd' attribute.
A unit tests is provided.

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

a61383b0 10/08/2013 02:00 pm Helga Velroyen

Remove superfluous import of 'errors'

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

2f1278d8 10/08/2013 01:14 pm Klaus Aehlig

Provide utility function to check a configuration version

In order for 'gnt-cluster upgrade --resume' to determine whether the configuration
is already upgraded, it needs to compare whether a configuration version is compatible
with a Ganeti target version. Provide a utility function for this....

f2b91949 10/07/2013 01:47 pm Klaus Aehlig

Provide an inverse to UnescapeAndSplit

With utils.UnescapeAndSplit, we have a function to parse
arbitrary non-empty string lists encoded as strings. Also
provide the appropriate encoding function.

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

346c3037 10/04/2013 05:11 pm Klaus Aehlig

Provide means of submitting jobs to a drained queue

During an upgrade, the job queue needs to be drained in order to avoid
new jobs coming to the cluster. Nevertheless, the upgrade process
needs to carry out some maintenance, like redistributing the new...

78521495 10/04/2013 05:10 pm Klaus Aehlig

Add predicate whether to call cfgupgrade --downgrade

Provide a predicate that, given the current version and the
version to go to, tells whether it is appropriate to call
cfgupgrade --downgrade.

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

0890e0d1 10/04/2013 05:10 pm Klaus Aehlig

Add utility function to recognize upgrade ranges

Upgrading is possible within the same major version to any equal
or higher minor version. Downgrading is possible within the same
major version to the previous minor version. Moreover, automatic
upgrades are only supported from version 2.10 onwards. Add a utility...

1eda3dd3 10/04/2013 05:09 pm Klaus Aehlig

Add utility function to parse version strings

The new 'gnt-cluster upgrade' command will get a Ganeti version as
argument. So provide a function able to parse it.

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

537dba0c 10/02/2013 05:55 pm Raffa Santi

Add tests specific to the user/kernelspace access feature

Check that the validation procedures don't accept invalid values
and also don't choke on valid values.

Signed-off-by: Santi Raffa <>
Reviewed-by: Thomas Thrainer <>

117a85a0 10/02/2013 05:55 pm Raffa Santi

Add Userspace RBD support in KVM

  • Add device class object in block_device tuple
  • Update hv_xen.py for new block_devices format
  • Fix tests broken by the change

Signed-off-by: Santi Raffa <>
Reviewed-by: Thomas Thrainer <>

9b9e088c 10/02/2013 05:55 pm Raffa Santi

Define 'access' disk-parameter type

Add the "access" parameter to the RBD configuration. Fix test broken
by this change.

Signed-off-by: Santi Raffa <>
Reviewed-by: Thomas Thrainer <>

d4d424fb 10/02/2013 03:50 pm Jose A. Lopes

Replace 'IALLOCATOR_NEVAC_*' with 'NODE_EVAC_*'

Replace uses of 'IALLOCATOR_NEVAC_PRI', 'IALLOCATOR_NEVAC_SEC',
'IALLOCATOR_NEVAC_ALL', and 'IALLOCATOR_NEVAC_MODES', with
'NODE_EVAC_PRI', 'NODE_EVAC_SEC', 'NODE_EVAC_ALL', and
'NODE_EVAC_MODES', given that these constants are repeated....