Statistics
| Branch: | Tag: | Revision:

root / lib / hypervisor / hv_kvm.py @ 43fcf0d3

History | View | Annotate | Download (42.2 kB)

# Date Author Comment
43fcf0d3 05/04/2011 04:07 pm Apollon Oikonomopoulos

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

f7d61653 04/20/2011 11:22 am Apollon Oikonomopoulos

KVM: reduce 'info migrate' polling period to 1s

Signed-off-by: Apollon Oikonomopoulos <>

1477a16f 04/20/2011 11:20 am 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....

823bfa49 04/20/2011 11:20 am Apollon Oikonomopoulos

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

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

5b062a58 04/21/2010 05:48 pm Apollon Oikonomopoulos

Add -usbdevice tablet to KVM when using vnc

When using VNC, it is recommended to use a tablet-style
input device instead of a mouse. This allows most VNC viewers
to send proper mouse coordinates to the virtual machine's desktop
resulting in perfectly aligned guest and host mouse pointers....

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

aa0b600b 04/21/2010 05:48 pm Guido Trotter

KVM: fix a bug in _TryReadUidFile

If the uid pool is not in use _TryReadUidFile will try to return "uid"
even if it hasn't tried to read it at all.

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

76431533 04/20/2010 06:45 pm Guido Trotter

KVM: implement the HT_SM_POOL security model

In order not to complicate to much the _ExecuteKVMRuntime function with
nested try/except/finally/else constructs we move the actual
runcmd+check call in a separate _RunKVMCmd function.

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

7548396c 04/20/2010 06:45 pm Guido Trotter

KVM: add an instance uid file concept

If this file exists, for an instance, we release the uid contained
inside back to the uid pool, at instance shutdown.

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

8904b35c 04/20/2010 06:45 pm Guido Trotter

KVM: move post-shutdown cleanup operations

Currently putting the cleanup just after the actual shutdown ensures
that it never gets called, due to how the retry/shutdown cycle works.
So we move those cleanups to their new dedicated place.

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

7ba594c0 03/31/2010 06:51 pm Guido Trotter

kvm_flag hypervisor parameter

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

cef34868 03/31/2010 05:59 pm Guido Trotter

Move the runas user at execution time

Everything still works the same way, but the user is calculated each
time we start kvm, rather than stored in the config file. This makes it
easier to implement the "pool" security model.

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

bbcf7ad0 03/23/2010 12:21 pm Iustin Pop

Extend the hypervisor API with name-only shutdown

Currently the ShutdownInstance method of the hypervisors takes a full
instance object. However, when doing instance shutdowns from the node
only, we don't have a full object, just the name.

To handle this use case, we add a new ‘name’ argument to the method,...

263b8de6 03/22/2010 08:06 pm Guido Trotter

KVM: Check instances for actual liveness

Currently if we find a live process with the pid we saved we assume kvm
is alive. What could happen, though, is that the pidfile has been
reused.

In order to avoid that we change the check to make sure, everywhere,...

4fbb3c60 03/22/2010 08:06 pm Guido Trotter

KVM: improve GetInstanceInfo docstring

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

1feb39ec 03/11/2010 01:16 pm Guido Trotter

KVM: remove unused variable

We don't need the pwentry when checking if a username exists, just to be
sure the KeyError is not returned. Remove the variable, and thus shut up
lint.

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

d19d94db 03/10/2010 08:07 pm Guido Trotter

KVM: add security model and domain parameters

Initially we only support the "user" model (in which the user running
the virtual machine can be specified as an additional parameter).

We use usernames rather than uids in this mode, because the kvm -runas
flag doesn't support uids anyway, and we check the passed username for...

84e0863d 03/10/2010 02:09 pm Guido Trotter

KVM: Remove boot restriction for paravirtual nics

Newer virtio can boot from the network perfectly well, so there's no
point in keeping this restriction in place. This will still fail on
older kernels.

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

