Statistics
| Branch: | Tag: | Revision:

root / test @ 1c4910f7

# Date Author Comment
1c4910f7 03/11/2014 05:09 pm Jose A. Lopes

OS images in 'LUInstanceCreate' and OS scripts optional

  • Use the empty string in 'ganeti.objects.Instance.os' to signify that
    the instance does not use OS scripts.
  • Make several calls related to OS scripts first test whether OS
    scripts are being used....
0108d385 03/11/2014 03:28 pm Klaus Aehlig

Verify serialisation of LockLevel

For the new JSON instance Ganeti.Locking.Locks.LockLevel, verify that
readJSON . showJSON = Ok.

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

1835fd75 03/11/2014 03:28 pm Klaus Aehlig

Add network locks to Haskell

Ganeti also has a lock level for networks, however this level was forgotten
when the Ganeti lock hierarchy was implemented in Haskell.

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

8436d0da 03/07/2014 08:54 pm Klaus Aehlig

Merge branch 'stable-2.11' into master

  • stable-2.11
    (no changes)
  • stable-2.10
    Revision bump for the 2.10.1 release
    Update NEWS file for 2.10.1
    Use node UUIDs for executing LU hook
    Add PreparePostHookNodes to LUs
    Fix error propagation in post-commit hooks...
205d3309 03/07/2014 08:33 pm Klaus Aehlig

Merge branch 'stable-2.10' into stable-2.11

  • stable-2.10
    Revision bump for the 2.10.1 release
    Update NEWS file for 2.10.1
    Use node UUIDs for executing LU hook
    Add PreparePostHookNodes to LUs
    Fix error propagation in post-commit hooks
  • stable-2.9...
4cbe5138 03/07/2014 07:53 pm Klaus Aehlig

Merge branch 'stable-2.9' into stable-2.10

  • stable-2.9
    Fix error introduced during merge
    gnt-cluster copyfile: accept relative paths
  • stable-2.8
    Improve RAPI detection of the watcher
    Add patching QA configuration files on buildbots
    Enable a timeout for instance shutdown...
85530402 03/07/2014 07:07 pm Michele Tartara

Merge branch 'origin/stable-2.8' into stable-2.9

  • stable-2.8
    Improve RAPI detection of the watcher
    Add patching QA configuration files on buildbots
    Enable a timeout for instance shutdown
    Allow KVM commands to have a timeout
    Allow xen commands to have a timeout...
1f87d93d 03/07/2014 05:22 pm Petr Pudlak

Add a test for (de)serialization of Ssconf

.. to verify that readJSON . showJSON = Ok.

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

d6f05205 03/07/2014 05:22 pm Petr Pudlak

Create a data type for representing RPC compressed data

It is serialized as a JSON pair. The first element is a number
describing the compression type, the second element the actual data
(in this case Base64+Zlib encoded).

On the Python side it is decompressed by backend._Decompress....

874f6148 03/07/2014 12:08 pm Michele Tartara

Enable a timeout for instance shutdown

Add the timeout parameter to the StopInstance function of the hypervisor base
class and to all its implementations.

Also, change the tests as required by this change.

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

885759da 03/07/2014 09:35 am Petr Pudlak

Refactor warnings issued by the latest 'hlint'

.. as the newest version of hlint adds additional checks

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

01a9a382 03/06/2014 05:35 pm Klaus Aehlig

Verify that all lock owners indeed own a lock

Add a test verifying that the list of lock owners is not
too big in the sense that every subject contained in that
list owns at least one lock.

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

27f28739 03/06/2014 05:35 pm Klaus Aehlig

Verify the list of lock owners is complete

In other words, verify that if all the lock owners release their
locks, the empty lock allocation is reached.

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

2868f3f7 03/05/2014 11:21 am Hrvoje Ribicic

Add the interruptible option to the delay opcode

To prepare for the use of sockets to interrupt a running delay opcode,
this patch adds an option to the opcode for doing so.

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

aa14fb0a 03/05/2014 11:21 am Hrvoje Ribicic

Fix failing tests

The previously introduced changes caused some tests to fail. This patch
alters the tests to expect different values, while still ensuring
correct behavior.

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

47c43de1 03/05/2014 11:21 am Hrvoje Ribicic

Extend RAPI client constant unit test with error codes

The RAPI client is meant to be independent from the wider Ganeti
codebase, but it still needs to use Ganeti constants. To enforce this,
a unit test is used. This patch extends the unit test with error code...

