Statistics
| Branch: | Tag: | Revision:

root / lib / hypervisor @ 31d3b918

# Date Author Comment
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 <>...

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

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

364e1664 01/17/2014 02:29 pm Jose A. Lopes

Fix KVM cdrom image URL in the second cdrom drive

  • The previous patch introduced cdrom image URLs for KVM cdrom drives.
    However, it worked only for the first drive and not the second.
    This patch generalizes the KVM cdrom command line option to allow...
27b6654e 01/17/2014 02:29 pm Jose A. Lopes

kvm: check that the ISO image is there if it's a URL

Perform a simple urllib2 check on ISO images specified as URL before
instance start, so as to work around qemu bug #597575 [1].

[1] https://bugs.launchpad.net/qemu/+bug/597575

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

f15a6b03 01/17/2014 02:28 pm Jose A. Lopes

Allow KVM to boot from HTTP

New versions of KVM support booting from HTTP-hosted ISO images, via
libcurl. This patch adds a proper check to allow defining either a sane,
absolute path or an HTTP URL as an iso image path.

Remove "format=raw" from the cdrom device options when iso_image starts...

95d70148 01/13/2014 07:43 pm Jose A. Lopes

Hook KVM hypervisor with KVM daemon shutdown files

  • modify the KVM hypervisor to look for the shutdown files created by
    the KVM daemon, which determine whether an instance was shutdown by
    the user
  • modify the KVM hypervisor to spawn the KVM daemon if it is not...
afa0fca4 01/13/2014 07:43 pm Jose A. Lopes

User shutdown hypervisor parameter

Add user shutdown parameter for KVM. Based on this parameter, decide
what information to report for a KVM instance, for example,
distinguish between 'ADMIN_down' and 'USER_down'.

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

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

f3ac6f36 12/19/2013 01:59 pm Klaus Aehlig

Merge branch 'stable-2.10' into master

  • stable-2.10
    Version bump for 2.10.0~rc1
    Update NEWS for 2.10.0 rc1 release
    Fix pylint 0.26.0/Python 2.7 warning
    Update INSTALL and devnotes for 2.10 release
  • stable-2.9
    Bump revision for 2.9.2
    Update NEWS for 2.9.2 release...
3eaa6e1d 12/16/2013 06:55 pm Klaus Aehlig

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Add support for blktap2 file-driver
    Update opcodes test to include network tags
    Make network tags searchable
    Add network tag tests to QA
    Fix RAPI network tag handling
    Fix gnt-network list-tags...
4a65d4fd 12/16/2013 05:53 pm Thomas Thrainer

Fix pylint 0.26.0/Python 2.7 warning

pylint 0.26.0 on Python 2.7 generates a warning on the string '\ ',
recommending to use the r prefix. This patch adds the missing prefix.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Michele Tartara <>

7bc2c097 12/16/2013 05:53 pm Michele Tartara

Add support for blktap2 file-driver

Newer Xen versions use blktap2 instead of blktap. This patch adds support
for it in Ganeti.

Fixes Issue 638.

Signed-off-by: Michele Tartara <>
Reviewed-by: Thomas Thrainer <>

c486fb6c 12/16/2013 12:37 pm Thomas Thrainer

Merge branch 'stable-2.9' into stable-2.10

  • stable-2.9
    Bump revision for 2.9.2
    Update NEWS for 2.9.2 release
    Pass hvparams to GetInstanceInfo
    Adapt parameters that moved to instance variables
    Avoid lines longer than 80 chars
    SingleNotifyPipeCondition: don't share pollers...
3d680d45 12/12/2013 04:22 pm Klaus Aehlig

Pass hvparams to GetInstanceInfo

...so that the xen command to be called can be determined. This
fixes another semantical conflict of the last merge.

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

affe1792 12/11/2013 07:43 pm Klaus Aehlig

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Version bump for 2.8.3
    Update NEWS for 2.8.3 release
    Support reseting arbitrary params of ext disks
    Allow modification of arbitrary params for ext
    Do not clear disk.params in UpgradeConfig()...
