Statistics
| Branch: | Tag: | Revision:

root / lib / cmdlib.py @ 1d60fec6

History | View | Annotate | Download (499.4 kB)

# Date Author Comment
78519c10 11/30/2011 12:26 pm Michael Hanselmann

Change “node_info” RPC to accept multiple VGs/hypervisors

Keeping the node state up to date will require information from multiple
VGs and hypervisors. Instead of requiring multiple calls this change
allows a single call to return all needed information. Existing users...

75191077 11/24/2011 12:31 pm Michael Hanselmann

Merge branch 'devel-2.5'

  • devel-2.5:
    LUGroupAssignNodes: Fix node membership corruption
    LUGroupAssignNodes: Fix node membership corruption
    Fix pylint warning on unreachable code
    LUNodeEvacuate: Disallow migrating all instances at once
    Separate OpNodeEvacuate.mode from iallocator...
2b9245ff 11/24/2011 11:04 am Michael Hanselmann

Merge branch 'stable-2.5' into devel-2.5

  • stable-2.5:
    LUGroupAssignNodes: Fix node membership corruption
    Fix pylint warning on unreachable code
    LUNodeEvacuate: Disallow migrating all instances at once
    LUNodeEvacuate: Locking fixes
    Fix error when removing node...
54c31fd3 11/24/2011 10:39 am Michael Hanselmann

LUGroupAssignNodes: Fix node membership corruption

Note: This bug only manifests itself in Ganeti 2.5, but since the
problematic code also exists in 2.4, I decided to fix it there.

If a node was assigned to a new group using “gnt-group assign-nodes” the...

9c4f4dd6 11/24/2011 10:32 am Michael Hanselmann

Fix pylint warning on unreachable code

Commit c50452c3186 added an exception when all instances should be
evacuated off a node, but did so in a way which made pylint complain
about unreachable code.

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

c50452c3 11/23/2011 03:25 pm Michael Hanselmann

LUNodeEvacuate: Disallow migrating all instances at once

There is a design issue in the iallocator interface which prevents us
from doing this.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: René Nussbaumer <>

cb92e7a1 11/23/2011 03:03 pm Michael Hanselmann

Separate OpNodeEvacuate.mode from iallocator

Until now the iallocator constants for node evacuation
(IALLOCATOR_NEVAC_*) were also used for the opcode. However, it turned
out this was due to a misunderstanding and is incorrect. This patch adds
new constants (with the same values) and changes the affected places....

50722bfd 11/23/2011 03:03 pm Michael Hanselmann

LUNodeEvacuate: Locking fixes

When evacuating a node, only an assertion without informative text was
used to check if the necessary node locks had been acquired. This was on
top of evaluating the list of nodes without having a node group lock, so
this was changed as well....

d05326fc 11/23/2011 11:51 am Michael Hanselmann

Fix error when removing node

ConfigWriter.GetAllInstancesInfo returns a dictionary, not a list.
Removing a node would fail with “too many values to unpack”.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Guido Trotter <>

b2e233a5 11/22/2011 07:55 pm Guido Trotter

Remove BE_MEMORY from beparams but keep compatibility

Queries are already compatible (be/memory is an alias for be/maxmem) and
import/exports work. This patch patch fixes it for cluster init, modify
and instance add/start/modify.

Signed-off-by: Guido Trotter <>...

63c55458 11/22/2011 07:55 pm Guido Trotter

cmdlib: use MAXMEM for all operations

Since for now we can only start instances at their maximum memory, we
modify all checks to use that value. When we'll have better support for
using a value in between some of these checks have to move to minimum
memory....

1db993d5 11/22/2011 04:53 pm Guido Trotter

ImportExport: use max and min memory params

Import uses the old "memory" parameter to populate the two new ones, if
they're not overridden already.

FinalizeExport exports minmem and maxmem, but also memory, as maxmem, to
allow importing to older ganeti clusters....

3fa222b4 11/22/2011 04:52 pm Guido Trotter

