Statistics
| Branch: | Tag: | Revision:

root / lib / cmdlib / node.py @ 1c4910f7

History | View | Annotate | Download (58.3 kB)

# Date Author Comment
205d3309 03/07/2014 08:33 pm Klaus Aehlig

Merge branch 'stable-2.10' into stable-2.11

  • stable-2.10
    Revision bump for the 2.10.1 release
    Update NEWS file for 2.10.1
    Use node UUIDs for executing LU hook
    Add PreparePostHookNodes to LUs
    Fix error propagation in post-commit hooks
  • stable-2.9...
ff1c051b 03/04/2014 11:41 am Thomas Thrainer

Use node UUIDs for executing LU hooks

LUNodeAdd, the only LU using a node name still, is changed to overwrite
PreparePostHookNodes() and use node UUIDs only as well.
This allows to remove the support for 3-tuples as results of
BuildHooksNodes() and removes the translation to node names....

c1410048 01/15/2014 11:27 am Helga Velroyen

Add certificate of auto-promoted master candidates to map

When a normal node is auto-promoted to be a master
candidate, its SSL client certificate digest needs
to be added to the map of candidate certificates
as well.

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

fc6ccde4 01/08/2014 03:01 pm Helga Velroyen

Create client certificate for normal nodes

The vcluster QA revealed a bug in the SSL certificate
handling code, where certificates were only created
when the node is a master-candidate. However, every node
should have a certificate, but only the digests of the...

28756f80 12/20/2013 03:15 pm Helga Velroyen

Handle promoting/demoting nodes wrt to client certificates

This patch makes Ganeti correctly handle the client
certificates when nodes get promoted to master candidates
or demoted to normal nodes.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Hrvoje Ribicic <>

840ad2ab 12/20/2013 03:15 pm Helga Velroyen

Handle client certificates on node add/remove

This patch adds the certificate of a newly added or
readded master candidate node to the map of master candidate
certificates. It removes a master candidate node's certificate
digest from the candidate certificate map if the node is...

4869595d 12/17/2013 10:11 pm Petr Pudlak

Add a Python directory for RPC code to keep it at one place

Move rpc.py to rpc/node.py and modify imports in existing code.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Helga Velroyen <>

5a904197 12/17/2013 06:12 pm Santi Raffa

Gluster: add the Shared File storage type

The shared file and gluster disk templates should not report their disk
space information like file does, because they do not behave the same.

If a cluster pulls from the same, shared source of storage then it is...

dde771ba 11/26/2013 11:14 am Helga Velroyen

Node queries: remove opcodes and LUs

Removes the remains of the node query code.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Hrvoje Ribicic <>

862beeab 11/26/2013 11:13 am Helga Velroyen

Disable node query code

This patch removes the python query implementation for
nodes. So far, the code is replaced by 'NotImplemented'
exceptions, because the overall structure of query classes
can be removed more easily at once when all query
implementations are ready to be removed....

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

30796ad6 11/07/2013 05:05 pm Klaus Aehlig

Readd nodes as online

Patch d0d7d7cf accidentally removed the offline-flag reset
when readding a node. Readd it.

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

4f90370c 10/15/2013 02:13 pm Helga Velroyen

Make 'gnt-node list-storage' use default storage type

Currently, when no explicit storage type is given, the
'gnt-node list-storage' command defaults to file storage
whether or not file storage is enabled on the cluster
or not. This patch fixes it by defaulting to the default...

6c00b2c7 10/15/2013 02:13 pm Helga Velroyen

Streamlining handling of spindles and default templates

This rather lenghy patch comprises a couple of refactorings
to achieve the following goals:
- 'gnt-node info' should only report space information about
spindles, when exclusive storage is enabled on the node...

d4d424fb 10/02/2013 03:50 pm Jose A. Lopes

Replace 'IALLOCATOR_NEVAC_*' with 'NODE_EVAC_*'

