Statistics
| Branch: | Tag: | Revision:

root / lib / hypervisor / hv_kvm.py @ 7142485a

History | View | Annotate | Download (70.8 kB)

# Date Author Comment
447af814 01/23/2012 03:39 pm Nikos Skalkotos

Open VDI Port when spice_use_vdagent is enabled

To use the features spice agent provides, a dedicated virtio-serial
channel must be created in qemu-kvm. The communication between the agent
and the other spice components takes place over this channel.

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

61eb1a46 01/20/2012 11:44 am Guido Trotter

hypervisors: start instances with max available mem

If we have available more than MINMEM but less than MAXMEM, start a new
instance with that value, rather than MAXMEM.

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

945a7e67 01/20/2012 11:44 am Guido Trotter

kvm: always start in paused state

Currently kvm starts in a frozen state if cpu pinning is set.
This is useful for other purposes as well (eg. ballooning before the
instance uses the memory), so we move the functionality out of the cpu
pinning code.

Note that before the "continue" command was executed in a finally after...

3d836750 01/17/2012 03:01 pm Guido Trotter

Implement memory ballooning in kvm

Signed-off-by: Guido Trotter <>
Reviewed-by: René Nussbaumer <>

c668ead9 01/06/2012 01:38 pm Guido Trotter

Merge branch 'devel-2.5'

  • devel-2.5:
    KVM: support version reported by 1.0
    doc/admin: Clarify archived jobs

Conflicts:
NEWS: trivial

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

c52d91e6 01/06/2012 01:24 pm Guido Trotter

Merge branch 'stable-2.5' into devel-2.5

  • stable-2.5:
    KVM: support version reported by 1.0

Signed-off-by: Guido Trotter <>
Reviewed-by: Andrea Spadaccini <>

585c8187 01/06/2012 12:27 pm Guido Trotter

KVM: support version reported by 1.0

This of course was working for all the rcs, but broke with 1.0 itself.

In addition:
- split between running kvm --version and parsing its output
- unittest parsing for various known --help outputs
- updated NEWS file...

527c0cf7 12/21/2011 06:01 pm Michael Hanselmann

hv_kvm: Make string containing regex a raw string

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

65107a2f 12/21/2011 05:25 pm Michael Hanselmann

hv_kvm: Style fixes

Change a few lines to match rest of code.

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

9b87c2cf 12/21/2011 05:25 pm Michael Hanselmann

hv_kvm.QmpMessage: Use dict.get

No need to look up the key twice.

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

a182a3ed 12/21/2011 04:55 pm Michael Hanselmann

serializer: Remove JSON indentation and dict key sorting

Serializing to JSON using “simplejson” is significantly slower when
indentation and/or sorting of dictionary keys is used. In simplejson 1.x
the difference isn't that big, but with simplejson 2.x the difference...

fcf5b670 12/08/2011 06:03 pm Guido Trotter

Add a balloon device to all kvm instances