instance hooks: pass maximum and minimum memory

Also pass the "memory" value for retrocompatibility, for now.

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

edea391e 11/21/2011 11:52 am Andrea Spadaccini

Reapply commit 2a6de57 after merge

In the last merge I erroneously discarded the changes introduced by
commit 2a6de57 "Check the results of master IP RPCs". This commit
reintroduces them.

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

f73e5568 11/21/2011 10:45 am Michael Hanselmann

Fix QA breakage caused by merge 0e82dcf9

Patch tested and confirmed to work by Andrea Spadaccini
<>.

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

0e82dcf9 11/18/2011 01:48 pm Andrea Spadaccini

Merge branch 'devel-2.5'

  • devel-2.5: (24 commits)
    LUInstanceCreate: Release unused node locks
    htools: rework message display construction
    hbal: handle empty node groups
    Document OpNodeMigrate's result for RAPI
    Ensure unused ports return to the free port pool...
0c1441eb 11/18/2011 12:41 pm Michael Hanselmann

Merge branch 'stable-2.5' into devel-2.5

  • stable-2.5:
    htools: rework message display construction
    hbal: handle empty node groups
    Document OpNodeMigrate's result for RAPI
    Fail if node/group evacuation can't evacuate instances
    LUInstanceRename: Compare name with name...
05c2e624 11/18/2011 12:05 pm Michael Hanselmann

Merge branch 'devel-2.4' into devel-2.5

  • devel-2.4:
    Ensure unused ports return to the free port pool
    Re-wrap a paragraph to eliminate a sphinx warning

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Guido Trotter <>

d29036c1 11/17/2011 03:49 pm Iustin Pop

Warn if we enable maintain-node-health without confd

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

ac2c8bc0 11/17/2011 03:31 pm Michael Hanselmann

LUInstanceCreate: Release unused node locks

After iallocator ran we can release any unused node locks. Since they
must be in exclusive mode this should improve parallelization during
instance creation.

Signed-off-by: Michael Hanselmann <>...

69f0340a 11/17/2011 01:04 pm Michael Hanselmann

cmdlib.TLReplaceDisks: Use itertools.count

… instead of a variable which needs to be incremented for every step.

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

57de31c0 11/16/2011 03:15 pm Agata Murawska

Transition into and out of offline instance state

Signed-off-by: Agata Murawska <>
Reviewed-by: Iustin Pop <>

2e04d454 11/16/2011 03:15 pm Agata Murawska

Introduce admin_state as 3-values data type

Signed-off-by: Agata Murawska <>
Reviewed-by: Iustin Pop <>

9ca8a7c5 11/16/2011 03:15 pm Agata Murawska

Rename admin_up to admin_state

Signed-off-by: Agata Murawska <>
Reviewed-by: Iustin Pop <>

63e6a7f6 11/15/2011 03:00 pm Michael Hanselmann

cmdlib._ReleaseLock: Do nothing if no locks are owned

The locking library doesn't like it when “release()” is called on
a lockset or lock which isn't held by the current thread. Instead
of modifying the library, which could have other side-effects,
this rather simple change avoids errors when a LU simply tries to...

4d4eae2a 11/15/2011 11:52 am Michael Hanselmann

Use resource lock when setting node parameters

Also acquire instance and resource locks in shared mode (see comment).

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

42828156 11/15/2011 11:52 am Michael Hanselmann

Use node resource lock for replacing instance disks

If early-release is not used, the resource lock is kept while waiting
for disks to sync.

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

63742d78 11/15/2011 11:52 am Michael Hanselmann

Hold node resource locks while setting instance parameters

Important for when disks are converted. Release locks once they're not
needed anymore. Make liberal use of assertions.

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

c57add7e 11/15/2011 11:52 am Michael Hanselmann

Hold node resource lock while moving instance

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

d3986702 11/15/2011 11:51 am Michael Hanselmann

Acquire node resource lock when removing instance

Removing an instance affects available disk space and memory.

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