364c350f 12/05/2013 11:03 am Jose A. Lopes

Xen handle domain shutdown

Update Xen backend to properly recognize when a domain has been
shutdown by the user and to properly cleanup a shutdown domain when
Ganeti requests Xen to stop this domain.

Partial cherry-pick from 9d22cc90609e3ee8f0f2b34b793a3daced3c0e61...

e8cbe174 12/02/2013 12:39 pm Dimitris Aragiorgis

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

70d8491f 11/28/2013 06:01 pm Jose A. Lopes

Destroy Xen domain only if necessary

Check if a given Xen domain still exists after a 'xm shutdown' before
destroying it. This check is necessary in order to cope with Xen
domains created with other version of Ganeti, given that an instance
created in or prior to Ganeti 2.10 will be cleaned up automatically...

059ed766 11/28/2013 06:01 pm Jose A. Lopes

Fix missing '@raise' in docstring of 'StopInstance'

Fix missing '@raise' in docstring of 'StopInstance'.

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

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

25bce647 11/26/2013 06:18 pm Santi Raffa

KVM: use custom KVM path if set for version checking

This commit fixes two TODOs from 2008 about using the hardcoded
"default" path for KVM where a custom one could've been set through
`gnt-cluster modify`.

As a result, `gnt-cluster verify` will no longer fail if a custom...

fd201010 11/26/2013 11:03 am Jose A. Lopes

Add Xen paused state as a Ganeti running state

The QA test 'TestClusterBurnin' pauses instances and the Xen state
domain 'paused' was not being handled properly by Ganeti because it
was not being classified as either a running or shutdown state. This
patch adds the 'paused' state to the set of running states by...

cc6fd3da 11/25/2013 02:41 pm Dimitris Aragiorgis

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

884ec6d4 11/25/2013 02:41 pm Dimitris Aragiorgis

Use HooksDict() to export network options in Xen

Remove duplicate code that exports network options to environment
variables.

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

2a3bbbaa 11/25/2013 02:41 pm Dimitris Aragiorgis

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

96ed3a3e 11/21/2013 04:06 pm Dimitris Aragiorgis

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

a4417db4 11/15/2013 04:49 pm Thomas Thrainer

Merge branch 'stable-2.10' into master

Merge branch 'stable-2.10' into master

  • stable-2.10
    Don't allow optional node parameters
    Move OVS node parameters to the right place
    Make NIC VLAN queryable
    Pass VLAN parameter correctly in moves
    Use constant instead of raw string...
adef95a2 11/15/2013 03:12 pm Thomas Thrainer

Merge branch 'stable-2.9' into stable-2.10

Merge branch 'stable-2.9' into stable-2.10

  • stable-2.9
    Bump revision for 2.9.1
    Update NEWS and schedule release for 2.9.1
    Fix retrieval of xen command in class method
    Fix docstring for ganeti.storage.filestorage_unittest.py...
c42be2c0 11/14/2013 05:40 pm Petr Pudlak

Use configured SSH ports when connecting to a console

This is accomplished by passing the corresponding node group to
hv_*.py. Tests for hv_*.py that call GetInstanceConsole updated.

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

70f25a49 11/14/2013 03:10 pm Jose A. Lopes

Fix class methods in KVM hypervisor

Several methods in KVM hypervisor behave like 'classmethods', however,
they did not have the '@classmethod' annotation. This patch adds
'@classmethod' annotations to several of these methods with the goal
of making '_StopInstance' available to the QA. This step is necessary...

9d22cc90 11/14/2013 03:09 pm Jose A. Lopes

Xen handle domain shutdown

Update Xen backend to properly recognize when a domain has been
shutdown by the user and to properly cleanup a shutdown domain when
Ganeti requests Xen to stop this domain.

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

931419e5 11/14/2013 03:09 pm Jose A. Lopes