This can be used to resize their memory (for now only manually, as
ganeti doesn't do the job yet)

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

89da2ff3 12/08/2011 06:03 pm Guido Trotter

kvm: get more accurate info from qmp, if possible

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

fc84cd5d 12/08/2011 06:03 pm Guido Trotter

kvm: make qmp connections more robust

Currently qmp fails at connect() time if there are socket errors. (eg.
if the instance was started without qmp). Add some better checking.

Also in the only place where we use it avoid hiding the error connecting
to the socket as a failure to read the password file....

f5a4b9ce 11/22/2011 04:53 pm Guido Trotter

hypervisors: use maximum memory for all operations

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

73ebb9ff 10/20/2011 04:30 pm Guido Trotter

Merge branch 'devel-2.5'

  • devel-2.5:
    Allow per-hypervisor optional files
    Add hypervisors ancillary files list
    xen: abstract a few hardcoded strings as constants

Conflicts:
lib/cmdlib.py
- trivial

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

69ab2e12 10/20/2011 03:04 pm Guido Trotter

Add hypervisors ancillary files list

These lists will be used to declare some of the files not necessarily
needed on all nodes. The files selected are files without which the
various hypervisors can still work, but that when they are present
should be synchronized across the cluster (or node group)....

9849cec7 10/18/2011 05:21 pm Guido Trotter

Revert "Added SPICE TLS option and related cert paths"

This reverts commit bfe86c763a9ff1b481d799537ff0f0cf6740dfd1.
This commit will be readded on master.

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

0aee8ee9 10/18/2011 05:21 pm Guido Trotter

Revert "Implementation of TLS-protected SPICE connections"

This reverts commit b6267745ede04b3c943bc02e004bdb9347e0f564.
This commit will be readded on master.

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

53328375 10/18/2011 05:21 pm Guido Trotter

Revert "Add tls_ciphers and use_vdagent options"

This reverts commit 3e40b5879fa0070d6dd0e689dcfc31f20198a5a8.
This commit will be readded on master.

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

3398bff1 09/30/2011 06:23 pm Andrea Spadaccini

Merge branch 'devel-2.5'

  • devel-2.5:
    Use --yes to deactivate master ip in cluster merge
    Use deactivate-master-ip in cluster-merge
    Add gnt-cluster commands to toggle the master IP
    Split starting and stopping master IP and daemons
    listrunner: Don't pass arguments if there are none...
61643226 09/29/2011 12:41 pm Andrea Spadaccini

Add memory transfer progress info to migration

  • hypervisor/hv_kvm.py
    - parse the memory transfer status
  • cmdlib.py
    - represent memory transfer info, if available

Signed-off-by: Andrea Spadaccini <>
Reviewed-by: Michael Hanselmann <>

6a1434d7 09/29/2011 12:41 pm Andrea Spadaccini

Make migration RPC non-blocking

To add status reporting for the KVM migration, the instance_migrate RPC
must be non-blocking. Moreover, there must be a way to represent the
migration status and a way to fetch it.

  • constants.py:
    - add constants representing the migration statuses...
34fbc862 09/28/2011 02:34 pm Andrea Spadaccini

Migration: warn the user about hv version mismatch

  • hv_kvm.py, hv_xen.py
    - return the hypervisor version (if available) from GetNodeInfo
  • cmdlib.py
    - if hypervisor version is available during the migration, and the
    versions differ, warn the user...
1d8a7812 09/23/2011 11:57 am Andrea Spadaccini

Fix interaction between CPU pinning and KVM migration

CPU pinning requires the KVM hypervisor to start in the paused state, in
order to retrieve information, and immediately unpauses it.

This does not play well with live migration, as the unpausing was done...

5916e61a 09/20/2011 06:50 pm Andrea Spadaccini

Merge branch 'devel-2.5'

  • devel-2.5:
    Add tls_ciphers and use_vdagent options
    Updated man pages with new SPICE TLS options
    Implementation of TLS-protected SPICE connections
    Added SPICE TLS option and related cert paths
    Fix OS creation's error handling when pausing sync...
3e40b587 09/20/2011 06:03 pm Andrea Spadaccini

Add tls_ciphers and use_vdagent options

Signed-off-by: Andrea Spadaccini <>
Reviewed-by: Michael Hanselmann <>

b6267745 09/20/2011 05:04 pm Andrea Spadaccini

Implementation of TLS-protected SPICE connections

Added support for TLS-protected SPICE connections:

client/gnt_cluster.py, cli.py:
  • added three new parameters to renew-crypto (--new-spice-certificate,
    --spice-certificate, --spice-ca-certificate) and their validation....
bfe86c76 09/20/2011 05:04 pm Andrea Spadaccini

Added SPICE TLS option and related cert paths

Signed-off-by: Andrea Spadaccini <>
Reviewed-by: Michael Hanselmann <>

471a31b6 09/20/2011 03:23 pm Andrea Spadaccini

Fix two pylint errors

- hv_kvm.py: silence F0401, that is raised if pylint does not find the
affinity module
- rlib2.py: change disable-msg to disable

Signed-off-by: Andrea Spadaccini <>
Reviewed-by: Michael Hanselmann <>

c607b1f7 09/16/2011 05:54 pm Tsachy Shacham

hv_kvm: bugfix

Signed-off-by: Tsachy Shacham <>
Signed-off-by: René Nussbaumer <>
Reviewed-by: René Nussbaumer <>

714e7fbb 09/15/2011 06:58 pm Tsachy Shacham

hv_kvm: fix hardcoded KVM command string

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

b693125f 09/15/2011 06:58 pm Tsachy Shacham

hv_kvm: support for CPU pinning

Signed-off-by: Tsachy Shacham <>
Signed-off-by: Iustin Pop <>
[: fixed some small code and style issues]
Reviewed-by: Iustin Pop <>

e4f4896b 09/15/2011 04:40 pm Guido Trotter

Merge branch 'devel-2.5'

  • devel-2.5: (33 commits)
    htools: remove dead code
    hail: don't select the primary as new secondary
    hail: add an extra safety check in relocate
    Fix RAPI documentation for gnt-instance console
    Add SPICE compression and streaming options...
ea064d24 09/13/2011 03:35 pm Andrea Spadaccini

Add SPICE compression and streaming options

Add the following SPICE audio/image compression and video streaming
detection hypervisor options:

  • spice_image_compression
  • spice_jpeg_wan_compression
  • spice_zlib_glz_wan_compression
  • spice_streaming_video...
4d2cdb5a 09/13/2011 03:29 pm Andrea Spadaccini

Add SPICE support to gnt-instance console

Also update related unit tests.

Signed-off-by: Andrea Spadaccini <>
Reviewed-by: Michael Hanselmann <>

2ebdfbb5 09/07/2011 04:14 pm Andrea Spadaccini

Make KVM use the QXL vga driver with SPICE

Enable by default the QXL paravirtualized graphic card if SPICE is
enabled. The QXL driver is VESA compatible, so it degrades gracefully if
the guest OS does not have QXL drivers.

Signed-off-by: Andrea Spadaccini <>...

0e1b03b9 09/07/2011 12:41 pm Andrea Spadaccini

Use a loop to check SPICE parameters dependency

Use a loop to check if the user specified any SPICE option and SPICE
support is disabled.

Signed-off-by: Andrea Spadaccini <>
Reviewed-by: Michael Hanselmann <>

b451c4c7 09/03/2011 01:03 pm Andrea Spadaccini

Added password for SPICE sessions

Added an optional parameter called spice_password_file that allows
the user to protect the SPICE login with the password contained in
the specified file.

Signed-off-by: Andrea Spadaccini <>
Reviewed-by: Michael Hanselmann <>

91c10532 09/03/2011 01:03 pm Andrea Spadaccini

Draft implementation of QMP connection

Basic implementation of the QMP connection and related tests.

Signed-off-by: Andrea Spadaccini <>
Reviewed-by: Michael Hanselmann <>

8913ab40 08/25/2011 02:13 pm Michael Hanselmann

Merge branch 'devel-2.5'

  • devel-2.5: (32 commits)
    PEP8 style fixes
    Wrap a few long lines
    listrunner: Avoid exception if machine is rebooted
    Remove wrong type declaration from option
    Fix wrong method name in cluster-merge
    Fix --skip-stop-instances help message...
e687ec01 08/25/2011 01:53 pm Michael Hanselmann

PEP8 style fixes

Identified using the “pep8” utility.

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

a7f884d3 08/25/2011 01:50 pm Tsachy Shacham

hv_kvm: initial support for CPU pinning

Signed-off-by: Tsachy Shacham <>
Reviewed-by: Michael Hanselmann <>

b845c8a1 08/15/2011 06:46 pm Andrea Spadaccini

Handle network interfaces without IPs

If the user specified a network interface with no IPs, he would receive
an unhelpful "list index out of range" error. Fixed that.

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

11ae7a0a 08/15/2011 06:46 pm Andrea Spadaccini

Fixed potential unreferenced variable usage

I noticed a path in the code that would use spice_ip_version even if
it was not initialized. This patch fixes it.

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

b1cb62bd 08/12/2011 06:08 pm Andrea Spadaccini

Added basic support for SPICE

Implemented the following parameters:
- spice_bind
- spice_ip_version

Signed-off-by: Andrea Spadaccini <>
Reviewed-by: Michael Hanselmann <>

d7e4a2b1 08/09/2011 03:32 pm Andrea Spadaccini

Fixed an error in the documentation of _GetKVMVersion

Fixed an epydoc compilation error that I introduced with last commit.

Signed-off-by: Andrea Spadaccini <>
Reviewed-by: Michael Hanselmann <>

440351f8 08/09/2011 02:29 pm Andrea Spadaccini

Removed code duplication for calls to _GetKVMVersion

Signed-off-by: Andrea Spadaccini <>
Reviewed-by: Michael Hanselmann <>

e2d14329 08/08/2011 06:50 pm Andrea Spadaccini

Changed NET_PORT_CHECK to REQ_NET_PORT_CHECK, to improve consistency

I originally made this change because I needed the OPT_NET_PORT_CHECK,
and I am committing it even if I don't need anymore OPT_NET_PORT_CHECK
because IMO it improves the consistency of the name of the wrappers....

990ade2d 07/29/2011 01:59 pm Stephen Shirley

Add "reboot_behavior" hypervisor flag

During instance installations, you do not want the instance to reboot
and start again with the same parameters, as that will most likely
re-start the install process. Therefore, when the instance requests a
reboot it should instead shutdown. This flag allows this to be...

d0c8c01d 07/25/2011 04:55 pm Iustin Pop

Most boring patch ever

s/'/"/ in (hopefully) the right places.

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

4f580fef 07/21/2011 08:38 am Sébastien Bocahu

Add support for KVM keymaps

Signed-off-by: Sébastien Bocahu <>
Signed-off-by: Michael Hanselmann <>
Reviewed-by: Michael Hanselmann <>

2f4c951e 07/15/2011 12:27 pm Stephen Shirley

Adding a wrapper around connecting to kvm console

The wrapper will connect to the console, and check in the background if
the instance is paused, unpausing it as necessary.

Signed-off-by: Stephen Shirley <>
Reviewed-by: Michael Hanselmann <>

b795a775 07/11/2011 05:53 pm Michael Hanselmann

Merge branch 'devel-2.4'

  • devel-2.4:
    ht: Add new check for numbers
    Fix off-by-one bug in job serial generation
    Shorten some unbreakable lines in man pages
    Correct some spelling mistakes
    Fix bug in recreate-disks for DRBD instances
    Fix a lint warning...
7238edb5 07/11/2011 05:16 pm Iustin Pop

Reverts the patch series about console wrappers

This reverts commits 030a9cb8022b83bf43ec14dfbafd943299bc01c4 and
ae082df0000a785b693b2f4aa434650a81a94bdf.

There are two problems:

- Makefile.am breakage, which is trivial to revert
- unittest breakage, which honestly I'm not sure how to fix and how...

323f9095 07/08/2011 03:15 pm Stephen Shirley

Add gnt-instance start --pause

Creates the instance, but pauses execution before booting. This combined
with 'gnt-instance console' unpausing instances means that the entire
boot process can be viewed and monitored.

Signed-off-by: Stephen Shirley <>...

ae082df0 07/08/2011 03:15 pm Stephen Shirley

Adding a wrapper around connecting to kvm console

The wrapper will connect to the console, and check in the background if
the instance is paused, unpausing it as necessary.

Signed-off-by: Stephen Shirley <>
Reviewed-by: Michael Hanselmann <>

cc8a8ed7 06/28/2011 12:56 am Apollon Oikonomopoulos

KVM: configure bridged NICs at migration start

Commit 5d9bfd870 moved tap interface handling from KVM to Ganeti, partly
to also solve the problem of routed interfaces getting configured too
early during live migrations, causing network anomalies. In that...

de2b0d1d 06/23/2011 05:47 pm Guido Trotter

Merge branch 'devel-2.4'

  • devel-2.4:
    LUInstanceCreate: use opcodes.RequireFileStorage
    Don't add ",boot=on" to disks on kvm >= 0.14
    KVM: fix per-instance stored UID value

Conflicts:
lib/cmdlib.py
- use RequireSharedFileStorage there

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

4304964a 06/23/2011 04:51 pm Guido Trotter

Don't add ",boot=on" to disks on kvm >= 0.14

Under newer kvm this prevents the vm from starting.
Ah, change!

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

3af16328 06/22/2011 07:16 pm Apollon Oikonomopoulos

KVM: fix per-instance stored UID value

When using the pool security model, ExecuteKVMRuntime was storing the
instance's UID using str(uid), which would result in storing the
LockedUid.
_repr__() result:

$ cat /var/run/ganeti/kvm-hypervisor/uid/xxxxxxxxxxxxx...
fba7f911 05/10/2011 07:40 pm Marco Casavecchia

Use floppy disk and a second CDROM on KVM

Hi all,
this patch will add 3 new KVM parameters and a new option.

New Parameters:
- floppy_image_path = "" -> Specify the floppy image to load as
floppy disk.
- cdrom2_image_path = "" -> Specify a second cdrom image to load on...

cc130cc7 05/02/2011 12:16 pm Marco Casavecchia

Use floppy disk and a second CDROM on KVM

Hi all,
this patch will add 3 new KVM parameters and a new option.

New Parameters:
- floppy_image_path = "" -> Specify the floppy image to load as
floppy disk.
- cdrom2_image_path = "" -> Specify a second cdrom image to load on...

41e794f6 03/08/2011 02:01 pm Apollon Oikonomopoulos

KVM: use cache=none for shared disk templates

Disable host cache for externally mirrored disks to avoid cache incoherency.
Without this, migrations between the same two nodes may end up in disk
corruption.

This is a runtime override of cluster defaults, mostly a workaround....

199b2053 01/18/2011 02:55 pm Apollon Oikonomopoulos

KVM: Add auxiliary functions to handle tap devices

Add two new functions, _OpenTap and _ProbeTapVnetHdr, to
hypervisors.hv_kvm.

_ProbeTapVnetHdr checks if the host kernel supports the virtio net header
(IFF_VNET_HDR) feature. This feature allows KVM to ask the the host kernel to...

5d9bfd87 01/18/2011 02:55 pm Apollon Oikonomopoulos

KVM: Perform network configuration in Ganeti

This patch introduces network configuration for KVM in Ganeti.

There are three problems with having KVM perform network configuration via ifup
scripts:
a) Ganeti never gets to know the tap interface that is associated with an...

