Statistics
| Branch: | Tag: | Revision:

root / lib / hypervisor / hv_kvm.py @ ed6d006b

History | View | Annotate | Download (100.8 kB)

# Date Author Comment
ed6d006b 02/04/2014 03:47 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 <>

31a2b501 02/04/2014 03:47 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 <>

a97bcacf 02/04/2014 03:33 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...

12eaf843 02/04/2014 03:04 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...

cc3a2cd9 02/04/2014 02:56 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...

9dcc20b4 02/04/2014 02:25 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...

0585ede0 02/03/2014 11:50 pm Dimitris Aragiorgis

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

5063d1d5 02/03/2014 11:50 pm Dimitris Aragiorgis

(kvm) Hotplug a device found only in config.data

A device can be added only in config.data by omitting `--hotplug`
option. With this patch we allow this device to be hot-plugged
in the future by issuing `gnt-instance modify --net <index>: --hotplug`
command. HotModDevice() will search the runtime entry of the device...

86b60f21 02/03/2014 11:49 pm 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...

065d194b 02/03/2014 11:49 pm 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...

84ba0048 02/03/2014 11:48 pm 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...

691d8725 01/14/2014 02:43 pm 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.
...

f14863bc 12/17/2013 12:46 pm Dimitris Aragiorgis

(kvm) Add migration capabilities if supported

This just adds two monitor commands before migration
in order to optimize performance. If the migrate_set_capability
command is not supported nothing bad happens.

TODO: parse monitor output or introduce a method to find...

9209d947 12/17/2013 12:46 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...

566853c4 12/17/2013 12:46 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'....

f44c88c7 12/17/2013 12:46 pm Dimitris Aragiorgis

(grnet) Enable -device option for old disks upon migration

Change _GenerateDeviceKVMId() to take device index as an
extra argument. In case device has uuid and pci info
we return proper device id. In case idx is given we return
a dummy id (e.g. hotdisk-0). Otherwise we raise an Exception....

150e31ec 12/17/2013 12:46 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....

e2800fca 12/17/2013 12:46 pm Dimitris Aragiorgis

(2.10) Introduce _UpgradeSerializedRuntime() method

This method is invoked during _AnalizeSerializedRuntime() and is
meant to modify runtime files in the way cfgupgrade does for
config.data. This could remove deprecated fields, change the
format of the file, add/remove sections, etc....

6ba0093c 12/17/2013 12:46 pm Dimitris Aragiorgis

(2.10) Export NIC's UUID and name to network scripts

In case of kvm None values are not allowed in env dict
so we have to add name only if not None.

In case of Xen since we are writing on a file that
is going to be sourced we should not add INTERFACE_NAME=None....

7d4ae909 12/17/2013 12:46 pm Dimitris Aragiorgis

(2.10) Export tags via GetTags() to network scripts

Use GetTags() instance method in order to export instance tags
to NIC configuration scripts and files of kvm and xen hypervisors.

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

e7a77eb8 12/17/2013 12:46 pm Dimitris Aragiorgis

(2.10) Introduce --hotplug-if-possible option

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

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

caf74756 12/17/2013 12:46 pm Dimitris Aragiorgis

(2.10) Check if hotplug is supported in CheckPrereq

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

1c6c4d6d 12/17/2013 12:46 pm Dimitris Aragiorgis

(2.10) drive_del after device_del in disk hot-remove

This is needed so that qemu process really releases the
corresponding file descriptor and thus we can dmsetup/lvremove
the device without errors.

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

9f395c32 12/17/2013 12:46 pm Dimitris Aragiorgis

(2.10) Make hotplug related method raise HotplugError

Hotplug is not supported by default and thus we raise
HotplugError() for hotplug related methods.
If a hypervisor wants to support it, we must override VerifyHotplugSupport()
and implement the Hot* method....

4a44d8aa 12/17/2013 12:46 pm Dimitris Aragiorgis

(2.10) block_devices -> kvm_disks renaming

and a couple more styple fixes.
block_devices are misleading so rename them to kvm_disk (just like kvm_nics)

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

e419e42f 12/17/2013 12:46 pm Dimitris Aragiorgis

(2.10) Some fixes in _GenerateKVMBlockDevicesOptions()

  • Add docstring.
  • fix missed usecase of boot_disk=False if kernel_path is given.
  • Use devlist arg in GenerateKVMBlockDeviceOptions()
    This is previously calculated in _ExecuteKVMRuntime()
    so there is no need to rerun the same command....