Preserve Xen domain after shutdown

Change Xen domain configuration to preserve the domain state after
shutdown, as opposed to automatic reboot, which is the default
behaviour.

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

a3f0f306 11/14/2013 03:08 pm Jose A. Lopes

Add Python hypervisor instance state

Add 'HvInstanceState' which represents the state of an instance
(either 'running' or 'shutdown') and fix the remaining hypervisor
backends to return a value of this type. Before this patch, each
backend was returning their own value, some were returning strings,...

f92d9674 11/12/2013 04:37 pm Helga Velroyen

Fix retrieval of xen command in class method

This patch fixes issue 608. When introducing the
configurability of the xen toolstack in commit
8ef418bb92, the hypervisor api was accidentally changed
in a way that let to this error in KVM.

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

a09639d1 11/11/2013 10:29 pm Santi Raffa

Remove hardcoded references to File, SharedFile templates

DTS_FILEBASED is a constant that exists and this commit makes sure
that it is used whenever sensible, rather than resorting to hardcoding
the pair of templates in very many files.

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

cba1fce1 11/05/2013 03:31 pm Klaus Aehlig

Merge branch 'stable-2.10' into master

  • stable-2.10
    Fix documentation
    Replace all constant definitions with re-exports
    Prepare constants for automatic reexport
    Hs2Py constants: 'hvsParameterTypes' and 'hvsParameters'
    Fix indentation that triggers PEP8 error...
bb133242 10/31/2013 12:46 pm Klaus Aehlig

Merge branch 'stable-2.10' into master

  • stable-2.10
    Remove FIXME + update man pages wrt iallocator
    Don't check for master netdev when using OVS
    Fix TypeError in backend/ConfigureOVS
    Create Open vSwitch on Master during Cluster init
    SimpleRetry on BlockDev.Remove()...
24711492 10/31/2013 11:28 am Dimitris Aragiorgis

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

4f2f98f1 10/24/2013 12:27 pm Dimitris Aragiorgis

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

41a878b5 10/24/2013 12:27 pm Dimitris Aragiorgis

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 <>
Reviewed-by: Thomas Thrainer <>

50e0f1d9 10/24/2013 12:27 pm Dimitris Aragiorgis

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.

Backend invokes VerifyHotplugSupport() and raises RPCFail if an...

43c6e76f 10/24/2013 12:27 pm Dimitris Aragiorgis

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....
c5708931 10/24/2013 12:27 pm Dimitris Aragiorgis

Hotplug: rpc support

Introduce new RPC that eventually invoke hypervisor specific
hotplug functions. In order to be generic it has the following
arguments: device type, action, device, extra info, seq.
Device type can be NIC or DISK, action can be ADD, REMOVE,...

4b82125b 10/24/2013 12:27 pm Dimitris Aragiorgis

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

cad837b9 10/24/2013 12:27 pm Dimitris Aragiorgis

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

97cd9092 10/24/2013 12:27 pm Dimitris Aragiorgis

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)...
a7ccf635 10/24/2013 12:27 pm Dimitris Aragiorgis

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

2615646c 10/24/2013 12:27 pm Dimitris Aragiorgis

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

0fe22ad2 10/24/2013 12:27 pm Dimitris Aragiorgis

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

a16f0d77 10/24/2013 12:27 pm Dimitris Aragiorgis

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
which is also passed as hvparam. This patch prepares the use of...

66d3d195 10/24/2013 12:27 pm Dimitris Aragiorgis

block_devices = (disk, link, uri)

Do not pass BlockDev instance to hypervisor. Instead calculate the
drive_uri (if any) in backend level and pass only the string to
hypervisor.

Hypervisor should not be aware of the entire block device but only
the final path it can be reached....

af5db30c 10/24/2013 12:27 pm Dimitris Aragiorgis

Introduce _GenerateKVMBlockDevicesOptions()

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

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

3fe7d670 10/17/2013 04:06 pm Hrvoje Ribicic