7be85163 01/18/2011 02:55 pm Guido Trotter

KVM: don't fail removing non-existing nic path

This shouldn't normally happen, but if it does no need to fail.

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

55cc0a44 01/07/2011 05:34 pm Michael Hanselmann

Use new console information in hypervisor abstraction

This makes use of the new way of returning console information from the
master daemon. Unittests are included.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: René Nussbaumer <>

049383d9 12/06/2010 08:48 pm Adeodato Simo

hv_kvm.py: fix some lint issues introduced in 4b784cf

In particular:

- break as couple lines that were longer than 80 characters
- fix a couple "comma not followed by a space"
- fix an unused variable warning

Signed-off-by: Adeodato Simo <>...

3f2eba25 12/03/2010 05:48 pm Miguel Di Ciurcio Filho

kvm: Make _GetKVMVersion() return integers

The current code returns the major, minor and rev portions of the version of
KVM as strings. Returning them as integers makes it easier to compare.

Signed-off-by: Miguel Di Ciurcio Filho <>...

4b784cf8 12/03/2010 05:48 pm Miguel Di Ciurcio Filho

kvm: Improve network syntax and tests

The current syntax when defining a NIC uses a pair of arguments, like this:

-net tap,vlan=0 -net nic,vlan=0,model=virtio

