Statistics
| Branch: | Tag: | Revision:

root / lib / hypervisor @ 07b49e41

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

6915bc28 10/09/2009 05:28 pm Guido Trotter

Get rid of utils.CommaJoin

- We never remember to use it (5 uses vs 21 " ,".join())
- It's longer to write than " ,".join()
- The added value of the apostrophe in the string is not very much

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

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

2f2dbb4b 10/05/2009 12:31 pm Jun Futagawa

Add support for using the bootloader in xen-pvm

This patch adds three optional parameters:
- 'use_bootloader', whether use or not the bootloader
- 'bootloader_path', absolute path to the bootloader
- 'bootloader_args', extra arguments to the bootloader...

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

016d04b3 09/03/2009 08:32 pm Michael Hanselmann

Even more style fixes

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

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

d91427ea 08/04/2009 11:52 am Iustin Pop

Merge commit 'origin/branch-2.1' into feature/containers

  • commit 'origin/branch-2.1': (66 commits)
    Add automated disk repair changes to design doc
    Add review script
    Implement “gnt-node physical-volumes” command
    Add new opcode to list physical volumes...
e5a45a16 07/20/2009 02:06 pm Iustin Pop

Fix backend import errors from GetHypervisorClass

The merge of commit 360b0dc into branch-2.1 broke import of backend,
since it uses hypervisor.GetHypervisor() which returns an instance of
the hypervisor. Some of the hypervisors create directories at init time,...

961166d9 07/19/2009 05:58 am Iustin Pop

Merge commit 'origin/branch-2.1' into feature/containers

2f7140ba 07/08/2009 12:28 pm Guido Trotter

Merge branch 'next' into branch-2.1

  • next:
    Create a new --no-voting option for masterfailover
    ganeti-masterd: allow non-interactive --no-voting
    Fix pylint warnings
    Add custom pylintrc
    bootstrap: Don't leak file descriptor when generating SSL certificate...
7c4d6c7b 07/07/2009 03:54 pm Michael Hanselmann

Fix pylint warnings

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

3374afa9 06/26/2009 04:45 pm Guido Trotter

Use ReadFile.splitlines() rather than readlines

A few places in the code open a file "manually" rather than using our
wrapper function, because they need an array with the lines. Combining
the result of utils.ReadFile with splitlines() we get rid of the
exceptions....

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

503b97a9 06/15/2009 01:54 pm Guido Trotter

Xen: NIC parameters

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

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

17c61836 05/22/2009 06:03 pm Guido Trotter

IsNormAbsPath and users, use "normalized" term

We used to refer to normalized paths as "normal" which might be
confusing. This fixes the syntax in all current IsNormAbsPath users and
in the docstring.

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

46952329 05/22/2009 05:32 pm Guido Trotter

hv_chroot: update PARAMETERS value

In the new branch-2.1 PARAMETERS must be a dict rather than a list. In
the hv_chroot case though we can just check that the path is absolute
and normal, and not its existence, because it's inside the target
chroot.

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

5c3b5f99 05/22/2009 04:00 pm Guido Trotter

Merge branch 'branch-2.1' into feature/containers

  • branch-2.1:
    Hypervisors: make absolute path checking strict
    Add utils.IsNormAbsPath function
    Convert instance reinstall to multi instance model
    gnt-instance batch-create: use the job executor
    Modify cli.JobExecutor to use SubmitManyJobs...
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 <>

e1b8653f 05/22/2009 01:01 pm Guido Trotter

_RedistributeAncillaryFiles: add hypervisor files

Each hypervisor can declare additional files to be shipped to all nodes.

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

3680f662 05/22/2009 01:01 pm Guido Trotter

Xen: add 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....

615dc49b 05/21/2009 04:09 pm Iustin Pop

Merge branch 'branch-2.1' into feature/containers

  • branch-2.1: (48 commits)
    Doc fixes for RAPI
    Release 2.0rc5
    Move to data-based hvparam checks instead of code
    Move more hypervisor strings into constants
    watcher: try to restart the master if down...
c1be3f59 05/20/2009 04:16 pm Guido Trotter

Merge branch 'master' into branch-2.1

f226f085 05/20/2009 04:14 pm Guido Trotter

Merge branch 'master' into next

Signed-off-by: Guido Trotter <>

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

09ea8710 05/14/2009 06:28 pm Iustin Pop