Fix 'times' return type in the fake hypervisor

This patch changes the type of the times value returned by the fake
hypervisor from string to int. The values are used during two RPC
calls, namely InstanceInfo and AllInstancesInfo, and caused errors
when the more strict Haskell query code attempted to parse the...

697e573c 10/16/2013 08:56 pm Hrvoje Ribicic

Fix the "times" field type for KVM hypervisor

The KVM hypervisor Python class returned a "0" value for the times
field, which gets serialized as a string. As Haskell is more picky
about types, this caused the entire response to be declared as invalid
and broke status reporting. Fixed by changing the value to a proper...

fa8206c1 10/07/2013 12:36 pm Raffa Santi

Hardcode default access mode to kernelspace

Hardcode constants.KERNELSPACE as the default access method for
KVM disk templates, rather than allowing a change to the RBD default
access mode to affect all disk templates for KVM.

At some point in the future it might make more sense to have this...

c914b39f 10/04/2013 05:45 pm Santi Raffa

Handle scenarios where access is not set

It should not be possible to reach _GenerateKVMRuntime without having
the access method set, but if it does happen this commit makes sure
the default value is used anyway.

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

117a85a0 10/02/2013 05:55 pm Raffa Santi

Add Userspace RBD support in KVM

  • Add device class object in block_device tuple
  • Update hv_xen.py for new block_devices format
  • Fix tests broken by the change

Signed-off-by: Santi Raffa <>
Reviewed-by: Thomas Thrainer <>

b5cad580 10/02/2013 03:22 pm Raffa Santi

Add soundhw support to XEN hypervisors

This allows XEN hypervisors to enable sound support, if the host
machines has required support. This has been tested only up to the
point of making sure the xen config file has the required
configuration values as per:...

295ed29b 10/02/2013 03:22 pm Santi Raffa

Add cpuid support to XEN hypervisors

Ease instance migration between heterogeneous nodes by letting system
administrators hide CPU capabilities as needed.

Signed-off-by: Santi Raffa <>
Reviewed-by: Thomas Thrainer <>

42e85303 09/25/2013 04:49 pm Klaus Aehlig

Merge branch 'stable-2.9' into master

  • stable-2.9
    Including missing RST files in packaging
    Update supported lint tools version numbers
    Fix some wrong indentations in the code
    Disable parenthesis indentation check
    Fix an improperly escaped string...
5e34123e 09/25/2013 10:51 am Michele Tartara

Make QmpMessage a proper container

Newer pylint versions complain that QmpMessage is not a proper container because
it does not implement the len() and delitem() methods. This commit
implements them.

Also, tests are added.

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

a57e502a 09/24/2013 09:17 am Thomas Thrainer

Remove physical_id field from disk object

The 'physical_id' field of disk objects is no longer used, so remove it.
Also, all references are removed together with the code which made sure
that the physical_id is up to date when transmitted over RPC.

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

0c5f1b13 09/12/2013 03:23 pm Thomas Thrainer

Merge branch 'stable-2.9' into master

  • stable-2.9
    Fix bridging in net-common
    Sync build_chroot with buildbot slack role
    Auto-upgrade of disks' config wrt LD-renaming
    Fix tests regarding DISK_LD_DEFAULTS
    Fixing renaming of DISK_LD_DEFAULTS
    Replace LD_* constants with DT_* constants...
cd3b4ff4 08/28/2013 06:19 pm Helga Velroyen

Replace LD_* constants with DT_* constants

LD_* constants are basically like DT_* constants, except
for that both file and shared file were mapped to file.
In order to not having to maintain three slightly different
sets of disk-related constants (DT, LD and ST), we merge...

f148fe23 08/27/2013 03:04 pm Klaus Aehlig

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Add function to unwrap Results logging failures
    Make the DRBD collector more failure-resilient
    Prepare GetLinuxNodeInfo for testing
    Add unit test for GetLinuxNodeInfo
    NEWS update and version bump for 2.8 rc2...