172a75dc 12/17/2013 12:46 pm Dimitris Aragiorgis

(2.10) Extract socket related code from QmpMonitor class

Separate unix socket related code from QmpMonitor class and
make the latter extend the newly introduced one: MonitorSocket

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

af2f716d 12/17/2013 12:46 pm Dimitris Aragiorgis

(2.10) Introduce hotplug methods (hypervisor inteface)

4 new methods: HotAddDevice, HotDelDevice, HotModDevice, HotplugSupported
All these are the hypervisor interface with the backend.
In general they read current runtime info, do the actual hotplug
and update the runtime file....

0288e7bf 12/17/2013 12:46 pm Dimitris Aragiorgis

(2.10) Use -device with pci info if possible

Extend kvm_cmd with -device option for the case of paravirual
Disks and NICs.

Signed-off-by: Dimitris Aragiorgis <>
Signed-off-by: Thomas Thrainer <>
Reviewed-by: Thomas Thrainer <>...

d7583563 12/17/2013 12:46 pm Dimitris Aragiorgis

(2.10) Helper methods that check for hotplug support

Hotplug is currently not supported for:

- KVM < 1.0
- existing devices in the cluster
- python-fdsend module is not installed (NIC hotplug)
- chroot (Disk hotplug)
- security mode other than None (Disk hotplug)...
8b7be6f2 12/17/2013 12:46 pm Dimitris Aragiorgis

(2.10) Helper methods for PCI slots and device ids

Device naming:
QEMU monitor expects devices to be uniquely named. Device ids derive
from the following function:
kvm_devid = <device_type>-<part of uuid>-pci-<pci_slot>
Device ids must be reproduce-able when we want to remove them....

58502c9e 12/17/2013 12:46 pm Dimitris Aragiorgis

(2.10) Prepare block_devices runtime entry

With this patch we add another entry in runtime files along with
kvm_cmd, kvm_nics, and hvparams. block_devices that used to be
encapsulated inside kvm_cmd, live now separately just like nics do
but in tupples of (L{objects.Disk}, dev_path)....

277a9de7 12/17/2013 12:46 pm Dimitris Aragiorgis

(fix) Remove uri slot from block_devices

In stable-2.10 we have userspace access mode for rbd. Backend
calculates uri along with link and dev_path. Thus we have
three items in block_devices and kvm_disks tuples.

We this patch we remove the third value.
...

ece1057c 12/17/2013 12:46 pm Dimitris Aragiorgis

(2.10) Introduce _GenerateKVMBlockDevicesOptions()

Simply move logic that generates block device related
options out of _GenerateKVMRuntime().

NOTE: Back-port corresponding commit from stable-2.10

- 2.8 does not have user-space access support for rbd

Signed-off-by: Dimitris Aragiorgis <>

994ccaf2 12/17/2013 12:46 pm Dimitris Aragiorgis

(2.10) Prepare kvm options to support -device for disks

Newer kvm version support -device driver,... option where available
drivers can be found by running kvm -device ? command. Currently
ganeti uses `if` property of driver to define the disk type to use...

3ddc7650 11/27/2013 04:52 pm Jose A. Lopes

Fix error printing

Fixes issue 616.

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

8a534fbe 07/25/2013 02:20 pm Stratos Psomdakis

Add hvparam to disable VNET_HDR on tap devices

IFF_VNET_HDR allows tap devices to extract a VIRTIO_NET_HDR from pkts
going through the tap iface, enabling segmentation offload for the
virtio nics.

Current (Debian) kernels (3.2 for Debian Squeeze backrports / Wheezy)...

e4b5f955 06/25/2013 10:55 am Guido Trotter

Merge branch 'stable-2.7' into stable-2.8

  • stable-2.7:
    Provide the right fix for the kvm_extra parameter
    NEWS and version updates for 2.7.0~rc3
    kvm: don't pass whole extra as a single argument
    For node queries allow short forms of host names
    Provide a special filter for host names...
a967416c 06/25/2013 10:03 am Guido Trotter

Provide the right fix for the kvm_extra parameter

With the previous adjustment the arguments were boxed into one extra
array. This actually makes the parameter work (with the same caveats).

The manpage is also updated with the limitations.

Signed-off-by: Guido Trotter <>...

360e6c08 06/24/2013 06:01 pm Guido Trotter

kvm: don't pass whole extra as a single argument

If extra is longer than a single word passing it the way it was passed
won't work. Of course this solution is also only partial, as won't take
into account any form of quoting. :/