6a752efc 11/15/2011 11:51 am Michael Hanselmann

Use node resource lock when recreating instance disks

Recreating disks conflicts with other disk operations, therefore the
node resource lock must be acquired.

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

a4e588b7 11/15/2011 11:51 am Michael Hanselmann

LUClusterRepairDiskSizes: Use node resource locks

Since this doesn't really touch the node, but it conflicts with e.g.
growing a disk, the resource lock must be acquired.

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

0c3c965a 11/15/2011 11:51 am Michael Hanselmann

LUInstanceGrowDisk: Use node resource lock

Also add one more feedback line. Downgrade instance lock to shared mode
while we're only waiting for disks to sync. The node lock is released
when not needed anymore.

Signed-off-by: Michael Hanselmann <>...

eaee9e3b 11/15/2011 11:51 am Michael Hanselmann

LUInstanceCreate: Hold node resource lock

The node resource lock is released once the disks are in sync (that is,
after wiping).

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

d9d9e0d9 11/15/2011 11:19 am Michael Hanselmann

LUNodeQueryvols: Acquire all locks in shared mode

Nothing is being written to.

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

efcb184e 11/15/2011 11:19 am Michael Hanselmann

LUNodeQueryStorage: Acquire all locks in shared mode

Nothing is written to.

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

aefb66c0 11/15/2011 11:19 am Michael Hanselmann

cmdlib: Share lock in LUInstanceConsole

No writes are being done.

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

d1ad741e 11/15/2011 08:13 am Michael Hanselmann

LUNodeQuery: Call implementation's DeclareLocks function

Just in case we ever add locks for querying nodes. Currently
_NodeQuery's DeclareLocks is a no-op function.

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

57c7bc57 11/14/2011 05:18 pm Andrea Spadaccini

Change master IP address RPCs for external script

Change the master IP address RPC call chain to accept the
use_external_master_ip_script parameter. Introduces an unused parameter
in backend.ActivateMasterIp and backend.DeactivateMasterIp, that will be
used in the next commit....

17b0b812 11/14/2011 05:18 pm Andrea Spadaccini

Update cluster verify to check IP address scripts

Update cluster-verify to check the integrity of the default master IP
address setup script and the presence and executability of the external
one (if currently in use by the cluster).

Signed-off-by: Andrea Spadaccini <>...

bf689b7a 11/14/2011 05:18 pm Andrea Spadaccini

Add --use-external-mip-script flag

- add a command line flag to gnt-cluster init and modify to change the
value of the cluster parameter use_external_mip_script;
- add two constants representing the paths of the default script and of
the external script;...

33be7576 11/14/2011 05:17 pm Andrea Spadaccini

Add use_external_mip_script cluster parameter

Add the use_external_mip_script cluster parameter, that represents
whether the master IP address turnup/turndown procedures must use a
script provided by the user (True) or the one provided by Ganeti
(False)....

f396ad8c 11/14/2011 11:03 am Vangelis Koukis

Ensure unused ports return to the free port pool

Ensure ports previously allocated by calling ConfigWriter's AllocatePort() are
returned to the pool of free ports when no longer needed:

  • Return the network_port of an instance when it is removed
  • Return the port used by a DRBD-based disk when it is removed...
d755483c 11/08/2011 04:06 pm Michael Hanselmann

Fail if node/group evacuation can't evacuate instances

If an instance can't be evacuated, only a message would be printed. With
this change the operation always aborts. Newly added unittests check for
this behaviour.

Signed-off-by: Michael Hanselmann <>...

cc19798f 11/07/2011 07:32 pm Michael Hanselmann

LUNodeSetParams: Lock affected instances only

Until now LUNodeSetParams would lock all instances if a node's
secondary IP address was to be changed and would then release
all instances it didn't actually need. With this patch the LU
optimistically locks instances and, once it got the locks,...

212a7fcd 11/07/2011 07:32 pm Michael Hanselmann

Check BGL when adding/removing node

