Statistics
| Branch: | Tag: | Revision:

root / lib / cmdlib / instance.py @ 06c2fb4a

History | View | Annotate | Download (141.4 kB)

# Date Author Comment
e7a77eb8 12/17/2013 12:46 pm Dimitris Aragiorgis

(2.10) Introduce --hotplug-if-possible option

This will be useful for an external entity using RAPI that
wants to modify devices of instances.

The common use case for that is:
"I want to add a NIC/disk to an instance. If it is running
then try to hotplug the device. If not, then just add it to config."...

e5370111 12/17/2013 12:46 pm Dimitris Aragiorgis

(2.10) Allow instances to obtain externally reserved IPs

The administrator should be able to assign an externally reserved IP
to a Ganeti instance manually, if desired. Currently this is not
supported. External reservations should act as holes in the pool and...

caf74756 12/17/2013 12:46 pm Dimitris Aragiorgis

(2.10) Check if hotplug is supported in CheckPrereq

Introduce new RPC hotplug_supported that invokes the corresponding
hypervisor's method which checks if hotplug is generally
supported. Call this RPC early in CheckPrereq() and abort if
hotplug is not supported. Currently only KVM hypervisor with...

4c6e8e1a 12/17/2013 12:46 pm Dimitris Aragiorgis

(2.10) Minor changes regarding hotplug support

  • Mention restrictions in NEWS
    - RBD userspace access mode
    - In case of a downgrade instances should suffer a reboot to be migrateable
  • Bypass interactive verification in NIC modifications via --force option...
d05afa85 12/17/2013 12:46 pm Dimitris Aragiorgis

(2.10) Fix in RPC

Use _SingleDiskDictDP() instead of _ObjectDict() for serializing
a disk.

Signed-off-by: Dimitris Aragiorgis <>
Signed-off-by: Thomas Thrainer <>
Reviewed-by: Thomas Thrainer <>

In stable-2.10 rpc methods take node as first argument....

97cf0763 12/17/2013 12:46 pm Dimitris Aragiorgis

(fix) SetDiskID() before blockdev_assemble()

Before blockdev_assemble we call SetDiskID() in order to fill up
physical_id of disk needed by bdev.Assemble and eventually by
constructor of each BlockDev.

This is not needed in 2.10 since physical_id has become deprecated....

e8e50805 12/17/2013 12:46 pm Dimitris Aragiorgis

(2.10) Hotplug: cmdlib support

Hotplugging is done by functions invoked by ApplyContainerMods(). In
order hotplugging to take place the --hotplug option must be passed
otherwise the modifications will take place after reboot.

NIC hotplug supports add, remove and modify. The modify is done by removing...

e228ab9c 12/11/2013 01:27 pm Dimitris Aragiorgis

Support reseting arbitrary params of ext disks

If param=default and the param already exists then we remove
it from params dict. This is stolen by GetUpdatedParams() which
is used for hvparams modification/inheritance.

This means that 'default' value is not accepted for an arbitrary...

c5c72215 12/11/2013 01:27 pm Dimitris Aragiorgis

Allow modification of arbitrary params for ext

Disks of ext template are allowed to have arbitrary parameters
stored in the Disk object's params slot. Those parameters can be
passed during creation of a new disk, either in LUInstanceCreate()
or in LUInsanceSetParams(). Still those parameters can not be...

8b9887c5 12/09/2013 01:59 pm Petr Pudlak

Lock group(s) when creating instances