78f99abb 08/23/2013 03:12 pm Michele Tartara

Lint improvements to regexps

Fix some regular expressions so that they pass lint checks with newer versions
of pylint.

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

23cb5697 08/22/2013 06:17 pm Michele Tartara

Prepare GetLinuxNodeInfo for testing

The names of the input files are not hardcoded anymore, but they are now default
parameters.

No changes for the callers, but it's now possible to test the function more
easily.

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

1ca326c8 08/07/2013 06:46 pm Thomas Thrainer

Merge branch 'stable-2.9'

  • stable-2.9
    Fix batch creation of instances
    Fix documentation of gnt-instance batch-create
    Support multi instance allocs without iallocator
    Support DSA SSH keys in bootstrap
    Include VCS version in `gnt-cluster version`...
804d72eb 08/07/2013 05:41 pm Thomas Thrainer

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Fix batch creation of instances
    Fix documentation of gnt-instance batch-create
    Support multi instance allocs without iallocator
    Support DSA SSH keys in bootstrap
    Include VCS version in `gnt-cluster version`...
ffc27116 08/06/2013 11:36 am Thomas Thrainer

Support 'viridian' parameter in Xen HVM

This parameter is required to prevent bluescreens in Windows instances.

This fixes issue 233.

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

21c2612d 07/25/2013 05:28 pm Guido Trotter

Merge branch 'stable-2.9'

  • stable-2.9:
    Update NEWS and version for Ganeti 2.7.1
    Add hvparam to disable VNET_HDR on tap devices
    daemon-util: pass --oknodo at rotate_logs
    Fix another missing renaming
    Add logrotate example
    daemon-util: provide rotate_logs and rotate_all_logs actions...
17cda747 07/25/2013 05:27 pm Guido Trotter

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8:
    Update NEWS and version for Ganeti 2.7.1
    Add hvparam to disable VNET_HDR on tap devices
    daemon-util: pass --oknodo at rotate_logs
    Add logrotate example
    daemon-util: provide rotate_logs and rotate_all_logs actions...
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)...

f1f11cef 07/18/2013 01:52 pm Sebastian Gebhard

Add VLAN-capabilities for Xen Hypervisor

This implementation depends on vif-openvswitch provided by Xen 4.3
and provides Xen with switch name and vlan as "link".

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

ff05ff94 07/01/2013 02:40 pm Bernardo Dal Seno

Hypervisors report CPUs used by the node OS

The XenHypervisor's "dom0_cpus" parameter (introduced in 1d60fec6 but never
used) is renamed to "cpu_dom0" for consistency with other parameter
names. The analogous information is returned for the other hypervisors....

ef14e128 07/01/2013 02:40 pm Bernardo Dal Seno

Fix docstrings for hypervisor functions returning node info

The documentation was out-of-sync with the code.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Klaus Aehlig <>

397b7844 06/28/2013 01:20 pm Dimitris Aragiorgis

Make NIC setup more flexible in case of Xen

For every NIC write down a file that contains NIC's
info (MAC, mode, link, network details), that can
be sourced by any vif script. The file location is:
/var/run/ganeti/xen-hypervisor/nic/<domname>/<nicidx>.
...

dad226e3 06/26/2013 12:18 pm Thomas Thrainer

Merge branch 'stable-2.8' into master

  • stable-2.8:
    gnt-cluster info (py): add enabled disk templates
    Version bump to 2.8.0~beta1
    Change version numbers in documentation
    Fix issue with python coverage tests
    Merge branch 'stable-2.7' into stable-2.8...
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 <>...

d76880d8 06/20/2013 01:34 pm Thomas Thrainer

Add support to migration_mode in fake HV

The fake hypervisor pretends to support migration, but did not support
the migration_mode parameter yet. As this parameter is required during
instance migrations, support for it is added in this patch.

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

1c3231aa 06/13/2013 12:32 pm Thomas Thrainer

Index nodes by their UUID

