Statistics
| Branch: | Tag: | Revision:

root / lib @ ab0c6a39

# Date Author Comment
ab0c6a39 05/29/2014 02:07 pm Dimitris Aragiorgis

(grnet) Move disk options before nic ones in kvm command

Older versions of Ganeti did ensure that during startup
disk devices will be inserted before nic devices in PCI
configuration space. KVM inserts devices to PCI slots
depending on the order of command line options....

8e4aacdc 05/29/2014 02:07 pm Ilias Tsitsimpis

(2.13) Pass the access parameter to ExtStorage template

Add the ExtStorage template to the set of templates that accept the
'access' parameter. The default 'access' of the node-group for
ExtStorage devices will be 'kernelspace'.

Update the man page for gnt-instance to state that ExtStorage templates...

6c6b4df2 05/29/2014 02:07 pm Ilias Tsitsimpis

(2.13) Handle IDISK_ACCESS parameter in ComputeDisks

The IDISK_ACCESS disk parameter was not handled in the 'ComputeDisks'
function, thus the 'access' parameter was ignored during the instance
creation. This patch fixes this and also fixes a typo in
'_VerifyDiskModification'....

13d30fe9 05/29/2014 02:07 pm Ilias Tsitsimpis

(2.13) Implement GetUserspaceAccessUri for ExtStorage

Allow ExtStorage devices to support userspace access.
The 'attach' script of an ExtStorage provider is now allowed to return
more than one line. The first line will contain as always the block
device path. Each one of the extra lines will contain a URI to be used...

87e9bdb7 05/29/2014 02:07 pm Ilias Tsitsimpis

(2.13) Move ExtStorage code out from bdev

Move the ExtStorage related code out from bdev to a new
file called 'extstorage.py'.

Signed-off-by: Ilias Tsitsimpis <>
Signed-off-by: Thomas Thrainer <>
Reviewed-by: Thomas Thrainer <>...

4f3bdf5a 05/29/2014 02:07 pm Ilias Tsitsimpis

(2.13) Make 'access' an optional disk parameter

This patch makes 'access' an optional disk parameter just like
spindles, mode, name, vg and metavg. This option can only be set to
'kernelspace' or 'userspace'. When 'userspace' is used, the instance
will access this disk directly without going through a block device....

d4928417 05/29/2014 02:07 pm Klaus Aehlig

(2.11) 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 <>

3317a3e5 05/29/2014 02:07 pm Klaus Aehlig

(2.11) 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 <>

9242db4a 05/29/2014 02:07 pm Dimitris Aragiorgis

(2.11) 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...

d93e2477 05/29/2014 02:07 pm Dimitris Aragiorgis

(2.13) kvm: Add migration capabilities as an hvparam

Latest QEMU versions support various migration capabilities. Each
can be enabled/disabled with 'migrate_set_capability' monitor
command.

Version 1.7.0 defines x-rdma-pin-all, auto-converge, zero-blocks,...

a2f9ee87 05/29/2014 02:07 pm Dimitris Aragiorgis

(2.8r) Workaround for Issue 621

Upon LUNetworkDisconnect() and LUNetworkConnect() try to acquire
all cluster's instances.

By that _LS_ACQUIRE_ALL acquire mode is set and not
_LS_ACQUIRE_EXACT and thus the deleted lock does cause any problem.

NOTE: This workaround is not merged upstream. They prefer to have...

4922cd73 05/28/2014 06:20 pm Jose A. Lopes

'Raise' called inside 'CheckPrereq' needs the prereq kw

This patch fixes the missing 'prereq' keyword in calls to 'Raise' in
the control flow of 'CheckPrereq', and updates the tests.

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

0f63c080 05/23/2014 01:45 pm Dimitris Aragiorgis

Fix gnt-network client wrt instances report

Let the gnt-network client expect a list of instance names and not
UUIDs as returned by QueryNetworks (by both old and new style query
mechanism).

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

96092119 05/23/2014 01:45 pm Dimitris Aragiorgis

Fix QueryNetworks wrt instances

