Statistics
| Branch: | Tag: | Revision:

root / lib / cmdlib / instance.py @ 0c3d9c7c

History | View | Annotate | Download (141.7 kB)

# Date Author Comment
0c3d9c7c 09/24/2013 09:17 am Thomas Thrainer

Replace physical_id with dynamic_params

The disk field 'physical_id' has to be kept up to date whenever a disk
object is sent to a node via RPC. This is done with the SetDiskID method
manually, which is a source of bugs.

This patch replaces the use of 'physical_id' with a new field names...

230bc94a 09/19/2013 03:49 pm Klaus Aehlig

Merge branch 'stable-2.9' into master

  • stable-2.9
    Fix incorrect conflict resolution in lib/cmdlib/instance.py
  • stable-2.8
    Version bump for 2.8 rc3
    Add a default to file-driver when unspecified over RAPI
    Remove typo from RAPI documentation
    Describe the files in doc/users in NEWS...
5be00b4b 09/17/2013 05:54 pm Klaus Aehlig

Fix incorrect conflict resolution in lib/cmdlib/instance.py

Between the last two merges, nothing happened on stable-2.9. The
only change on stable-2.8 that touched lib/cmdlib/instance.py is
ff34fb97. So make sure, the net change since the last merge to
this file is that of the said commit. This also fixes the doclint...

52469de0 09/17/2013 02:12 pm Klaus Aehlig

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Add a default to file-driver when unspecified over RAPI
    Remove typo from RAPI documentation
    Describe the files in doc/users in NEWS
    Update the upgrade procedure
  • stable-2.7
    Fix incorrect manpage reference to htools...
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,...

aefc2f89 09/12/2013 03:56 pm Thomas Thrainer

Use RpcResult.Warn where appropriate

Those two occurrences of warnings can be replaced the RpcResult.Warn
method, which is done in this patch.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Klaus Aehlig <>

34956ece 09/12/2013 03:56 pm Thomas Thrainer

Remove unneeded except block

The validation of the opcodes already checks the size parameter for the
right type, so this except block is not required.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Klaus Aehlig <>

0c5f1b13 09/12/2013 03:23 pm Thomas Thrainer

Merge branch 'stable-2.9' into master

  • stable-2.9
    Fix bridging in net-common
    Sync build_chroot with buildbot slack role
    Auto-upgrade of disks' config wrt LD-renaming
    Fix tests regarding DISK_LD_DEFAULTS
    Fixing renaming of DISK_LD_DEFAULTS
    Replace LD_* constants with DT_* constants...
cd3b4ff4 08/28/2013 06:19 pm Helga Velroyen

Replace LD_* constants with DT_* constants

LD_* constants are basically like DT_* constants, except
for that both file and shared file were mapped to file.
In order to not having to maintain three slightly different
sets of disk-related constants (DT, LD and ST), we merge...

7bb0c47f 08/22/2013 03:03 pm Thomas Thrainer

Check right disk template in inst set params

While checking the parameters of the opcode for LUInstanceSetParams, the
already set disk_template was checked instead of the new one in the
opcode. This patch fixes this bug.

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

66222813 08/21/2013 10:27 am Thomas Thrainer

Add unit tests for LUInstanceCreate and move tests

- Move instance related tests to instance_unittest.py
- Adapt moved tests to the new test framework where appropriate
- Add unit test coverage for LUInstanceCreate
- Only instance creation is covered yet, no imports...

d2429198 08/21/2013 10:25 am Thomas Thrainer

Merge branch 'stable-2.9' into master

  • stable-2.9
    Allow instance mods if only osparams are given
    Use node UUIDs for locking instead of node names
    Allow instance mods if only osparams are given
    Fix a node name vs. UUID bug in instance import
    Typo in hroller man page...
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 <>...

6869f673 08/20/2013 02:46 pm Thomas Thrainer

Use node UUIDs for locking instead of node names