When using this pair, internally KVM will create a VLANState structure to send
ethernet frames between the guest NIC and the host tap device. This is...

72884fef 10/05/2010 06:08 pm Michael Hanselmann

Merge branch 'devel-2.2'

  • devel-2.2:
    Add simple unittest for utils.CommaJoin
    LUDelTags: Improve formatting of error message
    LUGetTags: Acquire locks in shared mode
    gnt-cluster: Replace hardcoded “xenvg” with value retrieved from master
    Export VG name via LUQueryConfigValues...
9d3015f9 10/05/2010 04:54 pm Guido Trotter

kvm: collapse two consecutive extend calls

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

4f958b0b 10/05/2010 04:45 pm Miguel Di Ciurcio Filho

kvm: Introduce support for -mem-path

Using hugepages, KVM instances can get a good performance boost. To
activate that, we need to pass the -mem-path argument to KVM along with
the mount point of the hugetlbfs file system on the node.

For the sake of memory availability computation, we use the -mem-prealloc...

df5758b1 10/05/2010 12:11 pm Iustin Pop

Merge branch 'devel-2.2'

  • devel-2.2:
    gnt-job info: Sort input fields
    KVM: Add function to check the hypervisor version
    Bump version to 2.2.0, update NEWS
    Fix instance rename regression from 3fe11ba3
    Fix instance rename regression from 3fe11ba3...