QueryNetworks tries to find which instances are connected to which
networks. The query mechanism in Haskell was written back when NICs
referred to a network via its name and not its UUID. Fix luxi to
comply with the current implementation (network slot of NIC object...

876fb142 05/22/2014 11:13 am Helga Velroyen

Convert all the classes to new-style classes

... to make lint shut up.

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

aa112e9f 05/20/2014 01:59 pm Thomas Thrainer

Add --no-locks option to gnt-debug delay

Add the possibility to don't acquire locks during `gnt-debug delay`.
This allows to run many delay jobs in parallel instead of having
them run sequentially.

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

d0cd1368 05/19/2014 01:53 pm Klaus Aehlig

Support group evacuation by failover

Support evacuating a node group not using migration.
This can be useful if the group evacuated to has different
hardware.

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

2039321f 05/19/2014 01:53 pm Klaus Aehlig

Add an option --force-failover

...to be added to gnt-group evacuate forcing evacuation by
means for failovers instead of migrations.

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

95ec6e95 05/16/2014 12:19 pm Ansgar Jazdzewski

openvswitch fix

  • fix unhandled nic.mode in config.py
    "Unhandled Ganeti error: NIC mode 'openvswitch' not handled" (Issue 804)
  • handle link-changes for the virtual NIC
    a instance will readd the tap interface to the openviswitch so that
    changes of the instance-link (VLAN) will be considered....
c812ab71 05/16/2014 12:18 pm Klaus Aehlig

Support sequential evacuation

Make gnt-group evacuate support the --sequential option,
which causes all evacuation moves to be execuated sequentially.
This can be used to avoid congestion on a possibly slow link
between the node groups.

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

ed9c2202 05/16/2014 12:18 pm Klaus Aehlig

Add an option --sequential

...which can be used to tell commands like gnt-group evacuate to
sequentially perform their action to keep load away from the cluster.

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

70000149 05/14/2014 02:28 pm Thomas Thrainer

Merge branch 'stable-2.9' into stable-2.10

  • stable-2.9
    On expanding jobs, extend reason trail

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

0511c075 05/14/2014 02:21 pm Klaus Aehlig

On expanding jobs, extend reason trail

Certain op-codes expand to a set of jobs. For
those new jobs, extend their reason trail with
the reasons of the job that expanded to them.
In this way, also for indirectly genreated jobs
a complete trace back to the initiator can be...

d33d00ba 05/09/2014 09:27 am Thomas Thrainer

Fail in replace-disks if attaching disks fails

Previously, if attaching the new secondary during a replace-disks
operations failed, only a warning was emitted. The subsequent sync-disks
operation cannot finish in such a case, however.

Therefore, this patch changes the warning into an error. This way it's...

703508c0 05/08/2014 06:01 pm Hrvoje Ribicic

Merge branch 'stable-2.9' into stable-2.10

  • stable-2.9
    Add configure option to pass GHC flags
    KVM: set IFF_ONE_QUEUE on created tap interfaces

Conflicts:
configure.ac # Taken both contributions

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

b8168679 05/08/2014 04:36 pm Apollon Oikonomopoulos

KVM: set IFF_ONE_QUEUE on created tap interfaces

The IFF_ONE_QUEUE flag directs the kernel to only queue tap packets once
(as opposed to queueing them twice, once for the device, and once for the
qdisc), possibly avoiding interface stalls when one of the queues overruns....

edc6dbc6 04/29/2014 01:43 pm Klaus Aehlig

Set correct Ganeti version on setup commands

When asked to execute a setup command, prefix it with
a command sequence to test for the existence of the
needed Ganeti version and switching to it.

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

a5bd9ea7 04/29/2014 01:43 pm Klaus Aehlig

Add a utility to combine shell commands

Add a function that combines individual shell commands into
a single command (calling the standard shell) that executes
the given commands in sequence while they succeed.

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

462d6658 04/25/2014 12:04 pm Hrvoje Ribicic

Fix failed DRBD disk creation cleanup

When creating a DRBD disk, Ganeti reserves minor numbers on a per-node
basis. In case of a failed disk creation, these reservations should be
released. During the name/uuid refactoring, the invocation of the
function that releases the minors was not updated, resulting in no...

8c7864ba 04/22/2014 04:54 pm Helga Velroyen

Hooking up verification for shared file storage

As for the cluster modify, it was also forgotten to
hook up the verification of the shared file storage
paths despite all infrastructure was done already.

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

c02767f0 04/22/2014 04:54 pm Helga Velroyen

Fix --shared-file-storage-dir option of gnt-cluster modify

While all infrastructure to make shared-file storage
runtime-configurable was already submitted, the actual
setting of the path was forgotten. This patch fixes it.

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

bd9ef845 04/10/2014 12:20 pm Hrvoje Ribicic

Fix non-running test and remove custom_nicparams rename

Due to a missing base class, the test that was supposed to check if
RAPI instance parameter renames during modifications are working did
not execute. As the instances are not covered by the QA tests, the...

a278ef7f 04/08/2014 03:31 pm Hrvoje Ribicic

Account for NODE_RES lock in opportunistic locking

This patch extends the opportunistic locking to take both the
NODE_RES and NODE locks into account when selecting nodes to be used
by the iallocator.

Signed-off-by: Gerard Oskamp <>
Reviewed-by: Hrvoje Ribicic <>

c1b512ca 04/08/2014 02:24 pm Thomas Thrainer

Fix request flooding of noded during disk sync

If a user manually pauses the DRBD sync, Ganeti started to poll the node
daemon without any waiting between request. This caused heavy load on
the node. This patch fixes this by waiting at least 5 secondes between...

918baead 04/01/2014 01:56 pm Apollon Oikonomopoulos

KVM: use running HVPs to calc blockdev options

Commit 0fe22ad2 moved the call to _GenerateKVMBlockDevicesOptions() from
_GenerateKVMRuntime() to _ExecuteKvmRuntime. However, while in
_GenerateKVMRuntime() there is only one set of HVPs, those of the
instance's configuration, in _ExecuteKVMRuntime there are two sets of...

5e6d16ab 04/01/2014 01:43 pm Apollon Oikonomopoulos

KVM: reserve a PCI slot for the SCSI controller

Currently instances with disk_type=scsi are broken, because the SCSI
controller uses a PCI slot not accounted for in the PCI assignment
logic. We reserve a throw-away slot just for that.

This is a temporary workaround and will be reverted during the upcoming...

a4bbd52a 04/01/2014 12:22 pm Helga Velroyen

Check for LVM-based verification results only when enabled

This patch fixes a little glitch in 'gnt-cluster verify'.
If LVM-based storage was disabled, it would still check
LVM-related verification results and print a confusing
error message.

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

824d2357 04/01/2014 12:22 pm Helga Velroyen

Fix "existing" typos

This patch fixes the wording of a couple of messages,
including two typos of the word 'existing'.

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

715a89c2 04/01/2014 12:18 pm Thomas Thrainer

Fix output of gnt-instance info after migration

After migrating a DRBD based instance, the output of gnt-instance info
was wrong wrt. DRBD minors. This patch fixes the output in such cases.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Hrvoje Ribicic <>

2dc0acb9 03/31/2014 04:41 pm Klaus Aehlig

Verify configuration version number before parsing

As the attempt to convert the dict used as json representation
of the configuration into a configuration object already makes
assumptions about the internal representation, verify the version
before such an attempt. Fixes issue 783....

7bb22823 03/27/2014 06:50 pm Hrvoje Ribicic

Merge branch 'stable-2.9' into stable-2.10

  • stable-2.9
    Fix failing gnt-node list-drbd command
  • stable-2.8
    Add reason parameter to RAPI client functions

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

d65f3490 03/27/2014 06:15 pm Hrvoje Ribicic

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Add reason parameter to RAPI client functions

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

f22348c6 03/27/2014 04:33 pm 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....

ddaf6cd3 03/26/2014 05:37 pm Hrvoje Ribicic

Add aliases for nodes

This patch adds a single alias for the secondary_ip property of the
node.

Signed-off-by: Hrvoje Ribicic <>
Reviewed-by: Thomas Thrainer <>

3fd0d720 03/26/2014 05:37 pm Hrvoje Ribicic

Add renaming of group custom ndparams, ipolicy, diskparams

This patch adds the ability to set the group-specific parameters in the
same way they are described when returned by the info command - with
the "custom_" prefix.

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

d42394f2 03/26/2014 05:37 pm Hrvoje Ribicic

Add renaming of instance custom params

Much like the groups before, this patch allows custom_* params to be
submitted under the same name they can be retrieved as in the info
call.

Signed-off-by: Hrvoje Ribicic <>
Reviewed-by: Thomas Thrainer <>

286c0df2 03/26/2014 05:37 pm Hrvoje Ribicic

Add support for value aliases to RAPI

This patch extends the metaclass used to generate RAPI handlers to
allow creating aliases of certain values returned by GET methods.

Signed-off-by: Hrvoje Ribicic <>
Reviewed-by: Thomas Thrainer <>

bbdf78f5 03/26/2014 05:37 pm Hrvoje Ribicic

Add aliases for cluster parameters

This patch adds aliases for two cluster parameters.

Signed-off-by: Hrvoje Ribicic <>
Reviewed-by: Thomas Thrainer <>

8ae4d0de 03/26/2014 05:16 pm Michele Tartara

Add reason parameter to RAPI client functions

Only the functions for starting, stopping and rebooting a VM had a reason
parameter. Now, all the RAPI client functions generating opcodes do.

Also, one test is expanded to verify that a RAPI request with both body and...

3b8ca90f 03/24/2014 03:39 pm Klaus Aehlig

Merge branch 'stable-2.9' into stable-2.10

  • stable-2.9
    Make watcher submit queries low priority

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

b4ff41d7 03/24/2014 03:25 pm Klaus Aehlig

Make watcher submit queries low priority

Make the watcher collect its data using low-priority jobs,
to avoid blocking user/admin jobs. Note that repair jobs are
still submitted normal priority. Fixes issue 772.

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

3a72e34a 03/17/2014 06:30 pm Dimitris Aragiorgis

Fix conflict between virtio + spice or soundhw

With regard to PCI slot occupied by a KVM instance we have
observed the following:

1) Slot 0 will always be Host bridge.
2) Slot 1 will always be ISA bridge.
3) Slot 2 will always be VGA controller (even with -display none)....