ec3a7362 03/05/2014 10:58 am Jose A. Lopes

Remove duplicated '_CheckOSVariant'

It seems '_CheckOSVariant' was moved from 'ganeti.cmdlib.instance' to
'ganeti.cmdlib.instance_utils' but the source was never deleted. This
patch deletes the source copy if this function.

Signed-off-by: Jose A. Lopes <>...

0b3a266d 03/04/2014 05:19 pm Petr Pudlak

Test the instance 'ArrayObject Disk'

.. which is one of the few ones that use extra fields.

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

91f0dc1e 03/04/2014 05:19 pm Petr Pudlak

Add a helper function for testing 'ArrayObject' instances

It checks if 'fromJSArray . toJSArray' is equivalent to 'Ok'.

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

69809ae3 03/04/2014 02:27 pm Klaus Aehlig

Verify the intervall property of GanetiLocks

According to the specification in our design, if A is a group
lock and B belogs to this group, then all locks between A and B
in the lock order also must belong to A. Verify this.

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

cf7f8e51 03/04/2014 02:27 pm Klaus Aehlig

Verify implication restriction on locks

As specified in our design, if A is a group lock and B
belongs to A, then A must be earlier in the lock order
than B. Verify this property.

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

2e1399da 03/04/2014 02:27 pm Klaus Aehlig

Update Arbitrary GanetiLocks

With the extension of Ganeti.Locking.Locks.GanetiLocks to the
full lock hierarchy, also extend the instantiation of Arbitrary.

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

ff1c051b 03/04/2014 11:41 am Thomas Thrainer

Use node UUIDs for executing LU hooks

LUNodeAdd, the only LU using a node name still, is changed to overwrite
PreparePostHookNodes() and use node UUIDs only as well.
This allows to remove the support for 3-tuples as results of
BuildHooksNodes() and removes the translation to node names....

71b770a9 02/28/2014 03:39 pm Klaus Aehlig

Merge branch 'stable-2.11' into master

  • stable-2.11
    Setting correct permissions of client cert (split-user)
    Add luxid group to 'users-setup'
    Add some whitespace to fix formatting
    Consider old client cert only when available
    Fix return of 'Validate'...
b4726cd7 02/28/2014 02:08 pm Dimitris Bliablias

Add unittest for gnt-cluster modify --mac-prefix

Add unittest for cluster mac-prefix modification support.

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

0cffcdb1 02/28/2014 02:08 pm Dimitris Bliablias

Allow cluster mac prefix modification

Extend LUClusterSetParams to allow the modification of the cluster
mac-prefix setting in 'gnt-cluster modify' command.

This fixes part of issue 239.

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

b3724640 02/27/2014 05:11 pm Jose A. Lopes

Fix return of 'Validate'

  • fix return of 'Validate' in docstrings
  • fix all call sites
  • fix all tests

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Helga Velroyen <>

e3b02e1f 02/26/2014 06:23 pm Klaus Aehlig

Verify serialization/deserialization consistency for Locks

As we made Ganeti.Locking.Locks an instance of JSON, we better verify
that we can readJSON what we showJSON.

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

89d140d1 02/26/2014 06:23 pm Klaus Aehlig

Add test for serialization of LockAllocation

Verify readJSON . showJSON = Ok for LockAllocations.

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

5fd32824 02/24/2014 05:44 pm Klaus Aehlig

Merge branch 'stable-2.11' into master

  • stable-2.10
    Let the instance's tuple of nodes start with the primary
    Fix the test that checks for the order of instance's nodes
    Revision bump for the 2.10.0 release
    Update NEWS file for 2.10.0
    Revision bump for 2.10.0~rc3...
ead368bb 02/24/2014 04:42 pm Klaus Aehlig

Merge branch 'stable-2.10' into stable-2.11

  • stable-2.10
    Let the instance's tuple of nodes start with the primary
    Fix the test that checks for the order of instance's nodes
    Revision bump for the 2.10.0 release
    Update NEWS file for 2.10.0
  • stable-2.9...
93a968aa 02/24/2014 11:19 am Petr Pudlak

Fix the test that checks for the order of instance's nodes

The test checks if the first node in the tuple is the primary node, but
because it names the node so that it's the least one alphabetically, the
test always succeeds. This fixes the test.

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

13caa61d 02/21/2014 02:14 pm Klaus Aehlig

Verify the result of opportunistic union

