Statistics
| Branch: | Tag: | Revision:

root / lib / hypervisor @ 78f99abb

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

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

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

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

36bebc53 06/12/2013 10:17 am Helga Velroyen

hv_xen.py: rename GetXmList to GetInstanceList

Since one can retrieve xen's instance list via both 'xm'
or 'xl', it is no longer appropriate to call the function
'GetXmList'. This patch renames it to 'GetInstanceList'.
Other than that, there are no functional changes....

51a95d00 06/12/2013 10:17 am Helga Velroyen

hv_xen._GetCommand: retrieve xen command from hvparams

This patch adds a (so far optional) hvparams parameter
to the '_GetCommand' function. This dictionary is used
to retrieve the xen command (xm or xl). It is optional
for now to make the refactoring possible without breaking...

740394bc 06/12/2013 10:16 am Helga Velroyen

Add xen command (xm, xl) to hv parameters

This patch adds the xen command (xm, xl) as hypervisor
parameter to the constants and adds validation to
the xen hypervisors.

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

8feeb253 05/31/2013 05:05 am Christos Stavrakakis

kvm: Use -uuid to set system UUID

Use kvm '-uuid' option to set guest's system UUID to instance's UUID.

Signed-off-by: Christos Stavrakakis <>
Signed-off-by: Guido Trotter <>
Reviewed-by: Guido Trotter <>

a9310b5b 05/24/2013 02:30 pm Guido Trotter

Merge branch 'stable-2.8'

  • stable-2.8:
    Bump up version for 2.7.0~rc2 release
    Create overall design document for 2.8
    Add NEWS entry for SO_PEERCRED fix
    Workaround missing SO_PEERCRED
    Add debugging clause to _ExpandCheckDisks error
    Reduce pylint maximum file length to 4500...
48bba9de 05/17/2013 06:38 pm Balazs Lecz

Stash Xen config file after a failed startup

This is a fix for a minor bug.
Currently, a failed Xen VM start results in a stale config file left
behind on the filesystem.
This change introduces a new log directory, where the Xen VM config
file is moved after a failed startup....

f2d87a5e 05/03/2013 04:47 pm Michele Tartara

Merge remote-tracking branch 'origin/stable-2.8'

Conflicts:
lib/bdev.py
lib/cmdlib.py

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

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

05440845 04/30/2013 10:28 am Helga Velroyen

gnt-instance: new hypervisor parameter 'vif_type'

This patch fixes issue 247. It empowers the user to specify
explicitly the vif type of a nic configuration of a Xen HVM
instance. This includes the option of setting it to '' on the
commandline, causing Ganeti to leave out the 'type' parameter...

ce9283c1 04/24/2013 10:59 am Thomas Thrainer

Move lib/bdev.py to lib/block/bdev.py

That's in preparation of extracting DRBD related code from bdev.py. As
bdev.py is already rather long, new features will require to split it
into more manageable pieces. That's why it's moved in an own directory.

Signed-off-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...
81124130 02/04/2013 04:52 pm Michael Hanselmann

hv_xen: Fix epydoc error

“utils.RunCmd” is re-exported from “utils.process.RunCmd”. Epydoc
doesn't fully understand this, so we have to refer to the original.

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

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

0628a50a 02/04/2013 03:06 pm Iustin Pop

Make LXC fail verification if cgroup is not mounted

Since LXC now relies on cgroup memory limits to enforce memory, let's
make hypervisor verification (and thus cluster-verify) return errors
when the cgroup filesystem is not mounted.

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

53fde1ac 02/04/2013 03:06 pm Iustin Pop

Add a helper function for hypervisor verification

This will allow easier multi-error results from hypervisors; right
now, we only report the first error, which is not nice.

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

e4157912 02/04/2013 09:48 am Guido Trotter

hv_lxc: fix whitespace errors

The latest lxc patches included a few whitespace style errors, that make
lint fail. This patch fixes those.

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

f078c799 02/02/2013 12:52 pm Faidon Liambotis

LXC: add support for the memory controller

Add support for the memory resource controller, useful to actually place
memory limits on instances.

Support is still optional, in case the kernel doesn't have it compiled
in, or in the case of Debian has it dependent on a kernel command-line...