Move HVM's device_model to a hypervisor parameter

This moves yet another hardcoded value to a hypervisor parameter. I
removed the 64/32 difference as it doesn't seem valid to me - it's more
of a local site config rather than arch config.

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

e2ee1cea 05/14/2009 04:41 pm Iustin Pop

Implement the KERNEL_PATH parameter for xen-hvm

For the xen-hvm hypervisor, the KERNEL_PATH parameter is needed but
today is hardcoded to a constants in the xen hypervisor library (argh!).

This patch moves this to a hypervisor constant with the default value...

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

48297fa2 05/12/2009 02:32 pm Iustin Pop

New hypervisor implementation: chroot manager

This patch adds a new hypervisor implementation: a chroot manager. This
hypervisor type can be used to manage (in combination with special OS
definitions) the start and stop of chroot areas, and if used with drbd...

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

572e52bf 05/05/2009 01:58 pm Iustin Pop

Abstract Linux node information in hv_base

Currently both hv_fake and hv_kvm implement practically identical code
to get the node information. Since future container-like hypervisors
will also need this functionality, this patch moves it into the base
class (as a separate function) which can then be called from classes...

7dd106d3 04/06/2009 11:20 am Iustin Pop

Fix Xen soft reboot via polling

This patch fixes the Xen soft reboot ("xm reboot") via polling for a specific
time for either changed domain ID or decreased CPU run-time.

This sould prevent the race-conditions discussed on the mailing list for
reboots.
...

19498d6c 03/12/2009 02:08 pm Guido Trotter

kvm: use the correct vnc bind address

There is a bug in kvm, when binding vnc to a specific address the
constant 'vnc_bind_address' is passed in, instead of the actual
requested address. This patch fixes it.

Reviewed-by: iustinp

6b405598 03/10/2009 05:02 pm Guido Trotter

Xen: Remove one hardcoded constant

s/"vnc_bind_address"/constants.HV_VNC_BIND_ADDRESS/

Reviewed-by: imsnah

9afb67fe 02/27/2009 07:09 pm Guido Trotter

Use EnsureDirs in KVM as well.

The KVM hypervisor has also code to ensure a list of directories exist.
Substitute it with our new utils function.

Reviewed-by: iustinp

b399ce1e 02/25/2009 05:03 pm Iustin Pop

Fix xen-hvm and KERNEL_ARGS

xen-hvm doesn't have KERNEL_ARGS, and I just changed blindly all old
extra_args to HV_KERNEL_ARGS. This makes xen-hvm work again.

Reviewed-by: imsnah

07813a9e 02/24/2009 05:25 pm Iustin Pop

Remove the extra_args parameter in instance start

This patch removes the extra_args parameter and instead switches the
instance to the HV_KERNEL_ARGS hypervisor option.

This is a big change, but it's a needed cleanup, this extra parameter on
all RPC calls is not generic and we also need to have a persistent value...

a985b417 02/24/2009 05:25 pm Iustin Pop

Simplify a little the hypervisor routines

Instead of “instance.hvparams”, we use a shorter “hvp” name to make readability
better.

Reviewed-by: imsnah

3213d3c8 02/17/2009 02:44 pm Iustin Pop

Show more details for failed xen commands

This patch also logs the output of the xm commands in case of failures;
some corner cases were forgotten in the last redo.

Reviewed-by: imsnah

bfc30ec0 02/13/2009 05:35 pm Iustin Pop

Some small improvements to the fake hypervisor

This patch modifies the fake hypervisor to substract the memory “used”
by “running” instances from the free memory, so the actual node
information changes based on the running instances.

Also some style changes and fixes are added....

5b460366 02/12/2009 07:03 pm Iustin Pop

Some small fixes

This patch removes the admin_ram LUQueryInstances field (is broken
anyway) and fixes the VNC address checks in the Xen Hypervisor.

Reviewed-by: imsnah

5c418644 02/10/2009 12:53 pm Guido Trotter

KVM: Correct CheckParameterSyntax docstring

The comment is not really true anymore, as we have a lot of parameters
nowadays.

Reviewed-by: iustinp

9798fcae 02/10/2009 12:53 pm Guido Trotter

KVM: Fix _CallMonitorCommand error message

1) Only instance_name is available
2) There was a missing string parameter

Reviewed-by: iustinp

