Statistics
| Branch: | Tag: | Revision:

root / lib / hypervisor / hv_base.py @ adb6d685

History | View | Annotate | Download (12.8 kB)

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

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

f28ec899 04/20/2010 01:24 pm Guido Trotter

Add CleanupInstance hypervisor call

Currently some hypervisors (namely kvm) need to do some cleanup after
making sure an instance is stopped. With the moving of the retry cycle
in backend those cleanups were never done. In order to solve this we add
a new optional hypervisor function, CleanupInstance, which gets called...

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

3a488770 03/23/2010 10:35 am Iustin Pop

Some epydoc fixes

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

7260cfbe 01/04/2010 11:15 am Iustin Pop

Add targeted pylint disables

This patch should have only:

- pylint disables
- docstring changes
- whitespace changes

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

94fed7da 01/04/2010 11:15 am Iustin Pop

Implement all hv functions in hv_chroot/hv_fake

The chroot and fake hypervisors were missing:

- the powercycle node functionality
- proper handling of migration requests

The powercycle was just used as in the other hypervisors (use the
standard linux powercycle). The migration for chroot was disabled...

ab3e6da8 11/25/2009 01:45 pm Iustin Pop

Revert "Get rid of utils.CommaJoin"

This reverts commit 6915bc28fe053e92aa16cf2d974d205f1140219c based on thread on
ganeti-devel.

Conflicts:

lib/cmdlib.py (due to the error code classification, trivial)

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

9044275a 11/13/2009 05:59 pm Michael Hanselmann

Fix epydoc error

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

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

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

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

A few style fixes

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

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

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

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

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

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

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

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

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

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

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

c41eea6e 12/11/2008 07:13 pm Iustin Pop

Fix epydoc format warnings

This patch should fix all outstanding epydoc parsing errors; as such, we
switch epydoc into verbose mode so that any new errors will be visible.

Reviewed-by: imsnah

f48148c3 10/14/2008 01:19 pm Iustin Pop

Implement the new hypervisor API in base/xen

This patch adds the new methods CheckParameterSyntax and the
ValidateParameters in the base and xen hypervisors. It also changes the
xen hypervisor to use the new hvparams field on instance.

Reviewed-by: imsnah

6e7275c0 06/16/2008 01:37 pm Iustin Pop

hypervisor: add live migration support

This is just the hypervisor-level migration (e.g. “xm migrate”) not the
whole node coordination work.

Reviewed-by: ultrotter

a2d32034 05/06/2008 01:20 pm Michael Hanselmann

Rename hypervisor code to lowercase filenames

Reviewed-by: iustinp