d13fb3f1 03/17/2014 06:30 pm Dimitris Aragiorgis

Fix bitarray ops wrt PCI slots

Introduce new method `_GetFreeSlot()` responsible only for bitarray
operations. It fixes search in case of bitarray is either '0000..'
or '1111..'.

Use it instead of `_UpdatePCISlots()` and in `_GetFreePCISlot()`.

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

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...
ddc64582 03/07/2014 07:32 pm Michele Tartara

Fix error introduced during merge

A parameter was lost while resolving a conflict in the signature of a function.

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

74a4fc94 03/07/2014 07:25 pm Klaus Aehlig

gnt-cluster copyfile: accept relative paths

If, on the command line, the argument to gnt-cluster copyfile is
a relative path, consider this a shorthand for the corresponding
absolute path.

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

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...
6177890b 03/07/2014 05:15 pm Michele Tartara

Improve RAPI detection of the watcher

If the watcher is not allowed to access RAPI, it doesn't mean that it is dead
and needs to be restarted.

Fixes Issue 752.

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

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

2a2d087a 03/07/2014 12:08 pm Michele Tartara

Allow KVM commands to have a timeout

Modify the function that sends commands to the KVM monitor so that it is
possible to specify an optional timeout after which the command is killed.

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

7066724d 03/07/2014 12:07 pm Michele Tartara