c6a39fc2 03/10/2010 02:09 pm Guido Trotter

KVM: pass the instance name as the first kvm flag

This makes it the first argument show, for example under "ps".

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

760570a8 03/08/2010 05:50 pm Timothy Kuhlman

KVM: Fix unintended qemu-level bridging of nics

Each nic should be connected to its own qemu vlan, to avoid them all
bridging together.

Signed-off-by: Timothy Kuhlman <>
Reviewed-by: Guido Trotter <>
Signed-off-by: Guido Trotter <>...

30786fc9 03/08/2010 03:52 pm Iustin Pop

hv_kvm: remove hard-coded path constructs

This switches hv_kvm to PathJoin. There are still a few cases of direct
path construction, but those should be safe.

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

e8022bef 03/02/2010 05:56 pm Vitaly Kuznetsov

Avoid absolute path for privileged commands

Using absolute path for a privileged command is a bad idea as this path may vary.
For example /usr/sbin/brctl in Debian and /sbin/brctl in ALTLinux. Using $PATH is
a better idea.

Signed-off-by: Vitaly Kuznetsov <>...

e4dd2299 01/22/2010 03:45 pm Guido Trotter

KVM: fix pylint warning

Specify string format arguments as logging function parameters

Signed-off-by: Guido Trotter <>

c4e388a5 01/22/2010 03:05 pm Guido Trotter

KVM: be more resilient on broken migration answers

Before, when doing kvm live migrations we use to accept an "unknown
status" but to reject anything that didn't match our regexp. Since we've
seen "info migrate" return a completely empty answer, we'll be more...

5905901c 01/04/2010 11:11 am Iustin Pop

KVM: Abstract/rework instance up checks

This patch abstract the check "is instance stopped" into a separate
function, and thus simplifies a couple of higher-level functions. It
also moves from manual read of the pidfile to use the (correct
abstraction of) _InstancePidAlive....

98ec75d6 01/04/2010 11:10 am Iustin Pop

KVM: Split out the pidfile computation

In some cases we only need the pidfile, but not the pid or the alive
status.

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

1122eb25 01/04/2010 11:10 am Iustin Pop

Remove many 'Unused variable' warnings

Note there are some cases left which need extra cleanup.

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

07b8a2b5 01/04/2010 10:42 am Iustin Pop

Fix use of the logging functions

The logging functions expand the arguments themselves, thus it's safer
to let them do it rather than manual string formatting.

Also re-wraps one comment.

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

19572932 12/10/2009 04:45 pm Iustin Pop

Add disk cache control parameter for KVM

This patch adds the 'cache' parameter for KVM; currently this is only
customisable at the hypervisor level, so it's the same for all drives
(except any CDROM image, which gets the default).

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

94c2ed34 11/26/2009 07:28 pm Guido Trotter

KVM: fail when a routed nic has no ip

This shouldn't happen, but if it does it's better to fail at this level,
rather than create a broken NIC script, which is hard to debug.

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

fe5b0c42 11/11/2009 03:30 pm Michael Hanselmann

Fix and simplify socat escape detection

- Program paths should not be --with-… options (see
Autoconf docs)
- Simplify checks for escape functionality
- Make SOCAT_USE_ESCAPE variable a bool

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

88df4f39 11/10/2009 04:59 pm Guido Trotter

KVMHypervisor: fix broken error format string

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

6b970cef 11/06/2009 02:06 pm Jun Futagawa

Add use_localtime parameter for xen-hvm and kvm

Currently xen-hvm and kvm use different real time clock by default. To
reduce confusion, this patch adds an optional use_localtime parameter.

If the real time clock on the instance is set to local time, the...

86d6bc2a 11/05/2009 03:22 pm Guido Trotter

kvm console: use socat raw mode with escape

If this is enabled at configure time, we pass in different parameters to
the socat console, making it a lot more manageable.

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

