Statistics
| Branch: | Tag: | Revision:

root / lib / cmdlib / cluster.py @ 44ffd981

History | View | Annotate | Download (122.5 kB)

# Date Author Comment
a4417db4 11/15/2013 04:49 pm Thomas Thrainer

Merge branch 'stable-2.10' into master

Merge branch 'stable-2.10' into master

  • stable-2.10
    Don't allow optional node parameters
    Move OVS node parameters to the right place
    Make NIC VLAN queryable
    Pass VLAN parameter correctly in moves
    Use constant instead of raw string...
adef95a2 11/15/2013 03:12 pm Thomas Thrainer

Merge branch 'stable-2.9' into stable-2.10

Merge branch 'stable-2.9' into stable-2.10

  • stable-2.9
    Bump revision for 2.9.1
    Update NEWS and schedule release for 2.9.1
    Fix retrieval of xen command in class method
    Fix docstring for ganeti.storage.filestorage_unittest.py...
a9f33339 11/14/2013 05:40 pm Petr Pudlak

Use custom SSH ports in node groups when working with nodes

Calling `gnt-instance console` with a custom SSH port doesn't work yet.

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

07e68848 11/14/2013 04:30 pm Thomas Thrainer

Don't allow optional node parameters

Ganeti does not support optional fields in parameters
(hypervisor-params, disk-params, etc.). OpenVSwitch related node
parameters were the exception to this rule, which caused numerous
problems related to import/export and (de-)serialization....

fb62843c 11/07/2013 05:05 pm Klaus Aehlig

When verifying BRBD version, ignore missing values

When comparing for consistency of the DRBD versions, some
versions might not be available via RPC, typically, if the
node is offline. In this case, leave these nodes out of the
test, instead of failing with an internal python error....

25ea5b98 10/30/2013 11:35 am Sebastian Gebhard

Create Open vSwitch on Master during Cluster init

Currently, Open vSwitch is only created on additional nodes, not on the master
itself.
This fixes the issue and creates and configures an Open vSwitch on the master
node during cluster init.

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

8b95dfdc 10/15/2013 02:13 pm Helga Velroyen

Make 'gnt-cluster modify' respect the order of templates

This fixes a bug where the order of enabled disk templates
was not respected when manipulating it with 'gnt-cluster
modify'.

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

5808df30 10/11/2013 05:32 pm Helga Velroyen

Fix typos and indentation for cluster.py

This patches fixes a typo and some indentation errors
that were accidentally introduced by premature pushing
of the patch series "Improvements on disk templates, in
particular file storage".

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

6e513917 10/11/2013 02:13 pm Helga Velroyen

Make GetDiskTemplateSets output disabled disk templates

This patch extends the 'GetDiskTemplateSets' function to
also output the list of disk templates that were enabled
before this operation, but will be disabled afterwards.
This patch also includes code to check for instances using...

87e23f2d 10/11/2013 02:13 pm Helga Velroyen

Rename GetEnabledDiskTemplates to include disabled ones

This patch solely renames the functions
_GetEnabledDiskTemplates* to _GetDiskTemplateSets, because
in later patches, we will refactor it to not only output
disk templates that are or get enabled, but also the ones...

c2e984e2 10/11/2013 02:13 pm Helga Velroyen

Check for running instances when disabling templates

This patch introduces a function to be used in
'gnt-cluster modify' when disabling a couple of disk
templates. It checks whether there are still instances
running that use these templates.

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

294254b1 10/02/2013 05:55 pm Raffa Santi

Check validity of the access protocol parameter

  • Prevent incompatible hypervisor/disk template/access type
    combinations from being reached through the command line.
  • Prevent the access config from taking illegal values such as "pink
    bunny" through the command line....
d66acf3d 09/24/2013 10:37 am Thomas Thrainer

Fix RPC call to blockdev_getdimensions

The parameter format for call_blockdev_getdimensions has changed in a
previous patch. Here, the correct parameter format is used for the RPC
call.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Jose A. Lopes <>

a57e502a 09/24/2013 09:17 am Thomas Thrainer

Remove physical_id field from disk object

The 'physical_id' field of disk objects is no longer used, so remove it.
Also, all references are removed together with the code which made sure
that the physical_id is up to date when transmitted over RPC.

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

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

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

31ccfc0e 08/27/2013 04:50 pm Helga Velroyen

cluster modify: deprecate --no-drbd-storage

As in the previous patch, the option '--no-drbd-storage'
is deprectated, because it is subsumed by the non-inclusion
of 'drbd' in the list of enabled disk templates.

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

9af7ece3 08/27/2013 04:50 pm Helga Velroyen

cluster verify: check drbd helper only when drbd enabled

