Statistics
| Branch: | Tag: | Revision:

root / lib @ 5349519d

# Date Author Comment
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...
0f0ca306 02/24/2014 03:56 pm Klaus Aehlig

Merge branch 'stable-2.9' into stable-2.10

  • stable-2.8
    Fix expression describing optional parameters

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

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

2977b72c 02/24/2014 01:53 pm Klaus Aehlig

Merge branch 'stable-2.9' into stable-2.10

  • stable-2.9
    Fix net-common script in case of routed mode
    Document hspace's SPN parameters
    Document spindles in TSPEC
    man: Update the manual page of gnt-node FAILOVER
    Make hbal deal with no-LVM storage space properly...
f2a3c4f0 02/24/2014 11:20 am Petr Pudlak

Let the instance's tuple of nodes start with the primary

Before the tuple of nodes of an instance was created from a set, listing
the nodes in alphabetical order. This patch ensures that the primary
node is always the first one in the list.

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

9cdea43f 02/24/2014 11:09 am Petr Pudlak

Check the existence of system users and groups at bootstrap

Before, if any of these were missing, the creation of a cluster failed
and the cluster remained in an inconsistent state, without the
possibility to destroy it or to re-create it (#603).

This patch calls 'GetEnts' during bootstrap, which tries to read all...

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

3e8a6f39 02/20/2014 10:22 am Helga Velroyen

Smooth renewal of client certificates

This patch fixes another chicken-and-egg problem which
occurred when the node certificates get renewed. When
renewing a node certificate, the previous certificate
has to be used to update the configuration. To address...

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

Constant for instance communication network mode

Create a new constant to hold the instance communication network mode
as this constant will be necessary during the QA, and update the
general documentation about the constants related to the instance
communication mechanism....

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...
9808764a 02/19/2014 10:39 am Jose A. Lopes

Enable/disable instance comm via 'gnt-instance modify'

This patch adds the logic necessary to enable/disable the instance
communication in a running instance via 'gnt-instance modify'. With
instance communication enabled, the instance gets a new NIC that is...

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

Refactor instance comm NIC name creation

Refactor name creation for the NICs used in instance communication.
These names are generated based on a prefix and the instance name.
Also, these names must be unique within a single instance.

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

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

Fix copy of NIC objects to be consistent with the other call

... which can be found just right below in the same module.

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

7a51281a 02/18/2014 04:39 pm Jose A. Lopes

Fix whitespace and typos in comments

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

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

5a89351b 02/14/2014 11:47 am Petr Pudlak

Fix an ambiguity in the documentation for GetNodesSshPorts

This ambiguity was introduced by adding the WConfd client.

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

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

Add the Python client for WConfD

The client combines the abstract client class and the WConfD
stub to provide a Python interface to WConfD.

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

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

Add an RPC Python client for generated stub classes

The client provides _GenericInvoke(...) for a stub and uses its
_GetSocketPath() for opening a Transport.

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

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

Add a Python directory for RPC generated stubs

Directory "lib/rpc/stubs" will contains RPC stubs generated from
Haskell.

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

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

Let RPC clients handle their socket address

.. instead of AbstractClient itself. Also let every client call
_InitTransport() as needed. This allows to determine socket addresses
later than during the initialization of a class.

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

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

4b75f8a4 02/13/2014 02:40 pm Jose A. Lopes

Rename some functions not to collide with opcode names

Rename some functions related to instance communication not to collide
with the naming convention used in the opcodes.

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

2ff6426b 02/13/2014 02:34 pm Jose A. Lopes

Refactor instance communication network add and connect

Factor out the opcodes 'OpNetworkAdd' and 'OpNetworkConnect' used in
'LUClusterSetParams' and 'LUGroupAdd' in order to reduce code
duplication and keep the configuration of the instance communication...

39e27230 02/13/2014 02:34 pm Jose A. Lopes

Connect new groups to the instance communication network

When a new group is added, if the instance communication network is
enabled, then this group must also be connected to this network.

  • 'LUGroupAdd._AddInstanceCommunicationNetwork' connects the newly...
0fcb3314 02/13/2014 02:34 pm Jose A. Lopes

'gnt-cluster modify' with '--instance-communication-network'

Extend CLI 'gnt-cluster modify' with
'--instance-communication-network'. Given that the return type for
'OpClusterSetParams' changed to optionally return a list of jobs, it
is also necessary to handle the result of this opcode accordingly....

d6a7518a 02/13/2014 02:33 pm Jose A. Lopes

'LUClusterSetParams' creates the instance communication net

Extend 'LUClusterSetParams' to create the user-supplied instance
communication network in case this network does not exist. Note that
if the user-supplied network already exists, nothing needs to be done...

11eeb1b9 02/13/2014 02:33 pm Jose A. Lopes

Check prereq instance communication network in 'SetParams'

Later, the logical unit for 'OpClusterSetParams' will be responsible
for creating the instance communication network in case it does not
exist. For now, it is important to check whether the network the user...

fcafd191 02/13/2014 02:33 pm Jose A. Lopes

Add helper to handle CLIs that optionally spawn several jobs

This helper function detects whether an opcode returned a list of jobs
(i.e., a result of the type ht.TJobIdListOnly) and in this case it
uses 'ganeti.cli.JobExecutor' to wait for the jobs and determine the...

9a94cee3 02/13/2014 02:33 pm Jose A. Lopes

Instance comm network from config instead of predefined

  • Add 'ganeti.objects.Cluster.instance_communication_network' to the
    config so the logical unit for 'OpInstanceCreate' can access the
    instance communication network which is stored in the cluster...
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...
0cd5ab45 02/12/2014 05:27 pm Petr Pudlak

Remove the HTOOLS configuration variable

.. and update the code that uses it.

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

f65784ac 02/11/2014 06:43 pm Klaus Aehlig

Merge branch 'stable-2.11' into master

  • stable-2.11
    Gracefully handle queries for non-existing nodes
    Consider job-IDs queried for twice only once

Conflicts:
lib/client/gnt_node.py: trivial
src/Ganeti/Query/Query.hs: import ALL the functions

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

929efcc3 02/11/2014 06:05 pm Klaus Aehlig

Gracefully handle queries for non-existing nodes

When adding a node, Ganeti checks whether the node is already
part of the cluster by querying for the node name. However,
as queries are meant to return all nodes with the given name,
it might well return the empty list when a new node is to be...

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...
a28216b0 02/10/2014 06:18 pm Klaus Aehlig

Fix default for luxi clients in python

As masterd is going away, set default for all clients to
luxid's socket.

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

a154caa4 02/10/2014 02:17 pm Klaus Aehlig

Remove query option from RAPI client

As all RAPI requests now go to luxid, and masterd is going away,
remove option from RAPI client to chose a different socket.

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

7f28a87a 02/10/2014 02:17 pm Klaus Aehlig

Remove query option from GetClient

As all luxi clients talk to luxid now, and masterd will
go away, remove the option to use socket different from
luxid's.

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

2af8b9c9 02/10/2014 02:17 pm Klaus Aehlig

Remove explicit reference to the query socket

Now that luxid's socket is the default socket anyway, do not
pass the "query=True" parameter to GetClient. This will allow
to get rid of this keyword argument, as masterd will go away.

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

39bdcf76 02/10/2014 02:17 pm Klaus Aehlig

Make watcher use luxid socket only

With luxid being feature-complete with respect to masterd,
make the watcher use its socket exclusively. This is also
necessary, as masterd will go away soon.

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

d027b72b 02/10/2014 11:24 am Jose A. Lopes

Fix instance create and import parameters

Move OS parameter related constants to 'ganeti.cli' so they are used
both by instance create and instance import from the CLI.

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

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

3062d395 02/07/2014 11:15 am Santi Raffa

luxid: give stern warnings about debug mode

Luxid as it is can leak private and secret parameters by logging
all requests as they arrive, before any preprocessing is done.

Warn the user stern warnings about this.

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

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

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

CLI: add parameters for private and secret OS parameters

Define the CLI parameters for private and OS 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 <>

92389be9 02/07/2014 11:13 am Santi Raffa

algo: add GetRepeatedKeys

We do not want public, private and secret parameters to have
overlapping keys. This function implements this check.

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

d4102e0c 02/07/2014 11:10 am Santi Raffa

RPCs: add docstrings for instance_os_add

This RPC's instance_osp input has a non-obvious, non documented
type. This patch adds documentation to this RPC.

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

0ee0bc74 02/06/2014 05:14 pm Klaus Aehlig

Switch to luxid for RAPI

...now that luxid knows of all RAPI requests.

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

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

81c222af 02/06/2014 03:34 pm Jose A. Lopes

Add extra NIC to instance being created for communication

When an instance is being created, add an extra NIC (if necessary)
which is meant to be used by the instance communication.

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

81c717cd 02/06/2014 03:34 pm Jose A. Lopes

Generate TAP names ('gnt.com.%d') for instance comm NICs

  • Add helper function that generates names of the form 'gnt.com.%d'
    which are the names for the TAP interfaces meant to be used by
    instance communication. These names are unique within the node....
89473be8 02/06/2014 03:34 pm Jose A. Lopes

Add TAP interface name as argument in '_OpenTap'

This is necessary in order to create TAP interfaces for the
communication mechanism, which are named 'gnt.com.%d', where '%d' is a
unique number within a given node.

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

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...
7231ca26 02/06/2014 10:49 am Dimitris Aragiorgis

Workaround for monitor bug related to greeting msg

QMP may return multiple greeting messages upon connection.
This is reported on qemu-devel. The fix is one-liner but
until it get's released this is a quick and dirty workaround
that flushes the client's buffer after getting the first...

066f16b0 02/06/2014 10:49 am Dimitris Aragiorgis

hotplug: Verify if a command succeeded or not

Just after issuing _CallHoplugCommands() we invoke
_VerifyHotplugCommand() which parses `info pci` result
and searches for given PCI slot and device id.

If we previously had removed a device but it is still there...

89c10241 02/06/2014 10:49 am Dimitris Aragiorgis

hotplug: Call each qemu commmand with an own socat

Previously we issued one socat command with two "\n" separated
actions (e.g. netdev_add ...\ndevice_add...)

After having observed a strange monitor behavior [1] splitting
those commands and introducing a sleep time in between, may reduce...

adec726e 02/04/2014 04:09 pm Jose A. Lopes

Fix missing '@raise' in docstring

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

32542155 02/04/2014 04:09 pm Jose A. Lopes

Fix missing '@raise' in docstring

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

002764e8 02/04/2014 04:09 pm Jose A. Lopes

Fix missing 'L{...}' in docstring

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

472cc1e9 02/04/2014 04:09 pm Jose A. Lopes

Rename 'CdromOption' to '_CdromOption'

... because it is a protected definition.

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

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...
b26a275a 02/04/2014 10:51 am Klaus Aehlig

Fix specification of TIDiskParams

Commit 580b1fdd incorrectly assumes that disk parameters are
just the standard ones, whereas the man page explicitly states
that additional parameters can be passed as well, if they make
sense for the chosen storage type. Fix this....

bddc92ee 02/04/2014 10:48 am Klaus Aehlig

Make BlockDev subclasses adhere the interface for Create

In commit 702c3270 two new parameters were added to the
Create function of BlockDev. Make subclasses also adhere
this specification.

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

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

c032b2ce 02/03/2014 04:16 pm Klaus Aehlig

Make BlockDev subclasses adhere to new interface

In commit 702c3270 two new parameters were added to the
constructor of BlockDev. Make the subclassess accept these
additional parameters as well.

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

702c3270 01/31/2014 06:28 pm Dimitris Aragiorgis

Make disk.name and disk.uuid available in bdev

Until now Disk name and uuid was not available on bdev level.
In case of ExtStorage, this info is useful, and may be for other
templates in the future too.

This patch treats the name and uuid object slots just like the size...

401b773e 01/31/2014 12:07 pm Klaus Aehlig

upgrade: start daemons after ensure-dirs

On upgrading a cluster, we only can rely on daemons starting
up cleanly, if all needed directories are generated first. So
ensure-dirs needs to be run first.

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

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

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

1dec44b2 01/28/2014 05:10 pm Klaus Aehlig

Add missing import

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

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

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...
1a705513 01/22/2014 04:35 pm Hrvoje Ribicic

Run drbdsetup syncer only on network attach

As late as DRBD 8.3.11, the drbdsetup syncer command has a bug causing
nodes to hang from time to time, requiring manual intervention to fix.
The use of the command cannot be avoided, but the incidence of use can...

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