11344a50 02/09/2009 05:17 pm Guido Trotter

KVM: Add usb mouse type parameter

In some cases 'mouse' may work better than 'tablet', so we'll handle
both by allowing the user to specify a parameter. By default no mouse is
used.

Reviewed-by: iustinp

8745c3d7 02/09/2009 05:16 pm Guido Trotter

KVM: allow netboot

With this patch we allow KVM instances to be booted off the network.
The only issue is that this is not compatible with virtio nics, so
we disallow them, when booting from the net.

Reviewed-by: iustinp

37f88dc6 02/09/2009 05:16 pm Guido Trotter

KVM: actually support different nic types

When executing the KVM runtime we load the nic type from the runtime
hvparams and use it to specify the nic model type. As for the disk we
translate the DEV_PARAVIRTUAL type to 'virtio'.

Reviewed-by: iustinp

c2672466 02/09/2009 05:16 pm Guido Trotter

KVM: export hvparams in the runtime

They'll be used to set the nic type when we execute the runtime, since
the nics are processed later. We need to save the hvparams because we
want to use the same one as when we saved the runtime, rather than use
the current instance ones, to avoid applying only some changed...

1213604d 02/09/2009 05:16 pm Guido Trotter

KVM: actually support different disk types

By passing the relevant if= value to the disk we support different disk
types. The only change is that we'll translate "paravirtual" to
"virtio" to keep only one "paravirtualized" value, around ganeti. The
if= value is calculated outside the disks loop, as it's the same for all...

5155ede7 02/09/2009 05:16 pm Guido Trotter

Xen-HVM: Improve the invalid disk/nic type error

Copy the message from the KVM one, adding a missing 'the' and a list of
possible values, to help the user in his decision.

Reviewed-by: iustinp

43440815 02/09/2009 05:15 pm Guido Trotter

KVM: parameters for different disk and nic types

- Add a bunch of NICs and DISKs types
- Specify which one are valid disks and nics for KVM (the new ones
toghether with some of the old ones)
- Add the default values (paravirtual)
- Allow the disk and nic types as parameters and check their validity...

d08f6067 02/09/2009 05:15 pm Guido Trotter

Rename the device type constants

These are not HVM specific, so have been given an HT generic name.

Reviewed-by: iustinp

377d74c9 02/09/2009 05:15 pm Guido Trotter

s/HT_HVM_VNC_BASE_PORT/VNC_BASE_PORT/g

The VNC base port has nothing to do with HVM itself, and is general to
VNC itself, so we're removing the HT_HVM prefix to the constant.

Reviewed-by: iustinp

0105bad3 02/09/2009 12:41 pm Iustin Pop

Export the cpu nodes and sockets from Xen

This is a hand-picked forward patch of commit 1755 on the 1.2 branch
(hand-picked since the trees diverged too much since then):

The patch changed the xen hypervisor to compute the number of cpu
sockets/nodes and enables the command line and the RAPI to show this...
9dd363eb 02/07/2009 11:04 am Guido Trotter

KVM: don't boot from a virtio cdrom

Apparently it's not supported. Also add -boot command line parameters
to kvm, since they seem to help booting from the right place. Everything
will still only work when not using a kernel, but well... :)

Reviewed-by: iustinp

ec91c05d 02/07/2009 11:04 am Guido Trotter

KVM: don't boot from cdrom with no cdrom

Reviewed-by: iustinp

66d5dbef 02/07/2009 11:04 am Guido Trotter

Support cdrom image and boot order for KVM

The cdrom image has the same meaning than in Xen HVM, and so does
boot_order, even though it has a slightly different syntax, and uses the
value 'disk' too boot from disk and 'cdrom' to boot from cdrom.

Reviewed-by: iustinp

30948aa6 02/07/2009 11:03 am Guido Trotter

Get rid of constants.HT_HVM_DEFAULT_BOOT_ORDER

Confusingly, as a leftober from 1.2, there was a
constants.HT_HVM_DEFAULT_BOOT_ORDER constant, with a value opposite to
the default HV_BOOT_ORDER hv param that got enabled only if
HV_BOOT_ORDER was set to None. Since setting it to None is very...

8b2d1013 02/05/2009 03:37 pm Guido Trotter

KVM: add VNC TLS and X509 parameters