Signed-off-by: Michael Hanselmann <>
Reviewed-by: René Nussbaumer <>

9e6014b9 11/07/2011 04:32 pm Andrea Spadaccini

Improve error handling in netmask change

- check if the master IP with the old netmask is up before attempting to
change the netmask (to avoid a failed change netmask resulting in an
undesired activation of the master IP);
- improve error messages of the backend function;...

fb2865ae 11/04/2011 11:19 am Michael Hanselmann

LUInstanceRename: Compare name with name

… instead of object with name.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: René Nussbaumer <>

cdde200a 11/04/2011 08:08 am Michael Hanselmann

LUClusterRepairDiskSizes: Acquire instance locks in exclusive mode

Instances are modified if their disk size doesn't match.

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

1986b21f 11/03/2011 06:39 pm Michael Hanselmann

cmdlib: Allow specifying lock level when calculating node locks

This is needed to lock node resources.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Guido Trotter <>

c79198a0 11/03/2011 04:39 pm Andrea Spadaccini

Pass MasterNetworkParameters instances in RPCs

Pass instances of objects.MasterNetworkParameters when calling RPCs for
activation and deactivation of master IP.

Signed-off-by: Andrea Spadaccini <>
Reviewed-by: Guido Trotter <>

f9d20654 11/03/2011 04:39 pm Andrea Spadaccini

Use MasterNetworkParameters attributes for RPC

Instead of manually unpacking the return values of
cfg.GetMasterNetworkParameters, let it return an instance of
objects.MasterNetworkParameters and pass its attributes.

Signed-off-by: Andrea Spadaccini <>...

91ae95fd 11/03/2011 04:39 pm Andrea Spadaccini

Uniform master IP activation and deactivation

Add the master IP family parameter to the master IP deactivation RPCs,
so that the activation and deactivation interfaces are uniform.

Signed-off-by: Andrea Spadaccini <>
Reviewed-by: Guido Trotter <>

41e079ce 11/02/2011 03:03 pm Andrea Spadaccini

Explicitly pass params to change_master_netmask

Make the master explicitly pass the parameters to the
change_master_netmask RPC, and change all the call flow to use the new
interface.

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

96e0d5cc 11/02/2011 03:03 pm Andrea Spadaccini

Explicitly pass params to deactivate_master_ip

Make the master explicitly pass the parameters to the
deactivate_master_ip RPC, and change all the call flow to use the new
interface.

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

8da2bd43 11/02/2011 03:03 pm Andrea Spadaccini

Explicitly pass params to activate_master_ip

To remove the usage of ssconf in the backend, the master needs to push
the parameters of activate_master_ip to the backend.

This patch changes the entire call path of activate_master_ip to use the
new interface....

2a6de57a 11/01/2011 09:21 pm Andrea Spadaccini

Check the results of master IP RPCs

A failed gnt-cluster (de)activate-master-ip would not produce any output
to the user. This patch adds code that checks for the results of the
RPCs and raise an exception if appropriate.

Signed-off-by: Andrea Spadaccini <>...

da124e89 11/01/2011 09:07 pm Andrea Spadaccini

Generalize HooksMaster

- remove any dependence on Logical Units from the HooksMaster;
- add a new function parameter to the constructor, a function that is
expected to convert the results of the hooks execution in a format
understood by the HooksMaster;...

949dcb1d 11/01/2011 08:37 pm Andrea Spadaccini

Generalize HooksMaster

- remove any dependence on Logical Units from the HooksMaster;
- add a new function parameter to the constructor, a function that is
expected to convert the results of the hooks execution in a format
understood by the HooksMaster;...

7dcf333d 10/31/2011 05:54 pm Michael Hanselmann

Merge branch 'devel-2.5'

  • devel-2.5:
    Fix wrong headers and licences
    Update NEWS and increase to 2.4.5
    Fix parameters of RpcResult in hooks unit tests
    Fix a too long line.
    Move RenameFile to the new functions
    ensure_dirs: Move some useful functions into utils....
