Revision:

Revisions

# Date Author Comment
cad3422e 05/06/2014 05:16 pm Dimitris Aragiorgis

ifdown: Use new methods to unconfigure NICs

We unconfigure a NIC (invoke ifdown script) during:

  • instance cleanup
  • finalizing successful migration on source node
  • hot-unplugging a NIC

In case of migration we do only a local cleanup.

Signed-off-by: Dimitris Aragiorgis <>

428a794b 05/06/2014 05:16 pm Dimitris Aragiorgis

ifdown: Use new methods to create NIC files

NIC files containing corresponding tap name are created during:

  • instance startup
  • NIC hot-add

For compatibility we continue creating indexed based NIC files along
with uuid based ones.

Signed-off-by: Dimitris Aragiorgis <>

5716d4ce 05/06/2014 05:16 pm Dimitris Aragiorgis

ifdown: Introduce _UnconfigureNIC() helper method

This method takes a NIC object, creates the proper invironment
and invokes ifdown script.

It takes an extra boolean argument only_local which is passed
to ifdown script as the second positional argument. It states...

7f0302d8 05/06/2014 05:16 pm Dimitris Aragiorgis

ifdown: Make Read/LoadKVMRuntime classmethods

.. and make LoadKVMRuntime() take instance_name rather than the
whole instance object as first argument. This will be needed during
instance cleanup where we the instance object is not available.

We are going to retrieve current NIC configuration from the runtime...

c6407ff7 05/06/2014 05:16 pm Dimitris Aragiorgis

ifdown: Extract env creation from ConfigureNic()

Introduce new helper method that creates the environment passed
to ifup/ifdown scripts. Instance tags and NIC index will be passed
only during ifup script since only then are available and
valid. Both can change until a NIC gets removed and thus will not...

86264406 05/06/2014 05:16 pm Dimitris Aragiorgis

ifdown: Introduce helper methods

Until now Ganeti upon TAP creation, a NIC file was created
under $RUNDIR/kvm-hypervisor/nic/<instance_name>/<nic_index>

Since NICs have obtained a UUID, we are going to create another
file named after its UUID. This will be needed during ifdown...

7a562e5e 05/06/2014 05:16 pm Dimitris Aragiorgis

ifdown: Change kvm-if* scripts

  • Rename kvm-vif-bridge to kvm-ifup-custom
  • Search if /etc/ganeti/kvm-if*-custom is available
    and execute it instead
  • Pass positional argument to custom script

Signed-off-by: Dimitris Aragiorgis <>

3872d9a7 05/06/2014 05:16 pm Dimitris Aragiorgis

ifdown: Add example kvm-ifdown script

This script currently does nothing more that calling user the
user provided one if it exists.

User provided script should be placed under /etc/ganeti/
and named `ganeti-kvm-ifdown`.

Signed-off-by: Dimitris Aragiorgis <>

95f8ff89 05/06/2014 05:16 pm Dimitris Aragiorgis

(ipfix) Allow NICs with mode=routed and ip=none