Verify that the result returned by the opportunistic union correctly
reflects the state change: locks not in the result are not changed,
locks in the result are as requested.

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

fb68bc0c 02/21/2014 02:14 pm Klaus Aehlig

Verify that opportunistic union only adds to the locks held

Add a test verifying that by opportunistic union the set of locks
held, and the level at which the locks are held, only increases.

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

9f9c4543 02/21/2014 02:14 pm Klaus Aehlig

Use opportunisticUnion in Arbitrary LockAllocation

Also allow the newly exported function opportunisticLockUnion in the
construction of arbitrary lock allocations.

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

07eec0fc 02/21/2014 02:14 pm Klaus Aehlig

Generate arbitrary :: LockAllocation according to interface

While we know that freeLocks and intersectLocks are defined in terms
of updateLocks, it is still cleaner to test against the interface: the
module Ganeti.Locking.Allocation exports several functions, and all...

277c969f 02/19/2014 03:45 pm Klaus Aehlig

Add a test verifying that lock-implication is honored

Locks can be included in one another. This inclusion can be violated
in two ways, viz.,
- A holds a lock L and B holds an exclusive lock L belongs to, and
- A holds an exclusive lock and B holds a lock L belongs to....

64df329d 02/19/2014 03:45 pm Klaus Aehlig

Verify that every owner mentioned as blocking actually is

If a request is blocked by multiple lock owners, verify that each
single one of them actually blocks the request. In other words,
verify that, whenever all but one release their lock, the request
still does not succeed....

9bf17b50 02/19/2014 03:45 pm Klaus Aehlig

Verify that the set of blocking owners is big enough

When a request is blocked, the list of blocking owners
should exhaust all blocking reasons, i.e., if those
owners release all their locks, the update must succeed.

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

619b12df 02/19/2014 03:45 pm Klaus Aehlig

Make TestLock an instance of Lock

Equip the type of test locks with a simple group structure
consisting of two lock groups and a big lock.

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

a9c3ba29 02/19/2014 03:45 pm Klaus Aehlig

Verify that releasing a lock always succeeds

There are no restrictions on releasing a lock; so this operation
has to succeed unconditionally. Verify this.

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

93f1e606 02/19/2014 10:39 am Jose A. Lopes

Add '-c | --instance-communication' flag to instance modify

  • Add the instance communication flag to the 'OpInstanceSetParams'
    opcode. This flag allows the user to enable/disable instance
    communication in a running instance. This patch adds this flag but...
a317d77a 02/17/2014 03:40 pm Klaus Aehlig

Make the lock allocation part of WConfD's state

As WConfD is supposed to be the authoritative source for
configuration and locks, it needs to have access to the lock
state as well.

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

1d49428b 02/17/2014 03:40 pm Klaus Aehlig

Verify atomicity of lock updates

Add a test verifying the atomicity of an update, i.e., if an update
succeeds, then all requests must be satisfied in the final state, and
if it fails, the state must be unchanged.

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

987fcfb7 02/17/2014 03:40 pm Klaus Aehlig

Verify lock stability over updates

Add a test that verifies that updates by one user do not
affect the locks held by a different user.

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

3469663d 02/17/2014 03:40 pm Klaus Aehlig

Verify Basic property for lock allocation

Verify the minimal consistency property for any form
of lock handling: if a user holds an exclusive lock,
then no other user can hold the same lock (neither
exclusively, nor shared).

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

a53772a0 02/14/2014 04:57 pm Klaus Aehlig

Merge branch 'stable-2.11' into master

  • stable-2.11
    Update design doc wrt to improved SSL design
    Test node certificate renewal in QA
    Use node UUID as client certificate serial number
    Revert "Temporarily remove SSL changes from NEWS file"
    Revert "Disabling client certificate usage"...
ab4b1cf2 02/14/2014 03:51 pm Helga Velroyen

Use node UUID as client certificate serial number

It turns out, that some implementations of OpenSSL are more
pedantic in checking the certficates than others. In this
particular case, the SSL connection could not be
established when the serial number of the certificates...

d5104ca4 02/14/2014 03:51 pm Helga Velroyen

Revert "Disabling client certificate usage"

This reverts commit 45f75526b848, which was introduced to
temporarily disable the implementation of SSL client
certificates. As this patch series fixes the reason for
the disabling, we are rolling back the patch....

e465608f 02/14/2014 11:47 am Petr Pudlak

Add mtime/ctime to ConfigData

It's used on the Python side, it's been missing on the Haskell side.

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