Signed-off-by: Guido Trotter <>...

bcba4e01 05/03/2013 11:38 am Michele Tartara

Merge stable-2.7 into stable-2.8

Conflicts:
INSTALL
NEWS
configure.ac
src/Ganeti/Query/Group.hs
test/hs/Test/Ganeti/Objects.hs
test/hs/Test/Ganeti/Query/Query.hs

Signed-off-by: Michele Tartara <>
Reviewed-by: Helga Velroyen <>

8cb5634a 05/02/2013 10:42 am Guido Trotter

kvm: use -machine type,accel= for newer qemu

-enable-kvm and -disable-kvm are deprecated in favor of accel=kvm passed
as a machine specification. This fixes compatibility with newer qemu
versions.

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

81e265f5 05/02/2013 10:42 am Guido Trotter

kvm: Move parameter validation before use

We had parameter validation when the runtime is generated, but in the
middle of the function. Move up, before any parameter is accessed.

Signed-off-by: Guido Trotter <>
Reviewed-by: Thomas Thrainer <>

99c7cd5b 05/02/2013 10:42 am Guido Trotter

kvm: Use -display none rather than -nographic

Newer versions of kvm (from 1.4) don't support -nographic with
-daemonize. When -display exists, use -display none instead.

This fixes Issue 389.

Signed-off-by: Guido Trotter <>
Reviewed-by: Thomas Thrainer <>

3c296f56 02/12/2013 03:25 pm Michael Hanselmann

Merge branch 'devel-2.7'

  • devel-2.7: (23 commits)
    QA: Support additional arguments for initialization
    qa_utils: Fix order of arguments passed to _AssertRetCode
    Improve reporting on errors.AddressPoolError exceptions
    Add note about lv-tags rename...
5cfa6c37 02/11/2013 05:31 pm Dimitris Aragiorgis

Remove network_type slot (Issue 363)

This slot was not used by Ganeti so the same info can be
provided via tags. In order not to break configuration data
we add a FromDict() method in Network config object that
removes the deprecated network_type (if found) and then invoke...

7e8f03e3 02/11/2013 05:31 pm Dimitris Aragiorgis

Make use of HooksDict() for networks

This can be used in hypervisor code as well. For consistency
export *NETWORK_NAME and not *NETWORK throughout the code.

Signed-off-by: Dimitris Aragiorgis <>
Reviewed-by: Guido Trotter <>

afa9bb2e 02/07/2013 01:29 pm Michael Hanselmann

hv_kvm: Error messages, punctuation, other style fixes

- Capitalize acronyms such as “QMP” or “SPICE”
- Remove punctuation from error messages
- Improve error reporting when sending a monitor command failed
- Put “or” at end of line
- Fix indentation for a concatenated string...

eace6157 02/07/2013 12:50 pm Michael Hanselmann

hv_kvm: Add TODO regarding monitor commands

Monitor calls should be replaced with QMP once KVM >= 0.14 is required.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Guido Trotter <>

83251115 02/05/2013 06:55 pm Michael Hanselmann

Merge branch 'devel-2.7'

  • devel-2.7:
    Redirect output for gnt-* list/list-fields commands
    Add function to execute QA commands with redirected output
    Implement option to skip logging of QA commands
    Fix typo in a comment
    Add some more Haskell/Python equivalence tests...
1f4b9d39 02/04/2013 03:06 pm Iustin Pop

Switch KVM to multi-error verify results

This uses the new _FormatVerifyResults helper function to return
multiple errors.

Signed-off-by: Iustin Pop <>
Reviewed-by: Michael Hanselmann <>

cfc24646 02/01/2013 12:01 pm Iustin Pop

Fix logging arguments formatting

This fixes: “ganeti/hypervisor/hv_kvm.py:93: [W1201, _GetTunFeatures]
Specify string format arguments as logging function parameters”, and
also updates the copyright years.

Signed-off-by: Iustin Pop <>
Reviewed-by: Michele Tartara <>

ea2bcb82 01/30/2013 07:12 pm Michael Hanselmann

hv_kvm: Refactor getting TAP features, add tests

Split retrieving supported features into a dedicated function which can
be mocked. Tests are added for both “_ProbeTapVnetHdr” and
“_GetTunFeatures”.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Guido Trotter <>

6f1e1921 01/30/2013 06:05 pm Michael Hanselmann

hv_kvm: Original error message, keyword parameter

- Include original error message when creating TAP interface failed
- Pass keyword parameter as such

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