b52d85c1 10/04/2010 07:06 pm Guido Trotter

KVM: Add function to check the hypervisor version

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

5ee6fffc 09/22/2010 05:57 pm Michael Hanselmann

Merge branch 'devel-2.2'

  • devel-2.2:
    NEWS: Add 2.2.0~rc2 release date
    Bump version to 2.2.0~rc2
    Fix mac checker regex
    Remove two old aliases
    Fix migration on new KVMs
    Fix typo in ganeti man page
    cli: Pass options in {Add,Remove}Tags
    Prepare 2.2.0~rc2 release...
01eaf2fb 09/20/2010 12:04 pm Vitaly Kuznetsov

Fix migration on new KVMs

New KVMs (0.12.1.2-el6 and 0.13.5 tested) exit immediately after
unsuccessful network connection when they are in "-incoming" mode. The
simple check netutils.TcpPing causes remote kvm to exit so the migration
will always fail. This check is also redundant by the way as if the...

0f979a34 08/18/2010 07:59 pm Guido Trotter

Merge branch 'devel-2.2'

  • devel-2.2:
    RAPI client: Support modifying instances
    RAPI: Allow modifying instance
    Small fixes for instance creation via RAPI documentation
    gnt-debug: Extend job queue tests
    jqueue: Mark opcodes following failed ones as failed, too...