Allow xen commands to have a timeout

Modify the function that runs Xen commands so that it is possible to specify an
optional timeout after which the command is killed.

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

76e2e6f6 03/07/2014 12:07 pm Michele Tartara

Fix wrong docstring

Fields must be the final elements in an epytext string.

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

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

237a833c 03/04/2014 11:40 am Thomas Thrainer

Add PreparePostHookNodes to LUs

This method can be used to alter the list of node UUIDs on which post
hooks are executed. PreparePostHookNodes is called after Exec, so LUs
can use data only known after the execution of the LU.

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

510f672f 03/04/2014 11:35 am Michele Tartara

Fix error propagation in post-commit hooks

An error in the post-commit hooks could not be propagated correctly and could
result in e.g. the return code of gnt-cluster verify to be 0 even in presence of
an error in its output.

Fixes Issue 744.

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

52b655cb 02/26/2014 01:41 pm Hrvoje Ribicic

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

  • stable-2.9
    Make gnt-debug locks display fake job locks properly
    Make NiceSort treat integers well

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

fa0192b2 02/26/2014 12:22 pm Hrvoje Ribicic

Make gnt-debug locks display fake job locks properly

When a job is dependent on other jobs, a fake lock is created whose
pending entry contains a list of job ids waiting on the job. gnt-debug
locks did not expect the job ids to be ints, crashing when encountering...

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

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

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

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

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

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

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

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

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

7b5f0674 01/17/2014 01:45 pm Dimitris Aragiorgis

Include target node in hooks nodes for migration

In case of DRBD, hooks run on both primary (source) and secondary
(target) nodes. To get the same behavior for DTS_EXT_MIRROR, where we
do not have secondary node, we should explicitly add target node to
hooks nodes during instance migration/failover....

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