bc0fed4b 01/25/2013 03:25 pm Guido Trotter

kvm: fix bug while fetching -device list

_GetKVMOutput expects the command to succeed, but unfortunately on some
versions of kvm "-device ?" will output a correct list of devices, while
exiting with an error code.

To fix this we accept failure in that case (note that this doesn't...

cd04dfd2 01/24/2013 12:46 pm Michael Hanselmann

hv_*: Always return from Verify, style fixes

Change all “Verify” methods in hypervisor abstractions to explicitely
return None if no problem was detected. Remove punctuation from error
messages. Update docstrings with “@return” and some small mistakes.

Signed-off-by: Michael Hanselmann <>...

af89fa76 01/21/2013 05:31 pm Helga Velroyen

Fix format string of KVM output

This fixes a missing 's' in the format string and
the wrong quotes. Those bugs were introduced in
commit 6e043e60.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Iustin Pop <>

6e043e60 01/18/2013 05:12 pm Guido Trotter

kvm: deduplicate 'get output' code

We had the same code twice, and were about to add a third time. Better
to collapse it into just one function.

Signed-off-by: Guido Trotter <>
Reviewed-by: Michael Hanselmann <>

6f4070cd 01/18/2013 05:12 pm Guido Trotter

kvm: extract a regexp matching out of a for loop

Signed-off-by: Guido Trotter <>
Reviewed-by: Michael Hanselmann <>

f0db563d 01/18/2013 05:12 pm Guido Trotter

kvm: remove last version-based feature detection

This was left behind because it required a different kvm invocation.
Now that we can add new ones cheaply (two constants) it's easy to get
rid of it. Differently than in other cases we support old version which...

82e3bf85 01/16/2013 08:57 pm Dimitris Aragiorgis

Check if KVM machine version is supported

If machine version is passed as an hv param, a check is made
in target node whether this version is included in the supported
ones derived from kvm -M ? command.

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

4b9638dc 01/16/2013 01:10 pm Guido Trotter

kvm: make kvm path configurable as an hv parameter

This fixes Issue 225.

Signed-off-by: Guido Trotter <>
Reviewed-by: Michael Hanselmann <>

b73f1c59 01/16/2013 01:07 pm Guido Trotter

make _{Generate,Execute}KVMRuntime accept kvm help

Currently kvm --help is called twice at instance startup, this makes
sure it's called only once.

Signed-off-by: Guido Trotter <>
Reviewed-by: Michael Hanselmann <>

3b59ec02 01/16/2013 01:07 pm Guido Trotter

kvm: make auxiliary functions accept a kvm path

This will be used to be able to customize the path in an hv parameter.

Also fix two comments that still mentioned version-based checking.

Signed-off-by: Guido Trotter <>
Reviewed-by: Michael Hanselmann <>

4ab75599 01/16/2013 01:06 pm Dimitris Aragiorgis

Add KVM machine version as hv param

This is needed in case an instance must be booted with an exact type of
machine version (due to e.g. outdated drivers). If this hv param
explicitly defined (during instance creation/modification) then the kvm
process will be started having this version for the -M option. Otherwise...

7f83345f 01/14/2013 04:36 pm Guido Trotter

kvm: simplify _GetMachineVersion

Use a multiline regexp rather than a single line one, and then split
lines in the code.

Signed-off-by: Guido Trotter <>
Reviewed-by: Michael Hanselmann <>

2fddb144 01/14/2013 04:36 pm Guido Trotter

Allow -soundhw option to kvm

For all of us that love to listen to music on our kvm virtual machines,
the -soundhw option is paramount.

Signed-off-by: Guido Trotter <>
Reviewed-by: Michael Hanselmann <>

156681c1 01/14/2013 04:36 pm Guido Trotter

kvm: support usb devices

All in one go, comma separated usb devices of all types.

Signed-off-by: Guido Trotter <>
Reviewed-by: Michael Hanselmann <>

e6f24d89 01/14/2013 04:36 pm Guido Trotter

kvm: Add kvm_extra parameter

As requested in Issue 261 and many other times.

Signed-off-by: Guido Trotter <>
Reviewed-by: Michael Hanselmann <>

7589346f 01/14/2013 04:36 pm Guido Trotter

kvm: Add -vga option

As requested in Issue 69.

Signed-off-by: Guido Trotter <>
Reviewed-by: Michael Hanselmann <>

0ad7f5d8 01/14/2013 04:23 pm Guido Trotter

kvm: use help based feature detection

As discussed on the list some people backport features to different kvm
versions, making the version based detection system unreliable. We
change wherever we can to detection on the help output.

This also fixes Issue 250...

2c368f28 01/14/2013 04:03 pm Guido Trotter

Add a non negative int hypervisor parameter check

...and use it for a few parameters for which it makes sense.

Signed-off-by: Guido Trotter <>
Reviewed-by: Michael Hanselmann <>

a900a30c 01/14/2013 04:03 pm Guido Trotter

kvm: always pass -usb

This will be the default anyway and it was a mistake to pass it only if
the mouse was specified.

Signed-off-by: Guido Trotter <>
Reviewed-by: Michael Hanselmann <>

e3b89628 01/14/2013 04:03 pm Guido Trotter

kvm: abstract getting --help output

This will be used later, for now nothing changes.

Signed-off-by: Guido Trotter <>
Reviewed-by: Michael Hanselmann <>

4888a609 01/14/2013 04:03 pm Guido Trotter

kvm: allow setting smp cores, threads, sockets

This was requested in Issue 322.
Note that maxcpus is not implemented yet, as it should be considered in
a cpu-hotplug global context.

Signed-off-by: Guido Trotter <>
Reviewed-by: Michael Hanselmann <>

14fd6c81 01/14/2013 12:54 pm Guido Trotter

kvm: add serial console speed

The serial port speed changed between versions of qemu (what didn't?), so
the old hardcoded default doesn't do anymore. Upgrade it to a parameter.

Signed-off-by: Guido Trotter <>
Reviewed-by: Michael Hanselmann <>

e6ba3320 01/10/2013 03:11 pm Dimitris Aragiorgis

Add machine version in kvm runtime file

kvm -M ? returns the supported machines (e.g. pc-1.1).
Add _GetDefaultMachineVersion() function to get the default value.

Upon kvm runtime file creation (this is in _GenerateKVMRuntime() invoked
only in StartInstance()) append this info in kvm_cmd. During...

daa49d6f 12/18/2012 03:06 pm Michael Hanselmann

Fix error during cluster initialization due to hv_kvm

Commit 141d148 was a bit too enthusiastic. The three parameters added to
the list of parameters to be checked default to a value not evaluating
to false, leading to a failure on cluster initialization....

141d1489 12/17/2012 06:24 pm Michael Hanselmann

Add test for SPICE parameter list, add missing ones

“_SPICE_ADDITIONAL_PARAMS” is supposed to be the full list of
SPICE-related KVM hypervisor parameters with the exception of
“HV_KVM_SPICE_BIND”. The new test checks if all parameters starting with
“HV_KVM_SPICE_*” are included. Three previously missing parameters are...

07788a0b 12/17/2012 06:24 pm Michael Hanselmann

hv_kvm: List of SPICE parameters should be module-global

This list is static at runtime and doesn't need to be recreated every
time.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Guido Trotter <>

8df21834 11/20/2012 07:51 pm Dimitris Aragiorgis

Move _BuildNetworkEnv() at top-level

Signed-off-by: Dimitris Aragiorgis <>
Reviewed-by: Iustin Pop <>

3c286190 11/20/2012 07:51 pm Dimitris Aragiorgis

Fixes to pass pep8 (make lint)

Signed-off-by: Dimitris Aragiorgis <>
Reviewed-by: Iustin Pop <>

cbe4a0a5 11/20/2012 07:51 pm Dimitris Aragiorgis

Pass netinfo in rpcs

If a nic has a network field then encapsulate a network object in
netinfo slot for every rpc. This is needed to pass network info to
scripts managing nics (kvm-vif-bridge).

Introduce _BuildNetworkEnv().

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

a5ad5e58 11/20/2012 07:51 pm Apollon Oikonomopoulos

Peripheral changes for networks

Specifically: * export a new environment variable for the gnt-os-interface * export a new environment variable for KVM specific scripts * ovf support for networks

Signed-off-by: Apollon Oikonomopoulos <>...

551a29df 11/12/2012 06:17 pm Iustin Pop

Merge branch 'devel-2.6' into master

  • devel-2.6:
    Improve error message when migration status fail
    Fix type error in kvm/GetMigrationStatus
    Fix PID file writing in Haskell daemons

Conflicts (both trivial):
htools/Ganeti/Daemon.hs (_writePidFile rename)...

62457f51 11/12/2012 03:13 pm Iustin Pop

Fix type error in kvm/GetMigrationStatus

Commit 6a1434d7 (“Make migration RPC non-blocking”) changed from
raising HypervisorErrors to returning MigrationStatus
objects. However, these objects don't have an "info" attribute, so
they can't pass a reason back (which is in itself a bug); but the KVM...

052783ff 09/28/2012 03:14 pm Michael Hanselmann

Stop hardcoding root user

Some parts of the code still use a hardcoded user name: root. This patch
replaces all with a constant specified at build time. The end goal is to
make it possible to run a Ganeti cluster without any special privileges
(of course this will prevent some functionality from working)....

0e1e0b6a 09/21/2012 07:07 am Michael Hanselmann

hv_kvm: Use pu.CONF_DIR variable

… instead of using SYSCONFDIR directly.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Bernardo Dal Seno <>

9d9bded1 09/18/2012 06:09 pm Michael Hanselmann

Migrate lib/hypervisor/*.py from constants to pathutils

File system paths moved from constants to pathutils.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Iustin Pop <>

3329f4de 09/18/2012 05:58 pm Michael Hanselmann

constants: Move most paths to separate module

This is inpreparation for the implementation of virtual clusters. Many
paths will change based on an environment variable and are no longer
constant and should no longer be in “constants.py”. Since “constants.py”...

951accad 08/27/2012 05:18 pm Iustin Pop

Merge branch 'devel-2.6'

  • devel-2.6:
    Make stable-2.6 compatible with newer pep8
    Fix computation of disk sizes in _ComputeDiskSize
    Add verification of RPC results in _WipeDisks
    Add test for checking that all gnt-* subcommands run OK
    Fix double use of PRIORITY_OPT in gnt-node migrate...
5ae4945a 08/23/2012 02:41 pm Iustin Pop

Bump pep8 version to 1.2

Debian Wheezy will ship with this version, and it has many improved checks compared to 0.6, so let's:

- bump version in the docs
- silence some new checks that are wrong due to our indent=2 instead of 4
- fix lots of errors in the code where the indentation was wrong by 1...

2ed0e208 07/27/2012 12:16 pm Iustin Pop

Fix 'explicitely' common typo

It seems that 'explicitely' is wrong, and that the right form is
'explicitly'. This is just fixing the typo plus adjusting affected
paragraphs.

Signed-off-by: Iustin Pop <>
Reviewed-by: Guido Trotter <>

7d5ceafd 07/25/2012 12:42 pm Iustin Pop

Merge commit 'v2.5.2' into stable-2.6

  • commit 'v2.5.2':
    Fix RST formatting in NEWS file
    Update NEWS and bump version for release 2.5.2
    Fix boot=on flag for CDROMs
    KVM: only pass boot flag once

Conflicts:
NEWS (trivial, merged the entries)...

24be50e0 07/24/2012 06:10 pm Iustin Pop

Fix boot=on flag for CDROMs

This generalises commit 4304964a to cdroms too, since they have
somewhat the same logic. We just abstract the needs_boot_flag into a
separate variable, and then reuse it in the cdrom section.

Note that the logic of what 'if=' type to pass to KVM was very...

2b846304 07/24/2012 06:10 pm Iustin Pop

KVM: only pass boot flag once

This addresses issue 230: passing two methods of booting to KVM can,
depending on the KVM version, confuse it.

Note that commit 4304964a introduced a partial fix for this (but only
for disks, and keyed on KVM versions). However, it didn't fix cdrom...

7cb42171 07/20/2012 12:29 pm Nikita Staroverov

Add support for -cpu option in KVM

This adds supports for the (non-validated) cpu parameter to KVM.

Signed-off-by: Iustin Pop <>
Reviewed-by: Iustin Pop <>

3bc145d8 06/12/2012 04:52 pm Bernardo Dal Seno

Fixed typos, formatting, etc and added a comment

This patch only touches comments and man pages.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Iustin Pop <>

5c3d5dfd 06/12/2012 01:02 pm Iustin Pop

Fix epydoc raises L{...} usage

For epydoc raise statement, it already expects an exception which will
be hyperlinked; if passing an L{…} construct, it will instead break
the formatting (the @raise will not be recognised, but merged into the
previous paragraph)....

be0b29bd 06/11/2012 05:52 pm Iustin Pop

Merge branch 'stable-2.5' into stable-2.6

  • stable-2.5:
    Fix race condition in test for *FileID functions
    Move KVM keymap from GenerateRuntime to ExecuteRuntime
    Add the keymap directory to the list of runtime KVM dirs

Signed-off-by: Iustin Pop <>...