59881a0b 02/14/2014 11:47 am Petr Pudlak

Add the WConfD daemon itself

The daemon exposes the declared functions in Ganeti.WConfd.Core to RPC
clients (currently just 'echo').

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

fb0fa957 02/14/2014 11:47 am Petr Pudlak

Add the WConfD daemon to build configuration files

Also list it in the Haskell datatype, constants, Python constants and
test configuration.

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

63571096 02/14/2014 11:46 am Petr Pudlak

Add tests for Ganeti.THH.Types

In particular, test (de)serialization of "OneTuple".

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

1263a102 02/14/2014 11:46 am Petr Pudlak

Add a helper test method for checking deserialization

It tests if a deserialization method fails properly when an invalid
input is given.

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

42fda604 02/13/2014 02:33 pm Jose A. Lopes

Add 'instance_communication_network' to 'OpClusterSetParams'

... and update the unit tests.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Helga Velroyen <>

8a5d326f 02/13/2014 02:33 pm Jose A. Lopes

Add 'instance_communication_parameter' to 'Cluster'

  • Add parameter 'instance_communication_parameter' to the Python
    'ganeti.objects.Cluster' and the Haskell 'Ganeti.Objects.Cluster'.
  • Update Haskell 'QueryClusterInfo' to return also the
    'instance_communication_network' parameter....
bcb1ab78 02/12/2014 05:54 pm Petr Pudlak

Merge branch 'stable-2.11' into master

  • stable-2.11
    Update the list dependencies in INSTALL
    Make luxid's Haskell dependencies mandatory
    Fix start/stop scripts to run luxid unconditionally
    Remove the HTOOLS configuration variable
    Add a config. conditional for running Haskell coverage...
6b06efa7 02/12/2014 05:27 pm Petr Pudlak

Fix start/stop scripts to run luxid unconditionally

and update the unit check the list of daemons.

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

d759a02b 02/10/2014 06:38 pm Klaus Aehlig

Merge branch 'stable-2.11' into master

  • stable-2.11
    (no changes)
  • stable-2.10
    Fix 'JobIdListOnly' type from 'List' to 'Map'
    Remove NEWS entry for 2.9.4
    Workaround for monitor bug related to greeting msg
    hotplug: Verify if a command succeeded or not...
adcccd43 02/10/2014 06:24 pm Klaus Aehlig

Merge branch 'stable-2.10' into stable-2.11

  • stable-2.10
    Fix 'JobIdListOnly' type from 'List' to 'Map'
    Remove NEWS entry for 2.9.4
    Workaround for monitor bug related to greeting msg
    hotplug: Verify if a command succeeded or not
    hotplug: Call each qemu commmand with an own socat...
31d3b918 02/10/2014 11:24 am Santi Raffa

Fix compatibility issues

  • Fix GenericInstanceCreate
  • Fix pylint disable annotation
  • Change some assert methods to assertTrue()

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

285ece5b 02/07/2014 11:15 am Santi Raffa

SimpleFillOS: add unit tests for OS parameter merging

Adds tests to ensure OS parameters are dealt with consistently.

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

da0aa302 02/07/2014 11:15 am Santi Raffa

OpCodes: modify InstanceReinstall for private, secret params

Modify InstanceReinstall to accept and process private and secret
parameters.

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

6bce7ba2 02/07/2014 11:14 am Santi Raffa

OpCodes: modify InstanceCreate for private, secret params

Modify InstanceCreate to accept process private and secret parameters.

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

07e3c124 02/07/2014 11:14 am Santi Raffa

OpCodes: modify ClusterSetParams for private parameters

Modify ClusterSetParams to accept and process private parameters.

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

1a182390 02/07/2014 11:14 am Santi Raffa

OpCodes: modify InstanceSetParams for private parameters

Modify InstanceSetParams to accept and process private parameters.

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

a5efec93 02/07/2014 11:14 am Santi Raffa

Add private OS parameters to cluster and instance conf

This updates objects, constructors and mocks for Instance and Cluster
objects in Python and Haskell.

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

4884f187 02/07/2014 11:13 am Santi Raffa

Add Private types to Python, Haskell

This commit adds the private containers to Python and Haskell.

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

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

9d929656 02/07/2014 11:13 am Santi Raffa

OpCodes test: fix argument order (expected/but got)

Fix expected/but got value in some unit tests.

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

015f1517 02/06/2014 03:34 pm Jose A. Lopes