This is required to prevent race conditions such as removing a network
from a group and adding an instance at the same time. (See issue 621#2.)

Signed-off-by: Petr Pudlak <>
Reviewed-by: Thomas Thrainer <>...

77b0d264 12/05/2013 11:39 am Michele Tartara

Add default file_driver if missing

If the file driver of an instance with file based storage is not specified, the
default one is automatically added by the UpgradeConfig function.

Fixes Issue 571.

Signed-off-by: Michele Tartara <>
Reviewed-by: Helga Velroyen <>

4eef428e 12/02/2013 12:03 pm Dimitris Aragiorgis

Fix a bug in InstanceSetParams concerning names

In case no name is passed in disk modifications we should
keep the old one. If name=none then set disk name to None.

Signed-off-by: Dimitris Aragiorgis <>
Reviewed-by: Jose A. Lopes <>

4289f617 11/27/2013 02:44 pm Thomas Thrainer

Fix NODE/NODE_RES locking in LUInstanceCreate

Both NODE and NODE_RES locks were acquired opportunistically if so
requested by the user. LUInstanceCreate requires, however, that the
actually locked elements on NODE and NODE_RES level are the same.

This patch changes the locking of NODE_RES such that those locks are not...

ff34fb97 09/16/2013 02:25 pm Michele Tartara

Add a default to file-driver when unspecified over RAPI

The file-driver value, used by file-based instances, had a default value when
an instance was being created over the CLI, but not when the instance was
created through the RAPI.

This patch introduces a default value for the remote API and, while doing so,...

125e1230 08/20/2013 03:18 pm Thomas Thrainer

Allow instance mods if only osparams are given

osparams are now recognized as changes, so changing only those without
other changes works too now.

(cherry picked from commit 5eae613c2e1e65101c5d5f7d2e8ffd7cc6edc7d5)

Signed-off-by: Thomas Thrainer <>...

0c072225 08/07/2013 02:29 pm Thomas Thrainer

Merge branch 'stable-2.7' into stable-2.8

  • stable-2.7
    Fix documentation of gnt-instance batch-create
    Support multi instance allocs without iallocator
    Document --no-conflicts-check for gnt-network
    Check disk template in right dict when copying
    ganeti.backend_unittest: chmod restricted cmd dir...
8a348b15 06/04/2013 12:59 pm Christos Stavrakakis

Export device UUIDs to hooks and OS scripts

Export UUIDs and names of instance NICs and disks to the environment
of OS scripts and instance related hooks.

Signed-off-by: Christos Stavrakakis <>
Signed-off-by: Klaus Aehlig <>...

1d4a4b26 05/28/2013 04:05 pm Thomas Thrainer

Add disks_active to configuration

This flag tracks if the disks of an instace are supposed to be active.
That's the case when an instance is running or when its disks got
activated explicitly (and in a couple of other cases).
It will be used by watcher to re-activate disks after a node reboot....

a365b47f 05/17/2013 03:04 pm Bernardo Dal Seno

Merge branch 'stable-2.7' into stable-2.8

  • stable-2.7:
    Update NEWS with disk creation fixes
    Don't fail to deactivate master IP if already down
    Add QA for recreating single instance disks
    Add QA for gnt-instance modify --disk
    Clean up when "gnt-instance modify" fails to create a disk...
5eacbcae 05/17/2013 12:32 pm Thomas Thrainer

cmdlib: Cleanup public/private functions

All functions/classes which are used outside of their defining module
(with tests as an exception) no longer have a leading underscore.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Bernardo Dal Seno <>

8aa8f6b1 05/17/2013 12:32 pm Thomas Thrainer

cmdlib: Extract instance query related functionality

Split instance.py further by extracting instance querying related
logical units and functions to instance_query.py.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Bernardo Dal Seno <>

13f6af81 05/17/2013 12:32 pm Thomas Thrainer

cmdlib: Extract instance operation functionality

Split instance.py further by extracting instance operations
(start/stop/reboot/etc.) related logical units and functions to
instance_operation.py.

The extracted operations have in common that they affect the operating...

87e25be1 05/17/2013 12:32 pm Thomas Thrainer

cmdlib: Extract migration related functionality

Split instance.py further by extracting migration related logical units
and functions to instance_migration.py.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Bernardo Dal Seno <>

763ad5be 05/17/2013 12:32 pm Thomas Thrainer

cmdlib: Extract storage related functionality

Split instance.py further by extracting storage related logical units
and functions to instance_storage.py.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Bernardo Dal Seno <>

22b7f6f8 05/17/2013 12:31 pm Thomas Thrainer

Extract instance related logical units from cmdlib

All LUInstance* classes are extracted to instance.py. Common functions
are moved to common.py if used by non-instance logical units as well.
Additionally, helper functions which are only used by LUBackup* and...