623fea30 08/18/2010 07:58 pm Guido Trotter

Merge branch 'devel-2.1' into devel-2.2

  • devel-2.1:
    Fix --master-netdev arg name in gnt-cluster(8)
    Restore 'tablet mouse on vnc' behavior
    Document the usb_mouse hv parameter
    Revert "Add -usbdevice tablet to KVM when using vnc"

Conflicts:
man/gnt-instance.sgml...

8b312c1d 08/18/2010 11:26 am Manuel Franceschini

Introduce new IPAddress classes

This patch unifies the netutils functions dealing with IP addresses to
three classes:
- IPAddress: Common IP address functionality
- IPv4Address: IPv4 specific functionality
- IPv6address: IPv6-specific functionality

Furthermore it adds methods to check whether an address is a loopback...

31f6f67a 08/17/2010 03:04 pm Guido Trotter

Restore 'tablet mouse on vnc' behavior

We needed to revert commit 5b062a58ac76b39c2dc6a7e1543affdf43dc7ee7
because it was in conflict with the usb_mouse hv parameter. Here we
reintroduce its functionality only when usb_mouse is not specified.

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

78d019a0 08/17/2010 03:04 pm Guido Trotter

Revert "Add -usbdevice tablet to KVM when using vnc"

This reverts commit 5b062a58ac76b39c2dc6a7e1543affdf43dc7ee7.
This fixes issue 109. The mouse type can be set with the usb_mouse
hv parameter.

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

783a6c0b 07/23/2010 08:26 pm Iustin Pop

Rename migration type to migration mode

This is in preparation for the rename of the opcode 'live' parameter to
'mode'.

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

e71b9ef4 07/16/2010 10:46 am Iustin Pop