Add CLI and OpCode instance communication option

  • Add command-line interface flag to enable instance communication
  • Add instance communication parameter to the opcode that creates an instance

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

3af1359f 02/06/2014 03:34 pm Jose A. Lopes

Add metadata daemon

... including, user, group, daemonizing code with command line
options, integration with the Snap HTTP server, and logic.

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

ddd667f7 02/06/2014 12:45 pm Thomas Thrainer

Merge branch 'stable-2.9' into stable-2.10

  • stable-2.9
    Make the LUInstanceCreate return node names, not UUIDs
    Document new handling of degraded instances in NEWS
    Gracefully handle degraded instances in verification
    Be aware of the degraded case when cleaning up an instance...
45907709 02/04/2014 03:14 pm Petr Pudlak

Merge branch 'stable-2.11' into master

  • stable-2.11
    Add andRestArguments to IDiskParams
    Add function providing the canonical andRestArguments
    Add genAndRestArguments :: Gen (Map String JSValue)
    Add additional constructor AndRestArguments to OptionalType...
2e09344f 02/04/2014 10:51 am Klaus Aehlig

Add andRestArguments to IDiskParams

In this way, we cann pass through the opaque parameters
required for disk creation and modification in the case of
external storage.

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

db9583f2 02/04/2014 10:51 am Klaus Aehlig

Add genAndRestArguments :: Gen (Map String JSValue)

So that objects using AndRestArguments are available for testing.
As the AndRestArguments are intended for passing through additional
parameters passed on the command line, we restrict them to the
values that are allowed at this position: Strings of ASCII characters...

ea7032da 01/30/2014 04:10 pm Petr Pudlak

Update getDirJobIDs to use ResultT

Also simplify code and remove unused functions.

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

87f15934 01/30/2014 04:10 pm Petr Pudlak

Generalize type signatures of functions that produce Result

This allows them to be used in any 'MonadError', in particular in monad stacks
composed using ResultT, without explicit lifting.

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

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...
6228acdf 01/29/2014 05:26 pm Hrvoje Ribicic

Modify test to reflect RAPI operation changes

A rlib2 unittest tested for the wrong behaviour, and this patch changes
the inputs and expected values to account for this.

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

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

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...
b75430d9 01/27/2014 02:50 pm Ilias Tsitsimpis

Add 'provider' to IDiskParams

IDISK_PROVIDER was included in python's IDISK_PARAMS, so it
should also be included in the Haskell code.

Now that luxid creates and enqueues jobs, without this patch the
ExtStorage interface is broken as the user can not pass the disk...

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

06455b13 01/16/2014 07:25 pm Klaus Aehlig

Merge branch 'stable-2.11' into master

  • stable-2.11
    Add 'design-2.11.rst' which kvmd and instance shutdown
    Clarify spacing in record syntax
    Update NEWS entry about job scheduling
    Clean up luxidMaxRunningJobs
    Make the scheduler use the max_running_jobs config parameter...
ad756c77 01/16/2014 05:11 pm Klaus Aehlig

Add opcode parameter for the maximal number of running jobs

This parameter of OpClusterSetParams will allow to set the
maximal number of jobs to be run simultaneously.

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

74b3f734 01/16/2014 05:11 pm Petr Pudlak

Use ClockTime instead of Double in fields in Objects.hs

This affects "mtime" and "ctime" fields in all data types.

This also forces explicit declaration of how the fields are serialized
in Query.

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

6879dfd2 01/16/2014 05:11 pm Petr Pudlak

Also fix MaybeForJSON parsing and add unit tests

Its readJSON was mistakenly implemented as an infinite loop.

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

dde8b625 01/16/2014 05:11 pm Petr Pudlak

Add (de)serialization unit tests for TimeAsDoubleJSON

This includes adding an Arbitrary instance for TimeAsDouble, and also an
orphan instance for Arbitrary ClockTime so that the current tests work
unmodified.

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

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

588d0ee4 01/13/2014 07:43 pm Jose A. Lopes

Unit tests for KVM daemon

Add unit tests for KVM daemon.

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

4084d18f 01/13/2014 07:43 pm Jose A. Lopes

KVM daemon datatype, user and group

  • add user and group to 'configure.ac', 'Makefile.am' and
    'AutoConf.hs.in'
  • extend 'Daemon' datatype with 'GanetiKvmd' and implement all related
    functions, such as, 'daemonName', etc.
  • export KVM daemon name as constant...
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 <>