With this parameters VNC for KVM is able to be protected by tls,
optionally with an x509 certificate, and optionally verifying the
client as well. Additionally in this patch we limit the bind address to
being a directory, rather than a file or a directory, for simplicity, as...

8447f52b 02/05/2009 03:36 pm Guido Trotter

KVM: allow binding vnc to a file

Before we forced the VNC_BIND_ADDRESS to be an ip. Now we also accept a
path, and bind the instance to it, or to a file in it if it's a
directory.

Reviewed-by: iustinp

00ad5362 02/03/2009 06:05 pm Guido Trotter

KVM: Make GetAllInstancesInfo concurrency-safe

Or actually more so. If this function gets called while instances get
shut down, it might try to report information on instances which don't
exits. Try to fail gracefully if that happens, by just skipping an...

3be34f57 01/29/2009 05:51 pm Guido Trotter

KVM: advise about VNC support on GetShellCommand

Reviewed-by: iustinp

8470c8db 01/29/2009 05:51 pm Guido Trotter

KVM: enable VNC if a VNC_BIND_ADDRESS is defined

We'll also enable a tablet usb device, as suggested by the kvm man page.

Reviewed-by: iustinp

56fee73b 01/29/2009 05:51 pm Guido Trotter

KVM: Allow the HV_VNC_BIND_ADDRESS parameter

Reviewed-by: iustinp

df5ab9f0 01/29/2009 05:50 pm Guido Trotter

KVM: make the kernel and initrd arguments optional

Under KVM we don't strictly need a kernel and initrd. If some are passed
we'll use them, otherwise the guest OS will need to behave as fully
native, and have its own boot loader and kernel.
The root_path hypervisor parameter becomes mandatory only if a kernel is...

a2faf9ee 01/29/2009 05:47 pm Guido Trotter

KVM: add the HV_SERIAL_CONSOLE parameter

Up until now a KVM instance was forced to have a serial port.
With this change this is no longer mandatory, by default we'll use one,
but if the HV_SERIAL_CONSOLE parameter is set to False we'll do without.

Reviewed-by: iustinp

5431b2e4 01/29/2009 05:47 pm Guido Trotter

GetShellCommand: get hvparams and beparams

Sometimes the hypervisor will use the instance hv and/or be parameters
to determine the best shell command. This is not possible, though,
currently, as the instance hv/beparams are not filled, so we have to
pass the filled versions separately....

d34b16d7 01/28/2009 09:06 pm Iustin Pop

Actually mark drives as read-only if so configured

This patch correctly marks the drives as read-only for Xen, and raises
and exception for KVM since it doesn't support read-only drives.

Reviewed-by: ultrotter

73cd67f4 01/27/2009 06:44 pm Guido Trotter

Xen: use utils.WriteFile for the instance configs

Also raise HypervisorError rather than OpExecError.

Reviewed-by: iustinp

78f66a17 01/27/2009 06:44 pm Guido Trotter

Xen: use utils.Readfile to read the VNC password

Also raise HypervisorError rather than OpExecError.

Reviewed-by: iustinp

074ca009 01/27/2009 01:31 pm Guido Trotter

KVM and Xen: add the HV_ROOT_PATH parameter

This parameter allows a different path to be passed to the instance
kernel. The new parameter is mandatory, and by default has the value of
the old hardcoded value for both kvm and xen.

Beta1 clusters will need to have this parameter added for their...

637ce7f9 01/27/2009 01:31 pm Guido Trotter

KVM: implement GetShellCommandForConsole

This is a class method, because it calls _InstanceSerial, which is
another class method. The patch changes it to classmethod for all the
hypervisor classes.

Reviewed-by: iustinp

0df4d98a 01/27/2009 01:30 pm Guido Trotter

KVM: classify _Instance{Monitor,Serial,KVMRuntime}

Those methods need nothing from the instantiated class, and just
manipulate strings, and fetch some class global variables, so they can
be classmethods.

Reviewed-by: iustinp

50cb2e2a 01/23/2009 07:02 pm Guido Trotter

Xen and KVM: correct a typo when checking args

A missing 'be' was present in the error string for both xen and kvm,
when the kernel or initrd path was not absolute.

Reviewed-by: imsnah

c087266c 01/21/2009 08:23 pm Guido Trotter

KVM live migration: handle failure

If the KVM live migration ends up in a 'failed' state it has been
aborted at the kvm level, and the machine is still running locally.
We support also the 'cancelled' state even though there should be no way
of reaching it, without manual intervention....