Replace uses of 'IALLOCATOR_NEVAC_PRI', 'IALLOCATOR_NEVAC_SEC',
'IALLOCATOR_NEVAC_ALL', and 'IALLOCATOR_NEVAC_MODES', with
'NODE_EVAC_PRI', 'NODE_EVAC_SEC', 'NODE_EVAC_ALL', and
'NODE_EVAC_MODES', given that these constants are repeated....

355d1f32 09/13/2013 02:55 pm Sebastian Gebhard

Fix lint errors in fix keyerrors patch

This patch fixes one lint error introduced by my recent patch to
fix keyerrors in lib/cmdlib/node.py.

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

0d8ce33e 09/13/2013 01:50 pm Sebastian Gebhard

Fix keyerrors in cmdlib node

This patch fixes potential key errors in the OpenvSwitch implementation
in cmdlib/node.py. The checks in that file expected to have a ndparams dict
with certain keys to be present. This should not be the case as it will
result in KeyErrors when those keys are not present....

b2fbea47 09/09/2013 07:47 pm Jose A. Lopes

Replace literals with constants

In "lib/cmdlib/node.py", in lines 1315-1316, 1354, and 1359-1370,
replace string literals with constants. Fixes issue 558.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Michele Tartara <>

6afb9fb4 08/27/2013 09:32 am Jose A. Lopes

Simplify '_CheckOutputFields'

Function '_CheckOutputFields' was receiving three field sets, two of
which were simply being merged together. This was complicated and
unnecessary. This patch simplifies '_CheckOutputFields' to take
simply two field sets.
...

dc3dcdaf 08/27/2013 09:32 am Jose A. Lopes

Add 'SF_NODE' to 'VALID_STORAGE_FIELDS'

Constant 'SF_NODE' is a storage field and, therefore, should be in
'VALID_STORAGE_FIELDS'. This patch fixes this and also reference to
these constants, namely, in 'cmdlib' and 'qa'.

Signed-off-by: Jose A. Lopes <>...

8baa9ca7 08/21/2013 06:26 pm Sebastian Gebhard

Add OpenvSwitch functionality to LUNodeAdd

This patch adds functionality to LUNodeAdd to
- check the arguments given. It will warn if no physical link is given
and fail if OpenvSwitch is not enabled, but parameters are given
- call the RPC to configure OpenvSwitch on the node...

6bb43023 08/07/2013 06:52 pm Thomas Thrainer

Use ConfigWriter.GetMasterNodeInfo() consistently

This shortcut method to get the node object of the master node directly
makes the code more readable and concise. Therefore, use it everywhere
where appropriate.

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

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

20faaa74 07/03/2013 12:41 pm Helga Velroyen

Improve handling of storage info

This patch improves the processing of storage information
as result of the 'node_info' call in the following way:
- It removes the override for LVM storage. This was needed
in MakeLegacyNode info to be compatible to the...

843094ad 07/02/2013 04:54 pm Thomas Thrainer

Make names more descriptive

LUGroupVerifyDisks had some not very descriptive names which made it
hard to read and understand the code. This patch renames some methods
and variables to make it more readable.

Also, the return type of MapInstanceLvsToNodes was changed to contain...

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

5e568fee 06/20/2013 03:37 pm Thomas Thrainer

Fix wrong assert

An assert wrongly verified that the node name instead of the node UUID
is in the set of locked nodes. This patch fixes this.

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

32389d91 06/14/2013 02:43 pm Helga Velroyen

Refactor NodeInfo RPC regarding storage reporting

The NodeInfo RPC call is refactored to handle now more than
just storage reporting for volume groups.

Since NodeInfo now returns storage space information not
necessarily for volume groups, but also for other storage...

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

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

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

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

06fb92cf 06/07/2013 04:10 pm Bernardo Dal Seno

Export node spindles

Node spindles (queried live) are exported through the LUXI, RAPI, and
iallocator interfaces.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Klaus Aehlig <>

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

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

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

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

31b836b8 05/17/2013 12:31 pm Thomas Thrainer

Extract node related logical units from cmdlib

All LUNode* classes are extracted to node.py. Common functions are moved
to common.py if used by non-node logical units as well.

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