LUInstanceMultiAlloc used node names instead of node UUIDs to lock
required nodes. This patch fixes this bug.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Guido Trotter <>

5eae613c 08/20/2013 01:53 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.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Helga Velroyen <>

a61a0813 08/19/2013 04:23 pm Thomas Thrainer

Fix a node name vs. UUID bug in instance import

This patch fixes a bug where node names were incorrectly used as node
UUID's.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Helga Velroyen <>

b9aae98b 08/19/2013 11:09 am Thomas Thrainer

Use node UUID for locking in LUInstanceMove

This LU (incorrectly) used the node name for locking. This patch
corrects this error.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Michele Tartara <>

1ca326c8 08/07/2013 06:46 pm Thomas Thrainer

Merge branch 'stable-2.9'

  • stable-2.9
    Fix batch creation of instances
    Fix documentation of gnt-instance batch-create
    Support multi instance allocs without iallocator
    Support DSA SSH keys in bootstrap
    Include VCS version in `gnt-cluster version`...
804d72eb 08/07/2013 05:41 pm Thomas Thrainer

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Fix batch creation of instances
    Fix documentation of gnt-instance batch-create
    Support multi instance allocs without iallocator
    Support DSA SSH keys in bootstrap
    Include VCS version in `gnt-cluster version`...
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...
884dc063 08/07/2013 10:41 am Jose A. Lopes

Move constants to the appropriate module

Move constants ALLOCATABLE_KEY and FAILED_KEY to the constants module.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Guido Trotter <>

72cd5493 08/07/2013 10:41 am Jose A. Lopes

Add predicates to test Python types in opcodes

Add helper functions to test Python types, which are used by opcode
parameters and return values.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Guido Trotter <>

5ce6fa9a 07/22/2013 02:33 pm Sebastian Gebhard

Fix KeyErrors with network mode and vlan

This patch fixes some KeyErrors that were introduced by the vlan implementation
and showed up when certain parameters were missing:
gnt-cluster init without network mode
gnt-isntance add without vlan

Signed-off-by: Sebastian Gebhard <>...

9f7d5fe4 07/18/2013 01:52 pm Sebastian Gebhard

Support VLAN parameter during instance creation

If VLAN parameter is present, check its format:
either .<id>[:id], :id[:id...], or just id.

Signed-off-by: Sebastian Gebhard <>
Signed-off-by: Klaus Aehlig <>
Reviewed-by: Klaus Aehlig <>

9d276e93 07/15/2013 12:34 pm Helga Velroyen

Opcodes: move storage type checks to cmdlib

So far, there was a static check whether or not a given
storage type of an opcode was enabled. This check is
no longer possibe at this layer, because the information
whether or not file/shared file storage is enabled must...

850c53f1 07/15/2013 12:34 pm Helga Velroyen

cmdlib: remove usage of ENABLE_FILE_STORAGE

This patch removes all usages of the constant
'ENABLE_FILE_STORAGE' from the cmdlib code and
replaces them by checking the cluster's configuration.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Klaus Aehlig <>

1f7c8208 07/15/2013 12:34 pm Helga Velroyen

backend: remove ENABLE_FILE_STORAGE

This patch removes the usage of the ENABLE_FILE_STORAGE
constant in the backend code. To avoid having to pass
it through various RPC calls, we instead move the check
to cmdlib.

Signed-off-by: Helga Velroyen <>...

72080db1 07/03/2013 12:40 pm Helga Velroyen

Let instance creation fall back to default disk template

So far, the '-t' option of 'gnt-instance add' is mandatory.
This patch makes it optional. In case, no disk template is
specified, the first of the list of enabled_disk_templates
is used.

Signed-off-by: Helga Velroyen <>...

dab6ea3d 07/03/2013 12:40 pm Helga Velroyen

LUInstanceCreate: factor out disk checks