7e5a72a0 10/28/2011 05:34 pm Michael Hanselmann

cmdlib: Fix issue when marking node as online

When a node is marked as online (“gnt-node modify -O no …”), an RPC is
made to the node to check whether the node daemon is running. My recent
RPC changes led to offline nodes being ignored before the actual call is...

68959ca5 10/26/2011 11:53 am Michael Hanselmann

rpc: Convert call for HV parameter validation

Instead of filling the parameters in the RPC layer, that is now done
before the wrapper is called, thereby simplifying the wrapper.

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

c4de9b7a 10/26/2011 11:53 am Michael Hanselmann

rpc: Convert two more instance-specific calls

Interface changes were necessary as these took more parameters than were
actually passed over the wire. Those parameters were just passed to the
instance serialization function.

Signed-off-by: Michael Hanselmann <>...

59da826f 10/26/2011 10:06 am Michael Hanselmann

cmdlib: Use constant for DRBD meta device size

… instead of a hardcoded value.

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

c5a8b0eb 10/24/2011 08:02 pm Michael Hanselmann

Fix parameters to RPC "os_validate"

All other RPC wrappers take the node name(s) as the first parameter.

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

97298dc9 10/21/2011 04:16 pm René Nussbaumer

Merge branch 'stable-2.5' into devel-2.5

Signed-off-by: René Nussbaumer <>
Reviewed-by: Michael Hanselmann <>

73ebb9ff 10/20/2011 04:30 pm Guido Trotter

Merge branch 'devel-2.5'

  • devel-2.5:
    Allow per-hypervisor optional files
    Add hypervisors ancillary files list
    xen: abstract a few hardcoded strings as constants

Conflicts:
lib/cmdlib.py
- trivial

Signed-off-by: Guido Trotter <>...

0ad1ea40 10/20/2011 03:04 pm Guido Trotter

Allow per-hypervisor optional files

Rather than just allowing files for all nodes to be optional, we allow
optional files to be per-category. The way this works is that they must
be included in both lists (the new code checks for this).