2e5a6203 02/01/2013 05:53 pm Faidon Liambotis

LXC: adapt hv for newer lxc userspace tools

Currently hv_lxc depends on the behavior and output of older LXC tools,
which have since changed, making it unable to function in current
distributions (e.g. Debian wheezy).

Adapt the tools and expectation for the output and make it into a...

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

b76d4aaf 01/30/2013 06:13 pm Michael Hanselmann

Merge branch 'devel-2.7'

  • devel-2.7:
    hv_kvm: Original error message, keyword parameter
    CLI.hs: fix double spaces in option help strings
    Add new NIC parameter to man page of 'gnt-instance'
    Fix spelling issue in hroller.rst

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

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

f601723c 01/25/2013 04:28 pm Michael Hanselmann

Merge branch 'devel-2.7'

  • devel-2.7:
    kvm: fix bug while fetching -device list

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

d8784f7d 01/25/2013 04:07 pm Michael Hanselmann

hv_xen: Fix issues with migration, add tests

Commit 3d942d8 broke instance migration (“self._cmd” was set to None).
This patch fixes that issue, refactors “MigrateInstance” for testing and
adds those tests.

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

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

31da5ab5 01/25/2013 12:58 pm Michael Hanselmann

hv_xen: Split StopInstance

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Helga Velroyen <>

3d942d8b 01/25/2013 12:58 pm Michael Hanselmann

hv_xen: Abstract running Xen commands

Instead of using the “XEN_CMD” constant in multiple places, that is now
all in a single place and can easily be changed for unit tests (through
a parameter given to the constructor).

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

89c4e365 01/25/2013 12:57 pm Michael Hanselmann

Merge branch 'devel-2.7'

  • devel-2.7:
    hv_xen: Remove config after shutdown was successful

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

4b8b172d 01/24/2013 03:35 pm Michael Hanselmann

hv_xen: Remove config after shutdown was successful

If stopping an instance failed, the configuration would already be gone
and other operations depending on it (e.g. migration) would no longer
work. With this patch the configuration file is only removed once the...

c3d839f5 01/24/2013 02:29 pm Michael Hanselmann

hv_xen: Simplify writing configuration

Instead of calling _WriteConfigFileStatic from both derived classes,
those now only return the content (minus the “do not edit” header). The
configuration is then written by the base class, XenHypervisor.

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

0a903309 01/24/2013 02:29 pm Michael Hanselmann

hv_xen: Prepare for unit tests, remove {static,class}method

Unit tests will have to specify a custom Xen configuration directory (a
temporary directory). To this end “hv_xen.XenHypervisor” and its two
derived classes are modified to have fewer static and class methods. A...

d0bb3f24 01/24/2013 02:27 pm Michael Hanselmann

hv_xen: Factorize and test disk configuration

The “_GetConfigFileDiskData” function is moved to module level and
cleaned up (module-level constants for letters and file I/O drivers).

Until now only 24 disks would be supported (e.g. “sda” to “sdx”), when...

06c9a520 01/24/2013 01:58 pm Michael Hanselmann

hv_xen: Refactor getting node information, add tests

Refactor and add tests for getting node (Domain-0) information.

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

b255379d 01/24/2013 01:57 pm Michael Hanselmann

hv_xen: Refactor running & parsing "xm list", add tests

This patch refactors “_RunXmList” and adds some tests.

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

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

76c364d9 01/23/2013 01:41 pm Michael Hanselmann

hv_xen: Compose file name outside error handling

In _ReadConfigFile, the filename should be prepared outside the
try/except block. Fixes bad code formatting, too.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Helga Velroyen <>

0d07a850 01/22/2013 04:05 pm Michael Hanselmann

hv_base: Remove empty constructor

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

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

347fa0f1 01/18/2013 05:12 pm Michael Hanselmann

hv_xen: Add test for CPU pinning configuration

Add a unittest for a function formatting CPU pinning information for
Xen's configuration.

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

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

a8e8c0c6 01/18/2013 04:30 pm Michael Hanselmann

Make Xen config path a build-time option

Stop hardcoding the path in “hv_xen.py”.

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

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

dbb4f850 01/09/2013 05:23 pm Guido Trotter

Remove fixed FIXME

This was fixed in stable-2.6, commit 053c356

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

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