Statistics
| Branch: | Tag: | Revision:

root / lib / hypervisor / hv_chroot.py @ 912b2278

History | View | Annotate | Download (10.8 kB)

# Date Author Comment
c42be2c0 11/14/2013 05:40 pm Petr Pudlak

Use configured SSH ports when connecting to a console

This is accomplished by passing the corresponding node group to
hv_*.py. Tests for hv_*.py that call GetInstanceConsole updated.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Hrvoje Ribicic <>

a3f0f306 11/14/2013 03:08 pm Jose A. Lopes

Add Python hypervisor instance state

Add 'HvInstanceState' which represents the state of an instance
(either 'running' or 'shutdown') and fix the remaining hypervisor
backends to return a value of this type. Before this patch, each
backend was returning their own value, some were returning strings,...

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

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

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

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

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

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

052783ff 09/28/2012 03:14 pm Michael Hanselmann

Stop hardcoding root user

Some parts of the code still use a hardcoded user name: root. This patch
replaces all with a constant specified at build time. The end goal is to
make it possible to run a Ganeti cluster without any special privileges
(of course this will prevent some functionality from working)....

9d9bded1 09/18/2012 06:09 pm Michael Hanselmann

Migrate lib/hypervisor/*.py from constants to pathutils

File system paths moved from constants to pathutils.

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

3329f4de 09/18/2012 05:58 pm Michael Hanselmann

constants: Move most paths to separate module

This is inpreparation for the implementation of virtual clusters. Many
paths will change based on an environment variable and are no longer
constant and should no longer be in “constants.py”. Since “constants.py”...

2e2fb795 01/17/2012 03:01 pm Guido Trotter

No-op memory ballooning in chroot and lxc

Currently they have no memory limits set.

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

60af751d 09/29/2011 12:41 pm Andrea Spadaccini

Adapt non-KVM hypervisors to new migration RPCs

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

b459a848 08/30/2011 11:24 am Andrea Spadaccini

DeprecationWarning fixes for pylint

In version 0.21, pylint unified all the disable-* (and enable-*)
directives to disable (resp. enable). This leads to a lot of
DeprecationWarning being emitted even if one uses the recommended
version of pylint (0.21.1, as stated in devnotes.rst)....

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

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

e8cd390d 07/06/2010 05:10 pm Balazs Lecz

hv_chroot: use utils.GetMounts()

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

98c98ab9 05/07/2010 02:34 pm Guido Trotter

Hypervisors: use utils.EnsureDirs

Swap a few os.mkdir calls with utils.EnsureDirs

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

14b3f969 04/22/2010 02:32 pm Iustin Pop

Fix broken commit 9e302a8

Commit 9e302a8 split the StopInstance function in two without properly
duplicating the local variables.

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

9e302a8c 04/21/2010 08:22 pm Iustin Pop

hv_chroot: move unmount to CleanupInstance()

This allows cleanup to be done properly if the "instance" wasn't running
at all (based on the CleanupInstance framework, instead of the retry in
hypervisor).

Signed-off-by: Iustin Pop <>
Reviewed-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,...

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

Some epydoc fixes

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

6b0391b3 03/08/2010 03:51 pm Iustin Pop

hv_chroot: remove hard-coded path constructs

This patch abstract the computation of an instance's root directory into
a separate function (that uses PathJoin instead of "%s/%s").

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

c4feafe8 03/08/2010 03:48 pm Iustin Pop

Switch from os.path.join to utils.PathJoin

This passes a full burnin with lots of instances, and should be safe as
we mostly to join a known root (various constants) to a run-time
variable.

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

30e4e741 01/04/2010 11:20 am Iustin Pop

Fix unused imports or add silences where needed

In some cases pylint doesn't parse the import correctly, so we add
silences; but there are also many cases of unused imports, which we
simply remove.

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

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

a2771c83 10/09/2009 06:02 pm Guido Trotter

ChrootManager: clean StopInstance

Currently it has lots for duplicated code, and internal retries.
Clean it up with the following assumptions:

We'll probably be called more than once.
It is ok to fail to stop, unless we're called with force=True.
If we're called only once, and with force=True it's ok not to run the...

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

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

A few style fixes

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

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

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