This change makes sure that 'gnt-cluster verify' only
checks for the DRBD usermode helper, if DRBD is actually
enabled.

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

7c577910 08/27/2013 04:50 pm Helga Velroyen

cmdlib/cluster.py: unit tests for usermode helper

This patch factors out the functions that deal with setting
and modifying the DRBD usermode helper in cluster.py in
order to make them more unittestable. The unit tests are
provided as well. No functional changes otherwise....

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...
9fdb10be 08/13/2013 12:02 pm Thomas Thrainer

Extend unit tests for LUClusterVerifyGroup

- Add tests for additional Verify* methods
- Converted test for VerifyFiles to the new test framework
- Added possibility to prepare the LU in a test class before actually
executing the test method with it

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

18397489 08/13/2013 11:59 am Thomas Thrainer

Revert "Display node name instead of UUID in error message"

This reverts commit fbff213691328562cc4029f3babaa2e72e2012c4.
When running hooks, the node name is used to identify nodes, not (as
wrongly assumed in the patch) the node UUID.

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

fbff2136 08/13/2013 08:54 am Thomas Thrainer

Display node name instead of UUID in error message

The hooks callback in LUClusterGroupVerify misinterpreted the key in the
node result as name instead of node UUID. This patch fixes this, which
leads to more user friendly error messages.

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

c89eb67d 08/08/2013 06:48 pm Helga Velroyen

ClusterSetParams: move vg-name checks from to CheckPrereq

This fixes a bug in the logic of 'gnt-cluster modify'.
Some checks that should better be done in 'CheckPrereq'
were actually done in 'Exec'. This lead to a strange
behavior in case the execution failed, because an...

4e771a95 08/08/2013 06:48 pm Helga Velroyen

Move Ipolicy utility function to cmdlib/common.py

Since the check of consistency between an ipolicy and
the list of enabled disk templates will not only be
needed on cluster modification, but also on group
modification, we move the respective function and its...

33a6464e 08/08/2013 06:48 pm Helga Velroyen

gnt-cluster modify: ipolicy vs enabled disk templates

This patch adds a check to LUClusterSetParams which
ensures that the list of allowed disk templates is a
subset of the list of cluster-wide enabled disk
templates. Unit tests are included.

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

1532b078 08/08/2013 06:48 pm Helga Velroyen

gnt-cluster modify: factor out ipolicy check

This refactors the LUClusterSetParams to do all ipolicy
sanity / validity checks in a separate function
in order to increase testability. No function changes
otherwise.

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

a794b8d7 08/07/2013 06:52 pm Thomas Thrainer

Add unit test for LUClusterSetParams