50716be0 11/04/2009 05:35 pm Iustin Pop

Migration: add check for listening target

This patch adds a check for listening on the remote port in Xen and KVM
migrations. This will be generating a single “load of migration failed”
message for KVM, but otherwise not prevent the migration. For Xen (which...

641ae041 11/04/2009 05:35 pm Iustin Pop

hypervisors: switch to using HV_MIGRATION_PORT

This changes KVM to use HV_MIGRATION_PORT instead of KVM_MIGRATION_PORT
and enables passing the port for Xen migrations.

Since KVM_MIGRATION_PORT is not used anymore, we stop exporting it from
constants.py....

78411c60 11/04/2009 05:34 pm Iustin Pop

Introduce HV_MIGRATION_PORT hypervisor parameter

This parameter will replace the direct use of KVM_MIGRATION_PORT and the
implicit use of the Xen migration port.

While it doesn't make sense to change this at instance level, we don't
have any other infrastructure for cluster-wide hypervisor parameters, so...

58d38b02 11/04/2009 05:34 pm Iustin Pop

hypervisors: change MigrateInstance API

Currently the $hypervisor.MigrateInstance takes the instance name. This
patch changes it to take the instance object, such that other instance
properties (especially hvparams) are available to it.

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

1b48f7af 11/03/2009 03:42 pm Iustin Pop

Revert "kvm console: use socat raw mode with escape"

This reverts commit ce0eb6694e3fb2510035501539c7acc92a0f174e, since it depends
on 37fc2cf5ba8919cef407199ee540aad4b1a9a2b6 which will be reverted too.

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

ce0eb669 11/03/2009 03:14 pm Guido Trotter

kvm console: use socat raw mode with escape

If this is enabled at configure time, we pass in different parameters to
the socat console, making it a lot more manageable.

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

8866ec86 10/22/2009 06:15 pm Guido Trotter

KVM netscript: add static routes, with no suffix

The /32 suffix is useless, since the kernel already assumes single-host,
if no suffix is specified. Moreover we prefer these routes to be
"static" so that routing daemons, if present, won't mess with them....

2c5afffb 10/22/2009 04:40 pm Guido Trotter

KVMHypervisor: implement instance policy routing

Until now we relied on traffic from instances being policy routed via a
rule based on the instance network. With this change we can enforce it
on the instance interfaces. Since the ip rules survive interface...

e014f1d0 10/22/2009 04:40 pm Guido Trotter

KVMHypervisor: configure v6 parameters on nic

In routing mode we are tweaking a few parameters on the interface. With
this patch we'll tweak both the v4 and v6 ones.

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

69b99987 10/12/2009 01:48 pm Michael Hanselmann

Code and docstring style fixes

Found using pylint and epydoc.

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

4ad45119 10/09/2009 06:02 pm Guido Trotter

KVMHypervisor: use the StopInstance retry feature

Since we know StopInstance is going to be called more than once (at
least twice, once with force and once without, but normally quite a lot
more) we don't need our own sleep/loop, and we can just send one monitor...

07b49e41 10/09/2009 06:01 pm Guido Trotter

Hypervisors: Add retry= to StopInstance

Currently some hypervisors need the stop operations to be retried more
than once, while other ones only do it in one pass. With this change
we'll handle retries outside the hypervisor code, but telling whether
this is the first try or not....

6e6bb8d5 10/06/2009 03:35 pm Guido Trotter

VNC password: move to hv param and use in kvm

Signed-off-by: Guido Trotter <>
Reviewed-by: Olivier Tharan <>

d63218ce 09/24/2009 04:06 pm Guido Trotter

KVMHypervisor: wrap long line

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

0a3c881e 09/24/2009 01:04 pm Guido Trotter

KVM nic script: enable interface forwarding

If forwarding is enabled globally this is a no-op. If instead it's
enabled only for some special interfaces where instance traffic has to
go to/comes from (for example a gre tunnel) then it's useful to
explicitely enable it for the instances interfaces as well....

7c60f7a2 09/24/2009 12:53 pm Guido Trotter

KVM nic script: use routed link as table

In order to be able to maintain the node network standard routing
untouched while routing instance traffic through a different dedicated
interface (eg: a gre tunnel) we need to specify the instance routing
path inside a separate table, which will also contain different default...

1e37ad45 09/03/2009 08:32 pm Michael Hanselmann

KVM hypervisor: Use ReadFile

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Luca Bigliardi <>

d73ef63f 09/03/2009 06:45 pm Michael Hanselmann

A few style fixes

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Luca Bigliardi <>

29921401 06/18/2009 01:49 pm Iustin Pop

Fix various pylint warnings

There were multiple issues:
- copy-paste resulted in wrong indentation
- wrong function name
- missing spaces around assignment
- overriding built-in names (type, dir) or already defines ones
(errors, hypervisor)

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

7b381438 06/16/2009 03:35 pm Guido Trotter

KVMHypervisor, fix a bug in MigrateInstance

This was introduced as a typo in commit
7e66c35b5685525538dd65dd3dff75b5346d30d7 while removing duplicate code
from the KVM hypervisor.

Signed-off-by: Guido Trotter <>

bef9c750 06/15/2009 01:54 pm Guido Trotter

KVM: NIC parameters

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

f5118ade 05/27/2009 01:19 pm Iustin Pop

Add a node powercycle command

This (somewhat big) patch adds support for remotely rebooting the nodes
via whatever support the hypervisor has for such a concept.

For KVM/fake (and containers in the future) this just uses sysrq plus a
‘reboot’ call if the sysrq method failed. For Xen, it first tries the...

4f5277e7 05/22/2009 03:58 pm Guido Trotter

Hypervisors: make absolute path checking strict

Use the new utils.IsAbsNormPath function, rather than just os.path.isabs

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

64bfbc08 05/22/2009 01:02 pm Guido Trotter

KVM: add the network script to the ancillary files

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

5420ffc9 05/22/2009 01:01 pm Guido Trotter

KVM: replace hardcoded network script path

Currently the kvm automatic network scripts accepts to be overridden by
an user supplied /etc/ganeti/kvm-vif-bridge script. We keep this
functionality but move the hardcoded path to a constant, dependent also
on SYSCONFDIR....

c1be3f59 05/20/2009 04:16 pm Guido Trotter

Merge branch 'master' into branch-2.1

205ab586 05/19/2009 06:17 pm Iustin Pop

Move to data-based hvparam checks instead of code

Currently the hypervisor parameters are checked using hard-coded snippets in
each hypervisor. However, most parameter checks fall into three cases:
- file check
- directory check
- string value in a set...

622533d5 05/19/2009 04:43 pm Iustin Pop

Merge commit 'origin/next' into branch-2.1

  • commit 'origin/next': (25 commits)
    Move more hypervisor strings into constants
    Add -H/-B startup parameters to gnt-instance
    call_instance_start: add optional hv/be parameters
    Fix gnt-job list argument handling...
835528af 05/19/2009 04:21 pm Iustin Pop

Move more hypervisor strings into constants

This patch adds constants for the mouse and boot order strings; while
there are still some issues remaining, we're trying to cleanup hardcoded
strings from the hypervisors.

Since the formatting of frozensets is currently wrong, we also add an...

7e66c35b 05/12/2009 06:53 pm Guido Trotter

KVM: Abstract runtime file removal in a function

This removes some code which was duplicated in shutdown and migrate.

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

2a7e887b 05/12/2009 02:30 pm Guido Trotter

KVMHypervisor: return memory and cpus as integers

Currently the KVM hypervisor returns strings for the memory and cpu
values, while the xen hypervisor returns integers. Making this uniform
converting the values to integers in KVM as well.

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