This allows us to define an IPv6 only network (currently with a
dummy IPv4 network) with connectivity mode 'routed' and let
the NICs inside this network have only IPv6 address (auto-generated
from their MAC and the network's prefix)....

41f2bf8d 05/06/2014 05:16 pm Dimitris Aragiorgis

(ext) Do not remove disks if --keep-disks and DT_EXT

Signed-off-by: Dimitris Aragiorgis <>

746234d4 05/06/2014 05:16 pm Dimitris Aragiorgis

(ext) Override disk_cache hvp with disk param in ext

This is a hack that brings disk_cache hypervisor param
at disk level. This is supported only for disks of ext
template that allow arbitrary params. The corresponding
param that should be used is 'cache'....

661ebefa 05/06/2014 05:16 pm Dimitris Aragiorgis

(ext) Pass disk geometry in kvm command

Currently we allow this feature only for ext templates that
allow arbitrary params per disk. If both 'heads' and 'secs'
params are given then 'cyls' is calculated from the disk size.

TODO: export these params in IDISK_PARAMS since the can be...

731624e6 05/06/2014 05:16 pm Dimitris Aragiorgis

(ext) Export logical_id info to hooks env

DISK_ID as the second part of logical_id

Signed-off-by: Dimitris Aragiorgis <>

cccbacf2 05/06/2014 05:16 pm Dimitris Aragiorgis

(b64) Use base64 encoding in networks' bitarrays

This is needed for GRNET'S production environment.

Signed-off-by: Dimitris Aragiorgis <>

d0b60d3a 05/05/2014 08:26 pm Dimitris Aragiorgis

(snap) Snapshot support for ExtStorage

Extend existing RPC params with the snapshot name and
add allow snapshot not only for LVM but also for EXT.

Signed-off-by: Dimitris Aragiorgis <>

6f276381 05/05/2014 08:26 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....

898b2911 05/05/2014 07:49 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 <>

09f739cc 05/05/2014 07:49 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 <>

b9c80ea4 05/05/2014 07:49 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...

5003bc7a 05/05/2014 07:49 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,...

dac86ee3 05/05/2014 07:49 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...

59ab1599 04/29/2014 03:13 pm Klaus Aehlig

Add a test for parsing version strings

...even in the presence of patch levels.

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

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

692ee302 04/28/2014 11:40 am Thomas Thrainer

Add design doc for performance tests

This design doc describes which tests are added in order to test the
performance of Ganeti, specifically when handling multiple jobs in
parallel.

Note that this design doc is submitted to stable-2.10 so performance
changes over different Ganeti versions can be captured....

98370c75 04/25/2014 05:49 pm Klaus Aehlig

Merge branch 'stable-2.9' into stable-2.10

  • stable-2.9
    If Automake version > 1.11, force serial tests

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

9f60216e 04/25/2014 05:39 pm Petr Pudlak

If Automake version > 1.11, force serial tests

This fixes broken compilation on Debian Jessie (#802).
See also http://stackoverflow.com/questions/15820844/

Thanks to Apollon Oikonomopoulos for finding the solution
and Klaus Aehlig for helping to do it conditionally....

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

e9ba7edf 04/23/2014 12:11 pm Thomas Thrainer

Fix lint errors introduced during cherry-pick

Calm a few lint errors introduced during cherry-picking code in
qa_job_utils.py. The fixes were intentionally made in a way which should
produce merge conflicts later on, so it's not forgotten to undo them.

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

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

90240591 04/22/2014 03:01 pm Helga Velroyen

Clarify default setting of 'metavg'

This fixes issue 810, suggesting to clarify where the
default for 'metavg' comes from.

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

73b8f8e1 04/17/2014 12:38 pm Thomas Thrainer

Fix invocation of GetCommandOutput in QA

The cherry-picked function _GetOutputFromMaster() calls
GetCommandOutput() with parameters only present in newer Ganeti
branches. Remove those parameters as they cause errors in stable-2.10.

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

b63453e9 04/17/2014 10:12 am Thomas Thrainer

Clean up RunWithLocks

This patch cleans RunWithLocks up a little bit by reducing the number
of delay function terminations, and using the QAThread class to ensure
exceptions are thrown at the right time and in the right place.

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

1d523139 04/17/2014 10:12 am Thomas Thrainer

Add an exception-trapping thread class

To have better control over threads, this patch adds a helper Thread
subclass which captures any exceptions occurring for later use.

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

27aa899e 04/17/2014 10:12 am Thomas Thrainer

Wait for delay to provide interruption information

The RunWithLocks test assumed that gnt-debug delay would have the info
needed for interruption ready immediately after being run, and in some
situations this is not the case. This patch makes the test more patient...

8c975d5e 04/17/2014 10:12 am Thomas Thrainer

Add an expected block option to RunWithLocks

To compensate for the cases where a QA test is supposed to block when
a lock is present, add an additional option showing whether blocking is
supposed to happen or not.

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

1e00b69b 04/17/2014 10:12 am Thomas Thrainer

Track if a QA test was blocked by locks

This patch adds threading to the RunWithTests function, allowing one
thread to execute the QA test, and the other to monitor if it is being
blocked by locks set up during the test. If it is, terminate the
blocking job, and let the QA continue, reporting the test failure at...

9e89cf3c 04/17/2014 10:11 am Thomas Thrainer

Add a RunWithLocks QA utility function

This patch adds a QA utility function that acquires a set of locks, and
attempts to run a given function with the locks in place. Should the
given function block, this function does not detect this - later
patches will address the issue....

7384c96a 04/15/2014 07:20 pm Klaus Aehlig

Merge branch 'stable-2.9' into stable-2.10

  • stable-2.9
    Set exclusion tags correctly in requested instance
    Export extractExTags and updateExclTags
    Document spindles in the hbal man page
    Sample logrotate conf breaks permissions with split users

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

93c6a885 04/15/2014 06:36 pm Klaus Aehlig

Set exclusion tags correctly in requested instance

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

2a6f6ef7 04/15/2014 06:36 pm Klaus Aehlig

Export extractExTags and updateExclTags

...from the htools Loader. These functions are needed when
parsing the requested instance of an allocator request.

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

06ab985d 04/15/2014 02:19 pm Jose A. Lopes

Fix 'gnt-cluster' and 'gnt-node list-storage' outputs

  • Update table for 'gnt-node list-storage'
  • Add newline between description and the actual command in 'gnt-cluster version'

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

29a0a7e2 04/14/2014 07:18 pm Klaus Aehlig

Document spindles in the hbal man page

When spindles were introduced as a resource, they were also
used in the computation of the cluster metric. Document this.

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

e85d5aa3 04/14/2014 04:48 pm Thomas Thrainer

Postpone 2.10.3 release to Wednesday, 16th

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

266ea423 04/14/2014 03:58 pm Jose A. Lopes

Sample logrotate conf breaks permissions with split users

The sample logrotate configuration file
(doc/examples/ganeti.logrotate) contains the following line

create 640 root root

which is fine if Ganeti if configured without split users. However,
this will change permissions and ownership of log files if Ganeti is...

2d15929f 04/10/2014 01:57 pm Thomas Thrainer

Revision bump for 2.10.3

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

49c187f1 04/10/2014 01:57 pm Thomas Thrainer

Update NEWS file for 2.10.3

Set the release date to Monday, April 14th.
Mention changes made since 2.10.2.

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

820ead90 04/10/2014 01:55 pm Thomas Thrainer

Warn in UPGRADE about not tar'ing exported insts

The /var/lib/ganeti directory contains per default also the export
directory, which holds exported instances. Warn in UPGRADE in the backup
step about (potentially) excluding those exports from the backup....

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

dfd6e56b 04/08/2014 02:16 pm Hrvoje Ribicic

Merge branch 'stable-2.9' into stable-2.10

  • stable-2.9
    Allow QA asserts to produce more messages
    Add messages about skipped QA disk template tests
    Fix list-drbd QA test
    Update installation guide wrt to DRBD version
    Update NEWS for 2.9.6
    Revision bump for 2.9.6...
b64f32c3 04/07/2014 02:20 pm Klaus Aehlig

Revision bump for 2.9.6

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

3b693a21 04/07/2014 02:20 pm Klaus Aehlig

Update NEWS for 2.9.6

Describe all the changes to Ganeti made since the
2.9.5 release. Also set the release date.

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

9db88cef 04/04/2014 02:03 pm Helga Velroyen

Update installation guide wrt to DRBD version

This patch updates the supported DRBD version number to
8.4.

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

9ef2914f 04/04/2014 12:11 pm Hrvoje Ribicic

Fix list-drbd QA test

The list-drbd QA test assumed falsely that no instance has more than
one disk. This can happen, and this patch accounts for it.

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

201acc70 04/04/2014 12:10 pm Hrvoje Ribicic

Add messages about skipped QA disk template tests

When disk templates were ignored in the QA, no messages were emitted,
in contrast to pretty much all tests. To make it easier to see why
a test was not executed, this patch performs a minor refactoring and...

a9a7352b 04/04/2014 12:10 pm Hrvoje Ribicic

Allow QA asserts to produce more messages

This patch adds a tiny helper function that allows error messages
output by the QA asserts to be prefixed with whatever the user
supplies.

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

5f045eb8 04/01/2014 02:12 pm Apollon Oikonomopoulos

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

bf969569 04/01/2014 02:11 pm Apollon Oikonomopoulos

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

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

4efa6249 03/27/2014 05:18 pm Hrvoje Ribicic

Fix failing gnt-node list-drbd command

The UUID/name switch avoided this particular bit of code, and as a
result the list-drbd command failed as it tried to compare UUIDs and
names. This patch fixes the retrieval, converts the newly returned
UUIDs to names, and modifies the QA to the results and not only the...

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

0271b044 03/27/2014 10:01 am 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,...

4163f1c9 03/27/2014 10:01 am Dimitris Aragiorgis

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

57304dad 03/27/2014 10:01 am Dimitris Aragiorgis

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

1f614561 03/27/2014 10:01 am Dimitris Aragiorgis

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

c904c032 03/27/2014 10:01 am Dimitris Aragiorgis

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

ea1c35c8 03/27/2014 10:01 am 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...

1ec375e9 03/27/2014 10:01 am Dimitris Aragiorgis

ifdown: Use new methods to unconfigure NICs

We unconfigure a NIC (invoke ifdown script) during:

  • instance cleanup
  • finalizing successful migration on source node
  • hot-unplugging a NIC

In case of migration we do only a local cleanup.

Signed-off-by: Dimitris Aragiorgis <>

56725653 03/27/2014 10:01 am Dimitris Aragiorgis

ifdown: Use new methods to create NIC files

NIC files containing corresponding tap name are created during:

  • instance startup
  • NIC hot-add

For compatibility we continue creating indexed based NIC files along
with uuid based ones.

Signed-off-by: Dimitris Aragiorgis <>

02985c42 03/27/2014 10:01 am Dimitris Aragiorgis

ifdown: Make Read/LoadKVMRuntime classmethods

.. and make LoadKVMRuntime() take instance_name rather than the
whole instance object as first argument. This will be needed during
instance cleanup where we the instance object is not available.

We are going to retrieve current NIC configuration from the runtime...

5f3219f9 03/27/2014 10:01 am Dimitris Aragiorgis

ifdown: Introduce _UnconfigureNIC() helper method

This method takes a NIC object, creates the proper invironment
and invokes ifdown script.

It takes an extra boolean argument only_local which is passed
to ifdown script as the second positional argument. It states...

30007542 03/27/2014 10:01 am Dimitris Aragiorgis

ifdown: Extract env creation from ConfigureNic()

Introduce new helper method that creates the environment passed
to ifup/ifdown scripts. Instance tags and NIC index will be passed
only during ifup script since only then are available and
valid. Both can change until a NIC gets removed and thus will not...

2cec9236 03/27/2014 10:01 am Dimitris Aragiorgis

ifdown: Introduce helper methods

Until now Ganeti upon TAP creation, a NIC file was created
under $RUNDIR/kvm-hypervisor/nic/<instance_name>/<nic_index>

Since NICs have obtained a UUID, we are going to create another
file named after its UUID. This will be needed during ifdown...

14b6e873 03/27/2014 10:01 am Dimitris Aragiorgis

ifdown: Change kvm-if* scripts

  • Rename kvm-vif-bridge to kvm-ifup-custom
  • Search if /etc/ganeti/kvm-if*-custom is available
    and execute it instead
  • Pass positional argument to custom script

Signed-off-by: Dimitris Aragiorgis <>

2488fb43 03/27/2014 10:01 am Dimitris Aragiorgis

ifdown: Add example kvm-ifdown script

This script currently does nothing more that calling user the
user provided one if it exists.

User provided script should be placed under /etc/ganeti/
and named `ganeti-kvm-ifdown`.

Signed-off-by: Dimitris Aragiorgis <>

2793586f 03/27/2014 10:01 am Hrvoje Ribicic

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

8362c869 03/27/2014 10:01 am Hrvoje Ribicic

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

070eec15 03/27/2014 10:01 am Dimitris Aragiorgis

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

bd338fab 03/27/2014 10:01 am Dimitris Aragiorgis

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

a30e9f99 03/27/2014 10:01 am Dimitris Aragiorgis

(2.10) hotplug: Each hotplug qemu commmand with a separate 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...

07e2aff5 03/27/2014 10:01 am Klaus Aehlig

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

ed522e85 03/27/2014 10:01 am Klaus Aehlig

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

82fba09d 03/27/2014 10:01 am Klaus Aehlig

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

4b12a08e 03/27/2014 10:01 am Ilias Tsitsimpis

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

ba14bc49 03/27/2014 10:01 am Dimitris Aragiorgis

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

3ad780e4 03/27/2014 10:01 am Dimitris Aragiorgis

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

5831baf3 03/27/2014 10:01 am Dimitris Aragiorgis

(ext) Do not remove disks if --keep-disks and DT_EXT

Signed-off-by: Dimitris Aragiorgis <>

fad01aeb 03/27/2014 10:01 am Dimitris Aragiorgis

(ipfix) Allow NICs with mode=routed and ip=none

This allows us to define an IPv6 only network (currently with a
dummy IPv4 network) with connectivity mode 'routed' and let
the NICs inside this network have only IPv6 address (auto-generated
from their MAC and the network's prefix)....

70dfdeea 03/27/2014 10:00 am Dimitris Aragiorgis

(ext) Pass disk geometry in kvm command

Currently we allow this feature only for ext templates that
allow arbitrary params per disk. If both 'heads' and 'secs'
params are given then 'cyls' is calculated from the disk size.

TODO: export these params in IDISK_PARAMS since the can be...

bfdf145a 03/27/2014 10:00 am Dimitris Aragiorgis

(ext) Override disk_cache hvp with disk param in ext

This is a hack that brings disk_cache hypervisor param
at disk level. This is supported only for disks of ext
template that allow arbitrary params. The corresponding
param that should be used is 'cache'....

« Previous 1 2 3 4 ... 120 Next » (101-200/11958) | Per page: 25, 50, 100

Also available in: Atom