Some changes to the test framework were performed while writing this
test:
- Extended builder for disks
- Introduced builder for NICs
- Fixed bugs in RpcResultsBuilder

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

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`...
026f444f 08/06/2013 04:32 pm Thomas Thrainer

Include VCS version in `gnt-cluster version`

Also print the VCS version in the output of `gnt-cluster version`. This
makes the VCS version also available over RAPI, etc.

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

24e96ef6 08/05/2013 11:06 am Thomas Thrainer

Fix formatting of instance names in config verify

Instance object were incorrectly treated as instance UUID's which caused
an exception to be raised. Using the names of the instance objects
directly fixes this problem.

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

d3ff2741 08/02/2013 02:01 pm Thomas Thrainer

Fix verify config if a node has no instances

Do not try to provide a fake instance UUID called "no instances", as
trying to get the name for would fail and raise an exception.

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

a5b9e2f2 08/01/2013 06:30 pm Thomas Thrainer

Check for luxid permission during verify config

confd no longer needs access to the noded certificate file, but luxid
does. Change the check to use the right user.

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

f06af3ca 08/01/2013 09:16 am Thomas Thrainer

Check disk template in right dict when copying

Due to the structure of the code this condition can't possibly be true.
We have to look in the new_diskparams dict instead, otherwise it'd be
possible to try to update a non-existing entry.

(The same patch is in stable-2.7 as 106441d already)....

4b322a76 07/29/2013 03:27 pm Helga Velroyen

gnt-cluster verify: consider shared file storage

This patch enhances 'gnt-cluster verify' in a way that it
now validates the acceptance and existance of the shared
storage directory.

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

4e6cfd11 07/29/2013 03:27 pm Helga Velroyen

gnt-cluster modify --shared-file-storage-dir

This patch introduces to 'gnt-cluster modify' the option
'--shared-file-storage-dir' to change the default directory
for instances using shared file storage at cluster runtime.

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

e8b5640e 07/29/2013 03:27 pm Helga Velroyen

Bootstrap: factor out and prepare shared-file-storage

This patch makes 'gnt-cluster init' use the
'--shared-file-storage-dir' option to set the default
shared file storage dir. Additionally, it performs the
same sanity and validity checks for the path as for...

3039e2dc 07/23/2013 03:29 pm Helga Velroyen

gnt-cluster {init, modify} --file-storage-dir

This patch implements consistent usage and behavior of
the --file-storage-dir option in 'gnt-cluster init'
and 'gnt-cluster modify'. It includes a bunch of unit
tests as well.

Additionally, it enables the previously written unit...

c832f7e9 07/16/2013 10:29 am Klaus Aehlig

Merge branch 'stable-2.8' into master

  • stable-2.8
    Change method dispatch in ClientOps to enforce luxi.REQ_ALL
    Allow modify_etc_hosts to be changed
    Add --modify-etc-hosts option for CLI tools
    Add luxiReqQueryNetworks to LuxiOp
    Log received message at debug level...
9c1c3c19 07/15/2013 12:34 pm Helga Velroyen

Verify file storage path

This patch adds two verification steps to 'gnt-cluster
verify':
- The configured file storage directory is checked against
the allowed file storage directories file.
- We check whether the configured file storage directory
is existing and writable on each node....

13a6c760 07/15/2013 12:34 pm Helga Velroyen

Prepare verification code for new file path verification

This patch prepares the verification code for adding
a new verification step for the file storage paths:
- It moves a couple of file storage helper functions from
bdev to filestorage (since they make more sense there...

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

43c54ced 07/15/2013 12:34 pm Helga Velroyen

cluster verify: adjust path verification

This patch adjusts the verification of file storage paths
by checking the list of enabled disk templates instead
of the 'ENABLE_FILE_STORAGE' constant.

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

75f2ff7d 07/15/2013 12:10 pm Michele Tartara

Allow modify_etc_hosts to be changed

The modify_etc_hosts options, enabling the cluster to modify the /etc/hosts
files of nodes, and to keep them in sync, could only be set at cluster init
time.

With this commit it can now be changed through modify_etc_hosts as well....

69ac3b74 07/09/2013 07:41 pm Michele Tartara

Cluster verify checks server.pem permissions

Currently, ConfD must be able to access server.pem (though this is likely to
change in the future). If this is not true, all sorts of weird things happen,
such as "gnt-node list" printing lots of question marks instead of actual...

dad226e3 06/26/2013 12:18 pm Thomas Thrainer

Merge branch 'stable-2.8' into master

  • stable-2.8:
    gnt-cluster info (py): add enabled disk templates
    Version bump to 2.8.0~beta1
    Change version numbers in documentation
    Fix issue with python coverage tests
    Merge branch 'stable-2.7' into stable-2.8...
fe782deb 06/24/2013 03:41 pm Helga Velroyen

gnt-cluster info (py): add enabled disk templates

This fixes issue 485. In the python implementation of
the cluster config info, the enabled_disk_templates
were missing.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Guido Trotter <>

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

9b0e86e2 06/20/2013 10:34 am Thomas Thrainer

Check DRBD status in cluster verify

If the status of DRBD disks is degraded or in a faulty state, issue an
error in cluster verify.

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

bb935d8d 06/19/2013 11:24 am Thomas Thrainer

Fix reference to NodeInfo.name

This fixes a bug introduced during the move from node names to node
UUIDs as indexes.

Also, a typo is corrected.

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

5b0dfcef 06/12/2013 10:17 am Helga Velroyen

Verify: node info and instance list

This patch enhances node verification by:
- Factoring out the verification of the node info
and the instance list to increase testability.
- Make both of them use the hvparams parameter.

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

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

e5c92cfb 06/04/2013 09:06 pm Klaus Aehlig

Add a force option to the ClusterSetParams Opcode

If set, the op code will, in particular, try to set the master IP
on the new netdev, even if shutting down the master IP on the old
netdev failed.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Michele Tartara <>

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

c69b147d 05/28/2013 12:46 pm Bernardo Dal Seno

Report missing spindles in the configuration

cfgupgrade and cluster-verify run a check for missing spindles in disk
configuration when exclusive storage is enabled. The check in cfgupgrade
may give false positives due to the complexity of getting the correct value...

40d93e3b 05/28/2013 12:45 pm Bernardo Dal Seno

gnt-cluster repair-disk-sizes repairs spindles too

When exclusive storage is active, any wrong or missing spindles information
in disks gets updated too.

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

6ef8077e 05/28/2013 12:45 pm Bernardo Dal Seno

New RPC to get size and spindles of disks

This RPC replaces the existing one that only returned disk size.

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

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

7352d33b 05/17/2013 12:31 pm Thomas Thrainer

Extract cluster related logical units from cmdlib

All LUCluster* classes are extracted to cluster.py. Shared functions are
extracted to common.py, helper functions only used by LUCluster* are
extracted to cluster.py.

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