Add a migration type global hypervisor parameter

Since migration live/non-live is more stable (e.g.) for Xen-PVM versus
Xen-HVM, we introduce a new parameter for what mode we should use by
default (if not overridden by the user, in the opcode).

The meaning of the opcode 'live' field changes from boolean to either...

748e4b5a 07/15/2010 05:38 pm Michael Hanselmann

KVM hypervisor: Use utils.ShellWriter for network script

This patch converts hv_kvm to use utils.ShellWriter for writing
the network script. It also adds a few unittests (the first
for any hypervisor modules).

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

a744b676 07/09/2010 04:37 pm Manuel Franceschini

Introduce lib/netutils.py

This patch moves network utility functions to a dedicated module.

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

c0c3fa27 06/30/2010 02:32 pm Manuel Franceschini

Introduce utils.IsValidIP{4,6}()

This patch introduces functions to check for valid IPv4 and IPv6
addresses and converts IsValidIP() to return True if it is either a IPv4
or a IPv6 address.

For now we do not change the functional behavior and replace IsValidIP...

14f5f1b6 06/30/2010 01:42 pm Manuel Franceschini

Replace '0.0.0.0' with constant

Signed-off-by: Manuel Franceschini <>
Reviewed-by: Guido Trotter <>

297e6e53 06/04/2010 04:22 pm Guido Trotter

_ExecuteKVMRuntime: fix hv parameter fun

When executing the kvm runtime we were currently accessing a mix of the
parameters as configured currently on the instance and the ones it was
started with. We were doing it without a precise criteria, but quite by...

fea922fa 06/04/2010 04:22 pm Guido Trotter

Update FinalizeMigration docstring

This is used not only for aborted migrations, so the docstring should
reflect that.

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

547a63b7 06/01/2010 08:18 pm Balazs Lecz

Add KVM chroot feature

This patch adds a new boolean hypervisor parameter to the KVM hypervisor,
named 'use_chroot'.
If it's turned on for an instance, than KVM is started in "chroot mode":
Ganeti creates an empty directory for the instance and passes the path...

e43d4f9f 05/31/2010 03:16 pm Apollon Oikonomopoulos

KVM: Migration bandwidth and downtime control

Introduce 2 new hypervisor options, migration_bandwidth and migration_downtime
and implement KVM migration bandwidth and downtime control.

migration_bandwidth controls KVM's maximal bandwidth during migration, in...

fbe27e2b 05/18/2010 02:08 pm Guido Trotter

KVM: vhost net acceleration support

This will only work on patched or newer (>= 2.6.34) kernels and with a
patched version of qemu-kvm.

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

682f7601 05/12/2010 02:10 pm Guido Trotter

Convert some ReadFile calls to ReadOneLineFile

For passwords we require strict oneliners, we're a bit more lax with pid
and uid files.

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

1cc831ea 05/07/2010 04:14 pm Guido Trotter

KVM: only export instance tags if present

Currently non-tagged instances fail starting with a TypeError.

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

87e510fd 04/28/2010 02:57 pm Apollon Oikonomopoulos

KVM: make tags available in KVM_NET_SCRIPT

Make instance tags available as a space-separated list during the execution of
the network setup script. This allows tag-based control of things like firewall
rules and/or networking setup.

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

d271c6fd 04/21/2010 08:22 pm Iustin Pop

Add a hypervisor constant for migration support

This variable can be used by other tools to determine in a generic way
whether a given hypervisor supports migration or not.

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

74a4c11b 04/21/2010 08:01 pm Guido Trotter

Fix indentation error

Commit 9cf4321fc39ec36359d9c90b22b36d33b6adc2f4 indented some lines by
4 spaces rather than 2, and was git-amed without noticing. Fixing.

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

9cf4321f 04/21/2010 05:48 pm Apollon Oikonomopoulos

Only use boot=on on non-ide disks only (KVM)

boot=on implies that KVM boots using extboot. This is only required
to boot non-IDE disks and has the side-effect that there is at most
one bootable device. This behaviour breaks some operating systems,
most notably the windows installer that tries to chainload the hard-disk...