The 'CheckArguments' method of 'LUInstanceCreate' is way
too long and should be broken up in smaller pieces. This
patch starts with that and factors out the disk checks.
No functional changes whatsoever.

Signed-off-by: Helga Velroyen <>...

da803ff1 07/02/2013 12:47 pm Helga Velroyen

Extend RPC call 'node_info' by storage parameters

This patch extends the actual RPC call to accept storage
parameters with each storage units. It adjusts all code
which performs this code by integrating the 'exclusive
storage' flag into the lvm storage unit....

da4a52a3 06/20/2013 05:04 pm Thomas Thrainer

Index instances by their UUID

No longer index instances 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...

4665b94f 06/20/2013 02:52 pm Thomas Thrainer

Fix instance add for missing node specs

Don't pass None to cfg.GetNodeNames. Instead, only resolve the node
names if it's sure that the UUID list is valid.

This fixes issue 495.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Klaus Aehlig <>

f5c4553b 06/18/2013 06:24 pm Michele Tartara

Merge branch 'stable-2.8' into 'master'

  • stable-2.8
    Version bump to 2.8.0~alpha1
    Make cfgupgrade idempotent
    Update config version number when downgrading
    Add test for shrink heuristics over different resources
    Improve hspace shrinking strategy...
b666a94c 06/14/2013 12:19 pm Helga Velroyen

Use cluster's hvparams in LUInstSetParams

Since the instance does not have hvparams at that point,
we have to use the cluster's hvparams here. This fixes
a crash when using 'gnt-instance modify'.

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

d0d7d7cf 06/13/2013 12:32 pm Thomas Thrainer

Inline simple "alias" variables

Remove variables in the form "var = self.var" throughout all LU's. Those
"alias" variables make it harder to read the code (it's no longer
immediately clear what's a field and what's a local variable), and can
introduce subtle bug (especially when not used consistently and when...

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

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

a295eb80 06/12/2013 10:18 am Helga Velroyen

Adjust all callers of RPC 'call_node_info'

This patch contains all adjustments necessary to code that
uses the 'call_node_info' call. The adjustment is necessary
because the call's signature changed from receiving a list
of hypervisor names to a list of tuples...

c7dd65be 06/05/2013 02:28 pm Klaus Aehlig

Use RpcResult.Warn where appropriate the cmdlib

To avoid repetitive code, make use of the functionality factored
out to the Warn method of RpcResult.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Helga Velroyen <>

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

342a9b3b 05/31/2013 04:36 pm Bernardo Dal Seno

Merge branch 'stable-2.8' into master

  • stable-2.8:
    Document users-setup tool
    Adjusting permissions after confd start
    Ensure the queue socket has the right permissions
    Update IAllocator interface documentation
    Add NEWS entry for hail honoring networks...
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....

7c848a6a 05/28/2013 12:46 pm Bernardo Dal Seno

Spindles are mandatory with exclusive storage

If they are not specified in the command line an error is reported. Also,
disk creation would fail without them.

QA has been updated.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Helga Velroyen <>

3f3ea14c 05/23/2013 02:03 pm Bernardo Dal Seno

Check that spindles are not given when they are not allowed

Masterd checks that specifications for new disks don't include spindles
when exclusive storage is disabled.

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

4b92e992 05/21/2013 03:13 pm Helga Velroyen

RPC 'node_info': <storage_type,key> instead of vg_names

This replaces the field 'vg_names' in the RPC call of 'node info' by
'storage_units'. A storage unit is a tuple <storage_type,key>
and a generalization of a vg_name. The list of vg names is replaced by...

1bb99a33 05/17/2013 05:42 pm Bernardo Dal Seno

Merge branch 'stable-2.8' into master

  • stable-2.8: (45 commits)
    Update NEWS with disk creation fixes
    Sort cmdlib-related entries in Makefile.am
    cmdlib: Cleanup public/private functions
    cmdlib: Extract instance query related functionality
    cmdlib: Extract instance operation functionality...
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...