90c024f6 01/21/2009 08:23 pm Guido Trotter

KVM: change a few IOError with EnvironmentError

Reviewed-by: iustinp

30e42c4e 01/21/2009 08:23 pm Guido Trotter

KVM: instance migration

The tcp port used for migrating KVM instances is selectable at
./configure time. We use a single port as nodes are locked anyway during
a migration, so no two migrations can happen at the same time to the
same node.

Reviewed-by: iustinp

1f8b3a27 01/21/2009 08:22 pm Guido Trotter

KVM: add the _InstancePidAlive function

Throughout the kvm code we very often look for the instance pidfile
name, read it, and check if the process is alive. Abstract this into a
private function and use that one instead.

This patch also changes RebootInstance to check whether the instance is...

f02881e0 01/21/2009 08:22 pm Guido Trotter

KVM: fix RebootInstance

RebootInstance was broken, because it just used to call StartInstance
with wrong parameters. With this patch we still stop the instance, but
use the saved kvm runtime to start it again.

Reviewed-by: iustinp

6567aff3 01/21/2009 08:22 pm Guido Trotter

KVM: retry the instance shutdown command

When we ask the instance to shutdown sometimes the command won't work,
especially if the instance isn't fully booted up. We'll wait for a bit,
and give it a few chances before giving up.

Reviewed-by: iustinp

4390ccff 01/21/2009 08:20 pm Guido Trotter

Xen: implement auxiliary migration functions

These are used, for the xen hypervisor, to copy the xen config file to
the remote node. This breaks migration for instances which have been
migrated, but not restarted, with the old code, for which the config
file was just lost....

c979d253 01/21/2009 04:12 pm Iustin Pop

Fix some more pylint errors

Two are real errors (invalid names) and one is style error (overriding
name from outer scope).

Reviewed-by: ultrotter

cd42d0ad 01/21/2009 12:03 pm Guido Trotter

Implement the new live migration backend functions

MigrationInfo, AcceptInstance and AbortMigration are implemented as
hypervisor specific functions, and by default they do nothing (as
they're not always necessary).

This patch also converts hv_base.MigrateInstance docstring to epydoc,...

38e250ba 01/21/2009 11:55 am Guido Trotter

KVM: save and remove the KVM runtime

At instance startup time we save the kvm runtime, and at stop time we
delete it. This patch also includes a function to load the kvm runtime,
which is unused yet.

Reviewed-by: iustinp

ee5f20b0 01/21/2009 11:55 am Guido Trotter

KVM: split KVM runtime generation and startup

Before we used to generate the kvm command line and then just run it.
With this patch we split the generation from the time it is run,
allowing us to save it and replay it at reboot.

We must take special care about instance nics:...

a1d79fc6 01/20/2009 08:12 pm Guido Trotter

KVM: add a _CONF_DIR

Currently we keep pid files and control files. In the conf dir we'll
also keep the data to start the instance anew, and the network
interface scripts. These will then be copied to a separate area (since
_CONF_DIR could be mounted 'noexec') and used to start the instance....

c4fbefc8 01/20/2009 08:12 pm Guido Trotter

KVM: Remove sockets after shutdown

Abstract the monitor and serial socket naming in two functions, and
reuse them to cleanup the files after shutdown.

Reviewed-by: iustinp

c4469f75 01/20/2009 08:11 pm Guido Trotter

KVM: fix class docstring

Reviewed-by: iustinp

fdf7f055 01/20/2009 08:11 pm Guido Trotter

Xen: use epydoc in MigrateInstance docstring

Reviewed-by: iustinp

53c776b5 01/13/2009 05:21 pm Iustin Pop

Forward port the live migration from 1.2 branch

This is forward port via copy (and not individual patches cherry-pick)
of the latest code on the 1.2 branch related to the migration.

The changes compared to 1.2 are the fact that we don't need the
IdentifyDisks step anymore (the drbd rpc calls are independent now), and...

069cfbf1 01/07/2009 07:01 pm Iustin Pop

Simplify hypervisor block_devices structure

This is a partial forward-port of commit 1136 on the 1.2 branch:

The hypervisor doesn't need to be passed the whole block device
structure, so we'll just give it the block device name on the local
node, and the name as seen by the instance. This will make it easier to...