The code also removes a duplicate assert (present both in verify and...

69ab2e12 10/20/2011 03:04 pm Guido Trotter

Add hypervisors ancillary files list

These lists will be used to declare some of the files not necessarily
needed on all nodes. The files selected are files without which the
various hypervisors can still work, but that when they are present
should be synchronized across the cluster (or node group)....

da4fd3b0 10/20/2011 12:32 pm Guido Trotter

Upload spice files in redist-conf

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

6973587f 10/19/2011 12:47 pm Michael Hanselmann

OpGroupVerifyDisks: Fix wrong result type declaration

If an instance had actually a missing disk, the type check would fail.

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

2e5c33db 10/12/2011 02:01 pm Iustin Pop

Rename filter and filter_ to qfilter

We currently use 'filter' as the OpCode, QueryRequest and RAPI field
name for representing a query filter. However, since 'filter' is a
built-in function, we actually have to use filter_ throughout the code
in order to not override the built-in function....

3ac3f5e4 10/07/2011 02:19 pm Andrea Spadaccini

Add error codes documentation

lib/constants.py
  • add to each CV_E* tuple the documentation of the error code
  • add the DOCUMENTED_CONSTANTS constant for the doc preprocessor
autotools/docpp
  • add a new directive class CONSTANTS_<kind>, that gets data from...
980d1330 10/05/2011 03:17 pm Andrea Spadaccini

Demote to warnings the errors in --ignore-errors

Treat the gnt-cluster verify errors identified by the error codes in
--ignore-errors as warnings; just print a warning message for the user.

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

93f2399e 10/05/2011 03:17 pm Andrea Spadaccini

Add --ignore-errors parameter to cluster verify

lib/cli.py
- add IGNORE_ERROR_OPT;

client/gnt_cluster.py
- pass the ignore_errors parameter to the opcodes

lib/opcode.py
- update OpClusterVerifyConfig, OpClusterVerify and OpClusterVerifyGroup
to accept the ignore_errors parameter...

eedf99b5 10/05/2011 03:17 pm Andrea Spadaccini

Move cluster verify error codes to constants

- move the cluster verify error codes from cmdlib._VerifyErrors to
constants;
- add to each of them the CV (Cluster Verify) prefix;
- add the CV_ALL_ECODES and CV_ALL_ECODES_STRINGS constants;
- wrap the lines that exceed 80 characters after changing the error...

5a8648eb 10/05/2011 12:05 pm Andrea Spadaccini

Add cluster netmask parameter

Add the master_netmask cluster parameter, that represents the netmask of
the master IP, encoded as a CIDR suffix.

This parameter can be set via the --master-netmask of gnt-cluster init
and gnt-cluster modify. The default behaviour is to be consistent with...

ea9c753d 10/04/2011 09:34 pm Andrea Spadaccini

Merge branch 'devel-2.5'

  • devel-2.5:
    cluster-merge: log an info message at node readd
    Bump version to 2.5.0~rc1
    Fix issue when verifying cluster files
    Revert "utils.log: Write error messages to stderr"
    Fix adding nodes after commit 64c7b3831dc...
a080bab8 10/04/2011 09:32 pm Andrea Spadaccini

Merge branch 'stable-2.5' into devel-2.5

Signed-off-by: Andrea Spadaccini <>
Reviewed-by: René Nussbaumer <>

170b02b7 10/04/2011 11:33 am Michael Hanselmann

Fix issue when verifying cluster files

If a cluster has any non-master-candidate nodes, those don't contain all
files (e.g. config.data). With commit aef59ae764dc (March 31st, 2011)
the logic was changed and subsequently verifying a cluster with non-mc
nodes would complain....

ca6b16e5 10/03/2011 01:52 pm Michael Hanselmann

Fix adding nodes after commit 64c7b3831dc

Commit 64c7b3831dc changed the RPC call for verifying SSH connections.
Unfortunately this case in adding nodes was missed.

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

64c7b383 09/30/2011 07:04 pm Michael Hanselmann

LUClusterVerifyGroup: Spread SSH checks over more nodes

When verifying a group the code would always check SSH to all nodes in
the same group, as well as the first node for every other group. On big
clusters this can cause issues since many nodes will try to connect to...

3398bff1 09/30/2011 06:23 pm Andrea Spadaccini

Merge branch 'devel-2.5'

  • devel-2.5:
    Use --yes to deactivate master ip in cluster merge
    Use deactivate-master-ip in cluster-merge
    Add gnt-cluster commands to toggle the master IP
    Split starting and stopping master IP and daemons
    listrunner: Don't pass arguments if there are none...
cea3abbd 09/30/2011 05:45 pm Andrea Spadaccini

Merge branch 'stable-2.5' into devel-2.5

  • stable-2.5:
    listrunner: Don't pass arguments if there are none
    ssh: Quote strings in error message
    utils.log: Write error messages to stderr
    Add signal handling doc to hbal man page
    Fix handling of cluster verify hooks...
fb44c6db 09/30/2011 03:43 pm Andrea Spadaccini

Add gnt-cluster commands to toggle the master IP

lib/client/gnt_cluster.py:
  • Add activate-master-ip and deactivate-master-ip commands
man/gnt-cluster.rst:
  • Document the new commands
lib/opcodes.py lib/cmdlib.py
  • Add two opcodes and the LU that call the relevant RPCs...
c06e0c83 09/30/2011 03:42 pm Andrea Spadaccini

Split starting and stopping master IP and daemons

lib/backend.py
  • split StartMaster() in ActivateMasterIp() and StartMasterDaemons()
  • split StopMaster() in DeactivateMasterIp() and StopMasterDaemons()
lib/server/noded.py, lib/rpc.py
  • adapt the call chains to the new functions, define new RPCs...
fb926117 09/30/2011 02:06 pm Andrea Spadaccini

Add gnt-cluster commands to toggle the master IP

lib/client/gnt_cluster.py:
  • Add activate-master-ip and deactivate-master-ip commands
man/gnt-cluster.rst:
  • Document the new commands
lib/opcodes.py lib/cmdlib.py
  • Add two opcodes and the LU that call the relevant RPCs...
fb460cf7 09/30/2011 02:05 pm Andrea Spadaccini

Split starting and stopping master IP and daemons

lib/backend.py
  • split StartMaster() in ActivateMasterIp() and StartMasterDaemons()
  • split StopMaster() in DeactivateMasterIp() and StopMasterDaemons()
lib/server/noded.py, lib/rpc.py
  • adapt the call chains to the new functions, define new RPCs...
61643226 09/29/2011 12:41 pm Andrea Spadaccini

Add memory transfer progress info to migration

  • hypervisor/hv_kvm.py
    - parse the memory transfer status
  • cmdlib.py
    - represent memory transfer info, if available

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

6a1434d7 09/29/2011 12:41 pm Andrea Spadaccini

Make migration RPC non-blocking

To add status reporting for the KVM migration, the instance_migrate RPC
must be non-blocking. Moreover, there must be a way to represent the
migration status and a way to fetch it.

  • constants.py:
    - add constants representing the migration statuses...
34fbc862 09/28/2011 02:34 pm Andrea Spadaccini

Migration: warn the user about hv version mismatch

  • hv_kvm.py, hv_xen.py
    - return the hypervisor version (if available) from GetNodeInfo
  • cmdlib.py
    - if hypervisor version is available during the migration, and the
    versions differ, warn the user...
3656c889 09/28/2011 02:27 pm Iustin Pop

Fix handling of cluster verify hooks

The change to enforce boolean results for cluster verify group opcode
missed the HooksCallBack, which uses a very ugly 1/0
logic. Furthermore, the logic is wrong, since it unconditionally
resets the verify result to true....

835f8b23 09/28/2011 12:13 pm Iustin Pop

Redistribute the RAPI certificate

This reverts to the old behaviour in Ganeti 2.4 and before.

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

5916e61a 09/20/2011 06:50 pm Andrea Spadaccini

Merge branch 'devel-2.5'

  • devel-2.5:
    Add tls_ciphers and use_vdagent options
    Updated man pages with new SPICE TLS options
    Implementation of TLS-protected SPICE connections
    Added SPICE TLS option and related cert paths
    Fix OS creation's error handling when pausing sync...
fac30cea 09/20/2011 04:35 pm Faidon Liambotis

Fix OS creation's error handling when pausing sync

Commit 41e1e79 introduced a feature in which when wait_for_sync is not
set, DRBD sync is paused during the OS installation.

Doing so, however, broke OS creation's error handling: the result value
from the instance_os_add RPC call was overwritten by the one of the...

e4f4896b 09/15/2011 04:40 pm Guido Trotter

Merge branch 'devel-2.5'

  • devel-2.5: (33 commits)
    htools: remove dead code
    hail: don't select the primary as new secondary
    hail: add an extra safety check in relocate
    Fix RAPI documentation for gnt-instance console
    Add SPICE compression and streaming options...
25993e57 08/31/2011 01:58 pm Tsachy Shacham

cmdlib: Support for CPU pinning

Signed-off-by: Tsachy Shacham <>
Reviewed-by: Michael Hanselmann <>

ab5f0e96 08/31/2011 11:42 am Agata Murawska

Fix for auto parameters on import

Signed-off-by: Agata Murawska <>
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)....

fe00ccef 08/26/2011 05:33 pm Michael Hanselmann

Merge branch 'devel-2.5'

  • devel-2.5:
    Delete master IPs from mergee master nodes
    Use pep8 utility in “make lint”
    Two more PEP8 fixes
    check-python-code: Give location(s) of lines longer than 80 chars

Signed-off-by: Michael Hanselmann <>...