No longer index nodes by their name but by their UUID in the cluster
config. This change changes large parts of the code, as the following
adjustments were necessary: * Change the index key to UUID in the configuration and the
ConfigWriter, including all methods....

bc0a2284 06/13/2013 10:32 am Helga Velroyen

Add cluster name to instance migration RPC

This fixes a 'FIXME' in the xen hypervisor. The instance
migration requires the cluster's name. This should come
from the RPC call, but so far was hackishly taken from
ssconf. Ssconf is intended to be used by scripts only and...

d6e5767e 06/12/2013 11:33 am Klaus Aehlig

Support VNC binding to an interface

Currently, the VNC bind address can only be specified as an IP
address. Given that this is a cluster-wide parameter, there
aren't many sensible choices besides 127.0.0.1 and 0.0.0.0. This
patch allows to also specify it as the address of a specifed...

8ef418bb 06/12/2013 10:18 am Helga Velroyen

Remove XEN_CMD from constants, adjust to PowercycleNode

This patch extend the RPC to powercycle a node by a
hvparams parameter. This parameter is used by the
xen hypervisor to determine which xen command to use.
The respective LU is adjusted as well.

Since this was the last operation depending on the...

398fd4f6 06/12/2013 10:18 am Helga Velroyen

hv_xen.py: make hvparams mandatory, remove fallbacks

This patch removes the fallback to the xen command from the
auto config and adds an exception instead. Also, the
hvparams parameter of the functions GetCommand, _RunXen and
_GetInstanceList are made mandatory....

0200a1af 06/12/2013 10:18 am Helga Velroyen

Use hvparams in GetAllInstancesInfo

This patch extends the GetAllInstancesInfo method of the
hypervisors by a hvparams parameter. This change propagates
up to the RPC call all_instances_info, which also needed
to be extended. All callers of this call were adjusted...

0bbec3af 06/12/2013 10:18 am Helga Velroyen

Use hvparams in GetInstanceInfo

This patch extends the GetInstanceInfo function of the
hypervisors by an hvparams parameters. This leads to
an extension of the instance_info RPC call and the
adjustmend of all classes using this call.

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

fac489a5 06/12/2013 10:17 am Helga Velroyen

hypervisors: add hvparams to GetNodeInfo

This patch extends the GetNodeInfo function of the
hypervisors by a hvparams parameter. The parameter
is currently only used by the xen hypervisor to determine
which xen toolstack ('xm' or 'xl') to use.

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

2609da63 06/12/2013 10:17 am Helga Velroyen

hv_xen.py: renaming residual 'xm' occurrences

Some methods still refered to 'xm', which is inaccurate now
that xen can also be run with 'xl'. No functional changes
otherwise.

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

8351df2f 06/12/2013 10:17 am Helga Velroyen

Use hvparams in instance migration

This patch makes use of hvparams on instance migration to
determine the list of instance before the migration. This way, in
xen, the xl/xm choice is respected.

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

75bf3149 06/12/2013 10:17 am Helga Velroyen

Verify: xen toolstack, hypervisor and hvparams

This patch extends the node verification by:
- Adding a check for the xen toolstack when the hypervisor
is verified.
- Factoring out the hypervisor verification in a
subfunction to increase testability.
- Factoring out the hvparams verification in a...

58e356a9 06/12/2013 10:17 am Helga Velroyen

hv_xen.py: _RunXen and GetInstanceList use hvparams

Propagating the use of hvparams further up in the calling
hierarchy, the functions '_RunXen' and 'GetInstanceList'
use the given hvparams. Unit tests provided. Calling function
'StopInstance' adjusted in this patch as well....

ff19ac20 06/12/2013 10:17 am Helga Velroyen

hv_xen.py: rename RunXmList to RunInstanceList

Since one can retrieve xen's instance list with both, 'xm'
or 'xl', the function name 'RunXmList' is no longer
appropriate. Renaming it to 'RunInstanceList'. No
functional changes otherwise.

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