Statistics
| Branch: | Tag: | Revision:

root / lib @ ee14d800

# Date Author Comment
ee14d800 10/27/2011 09:52 pm Michael Hanselmann

config: Add unlocked function to get all node objects

This will be used for resolving node names.

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

4fbe3851 10/26/2011 11:53 am Michael Hanselmann

rpc: Remove _Static* and other unused functions

These are no longer needed.

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

415a7304 10/26/2011 11:53 am Michael Hanselmann

rpc: Convert last two calls to generated code

These two calls, “upload_file” and “write_ssconf_files” are treated
separated as they're used by the configuration, where we can't use the
normal resolver.

There's still some duplicated code in rpc.py, but that will be taken...

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

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

Move bootstrap-related RPC to generated wrappers

With this patch, only 6 RPC are left as old-style code.

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

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

Convert job queue's RPC to generated code

With these changes job queue RPC will finally show up on the lock
monitor. See below for an example. A job queue-specific class is used to
restrict the use of a static list for name resolution to the job queue.
Further improvements can be made to not re-create the whole RPC client...

46c293f0 10/26/2011 11:53 am Michael Hanselmann

rpc: Convert wrappers for starting import/export daemons

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

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

rpc: Convert storage-related calls

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

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

rpc: Convert blockdev-related calls

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

2effde8d 10/26/2011 11:53 am Michael Hanselmann

rpc: Convert instance-related calls

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

0436da49 10/26/2011 11:53 am Michael Hanselmann

rpc: Convert misc calls

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

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

rpc: Convert file-storage-related calls

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

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

rpc: Convert node-related calls

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

4522a96d 10/26/2011 11:53 am Michael Hanselmann

rpc: Convert OS-related calls

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

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

rpc: Convert X509 calls

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

9834e2bc 10/26/2011 11:52 am Michael Hanselmann

rpc: Convert import/export functions

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

efc71a02 10/26/2011 11:51 am Michael Hanselmann

rpc: Add helpers

These will be used by the generated RPC wrappers.

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

200de241 10/26/2011 11:51 am Michael Hanselmann

rpc: Add support for generated RPC wrappers

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

033684dd 10/26/2011 11:51 am Michael Hanselmann

Add RPC definitions

These will be used for replacing the tons and tons of boilerplate code
in rpc.py.

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

d565f83f 10/26/2011 11:51 am Michael Hanselmann

rpc_definitions: Add helpers

These helpers will be used to convert incoming parameters to
JSON-compatible types.

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

83e7af18 10/26/2011 11:51 am Michael Hanselmann

rpc: Disable timeout check

This is in preparation for the definition-based RPC model, where
the timeout will be stored within the definition.

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

d5a2a550 10/26/2011 11:51 am Michael Hanselmann

Add script to generate RPC wrappers

A new script, “autotools/build-rpc”, will be used to generate code for
RPC client wrappers. This is done because “lib/rpc.py” contains lots and
lots of boilerplate code. Forthcoming patches will start converting
RPC wrappers....

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

8a31717c 10/24/2011 08:02 pm Michael Hanselmann

Fix parameters to RPC "blockdev_rename"

Before this patch it would take a variable number of arguments, which
isn't very good for a definition-based approach.

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

5fe4a65b 10/24/2011 03:50 pm Michael Hanselmann

Un-revert comments in utils.mlock

These updates and clarifications are still useful.

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

ee8fd7b7 10/24/2011 03:50 pm Michael Hanselmann

Remove “node_tcp_ping” RPC

It is not used anywhere.

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

dce20078 10/24/2011 03:49 pm Michael Hanselmann

utils.ShellWriter: Don't indent empty lines

Empty lines shouldn't get indented. Unittest included.

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

bac6ea51 10/21/2011 01:58 pm Michael Hanselmann

http.client: Remove use of PycURL's “reset” function

We don't re-use cURL objects anymore, so there's no need to reset them.
PycURL 7.19.0 has a reference counting bug leading to a crash after
a certain number of performed requests.

Since a unittest depended on this function for a test, it is replaced...

e68949b0 10/20/2011 06:21 pm Agata Murawska

ovfconverter: use qemu-img path from constants

Signed-off-by: Agata Murawska <>
Reviewed-by: Guido Trotter <>

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

487895ed 10/20/2011 03:14 pm Agata Murawska

Fix for buildbot pylint failure

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

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

22d568c2 10/20/2011 03:04 pm Guido Trotter

xen: abstract a few hardcoded strings as constants

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

a002ed79 10/20/2011 02:25 pm Agata Murawska

Check for qemu-img in configure and Makefile

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

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

Upload spice files in redist-conf

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

8dc76d54 10/20/2011 12:22 pm Guido Trotter

Revert "Rename utils.mlock to utils.cfunc"

The rename is not needed either, since we're not adding more code as of
now.
This reverts commit 57ca011e1cd2681948969724e2646edaac22da28.

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

142c1ad0 10/20/2011 12:22 pm Guido Trotter

Revert "utils.cfunc: Cleanup, more flexibility"

We discussed that this is not needed right now, and it breaks existing
functionality and unittests.

This reverts commit 6915fe26da8dce41fc967d761f005390aa956161.

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

d6f8db24 10/20/2011 11:58 am Guido Trotter

Fix unittest failures with python 2.7

In python 2.7 the ovf unittests fail because OVFReader expects
ElementTree.parse() of an erroneous document to throw an
xml.parsers.expat.ExpatError while instead it throws an
ElementTree.ParseError.

The solution is to "except" for both errors, with the catch that...

8b8f54dd 10/18/2011 06:10 pm Guido Trotter

Merge branch 'devel-2.5'

  • devel-2.5:
    Revert "rapi.client.ModifyNode should PUT rather than POST"
    - also fix the actual call, which was merged as PUT in master by
    mistake.

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

e366273a 10/18/2011 06:05 pm Guido Trotter

Revert "rapi.client.ModifyNode should PUT rather than POST"

This was a mistake on my side because ModifyGroup and ModifyInstance
were PUT, and I was not aware of the discussion and the rationale why
this one had to be POST.

This reverts commit 55ef0cf6497c570aaab9413851435a7ee744222e....

9849cec7 10/18/2011 05:21 pm Guido Trotter

Revert "Added SPICE TLS option and related cert paths"

This reverts commit bfe86c763a9ff1b481d799537ff0f0cf6740dfd1.
This commit will be readded on master.

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

0aee8ee9 10/18/2011 05:21 pm Guido Trotter

Revert "Implementation of TLS-protected SPICE connections"

This reverts commit b6267745ede04b3c943bc02e004bdb9347e0f564.
This commit will be readded on master.

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

53328375 10/18/2011 05:21 pm Guido Trotter

Revert "Add tls_ciphers and use_vdagent options"

This reverts commit 3e40b5879fa0070d6dd0e689dcfc31f20198a5a8.
This commit will be readded on master.

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

682878d9 10/18/2011 04:00 pm Guido Trotter

Merge branch 'devel-2.5'

  • devel-2.5:
    rapi.client.ModifyNode should PUT rather than POST
    Fix RAPI node modify client and server calls
    xen: changes to facilitate "xl" support (xen 4.1)
    xen: abstract instance config file naming
    Abstract xen's 'xm' command as a constant...
55ef0cf6 10/18/2011 03:56 pm Guido Trotter

rapi.client.ModifyNode should PUT rather than POST

This was caught (albeit in a sibylline manner) by unittests on master
which are not present in 2.5.

Signed-off-by: Guido Trotter <>
Reviewed-by: René Nussbaumer <>

370f2042 10/18/2011 01:45 pm Guido Trotter

Fix RAPI node modify client and server calls

rapi.client.ModifyNode accepts a "group" and not a "node" param.
(this bug is invisible but still not nice)

rlib2.R_2_nodes_name_modify submits the opcode with instance_name rather
than node_name as a param. This would break the call....

6555373d 10/17/2011 06:39 pm Guido Trotter

xen: changes to facilitate "xl" support (xen 4.1)

- Copy the xl config file, in case there's any
- Start instances by config file, not name (also xm compatible)
- Start paused domains with p and not --paused (also xm compatible)
Add a fixme for migration (changes are not xm compatible)...

c2be2532 10/17/2011 06:39 pm Guido Trotter

xen: abstract instance config file naming

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

2876c2d6 10/17/2011 06:39 pm Guido Trotter

Abstract xen's 'xm' command as a constant

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

6915fe26 10/17/2011 06:05 pm Michael Hanselmann

utils.cfunc: Cleanup, more flexibility

- Split code using ctypes directly into a helper class
- Don't load “libc.so.6”, but use handle for main program instead (see
comment in code)
- Clarify comment on errno with older ctypes versions
- Rename unittest since it can't be used for other functions (modifies...

57ca011e 10/17/2011 06:05 pm Michael Hanselmann

Rename utils.mlock to utils.cfunc

Renaming so that more code using ctypes could be added to the same file.

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

8de8e68d 10/13/2011 05:40 pm Michael Hanselmann

rapi: Allow auto-promotion on node role change

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

94497dd1 10/13/2011 05:40 pm Michael Hanselmann

rapi: Add resource for modifying node

A separate patch will add “auto-promote” through
“/2/nodes/[node_name]/role”.

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

b3d2ee31 10/13/2011 05:40 pm Michael Hanselmann

opcodes: Add comment to *SetParams result description

Explicitely say that the second element of the tuple is the new value.

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

b8d51bb2 10/13/2011 05:40 pm Michael Hanselmann

constants: Verify exported names

The “constants” module is a bit special in the sense that we don't want
to export random stuff from it. This unittest checks the naming
convention and removes imported modules from the module's namespace.

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

abbf2cd9 10/13/2011 03:22 pm Michael Hanselmann

http.client: Remove HTTP client pool code

This patch removes all remains of the HTTP client pool. Newly added unittests
provide 96% coverage on http.client.

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

7071e725 10/13/2011 03:22 pm Michael Hanselmann

rpc: Remove thread-local storage with HTTP pool

The HTTP pool is no longer used.

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

00976304 10/12/2011 02:51 pm Michael Hanselmann

Merge branch 'devel-2.5'

  • devel-2.5:
    rpc: Disable HTTP client pool and reduce memory consumption
    Preserve bridge MTU in KVM ifup script
    hail: Fix result for node evacuation
    Fix assertion error on unclean master shutdown

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

727274dd 10/12/2011 02:36 pm Iustin Pop

Tiny optimisation related to filter parsing

Currently, we get a luxi Client, then parse the filter, then execute
the query. If parsing the filter fails, we connected to the masterd
needlessly.

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

5b0ac1a5 10/12/2011 02:35 pm Michael Hanselmann

Merge branch 'stable-2.5' into devel-2.5

  • stable-2.5:
    rpc: Disable HTTP client pool and reduce memory consumption
    hail: Fix result for node evacuation
    Fix assertion error on unclean master shutdown

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

a629ecb9 10/12/2011 02:01 pm Iustin Pop

Standardise LUXI call argument types

Currently, we have 4 types of arguments in LUXI calls:

- most common, a list of values
- a single argument that is sent as a list of one element
- a single argument that is sent by itself
- a dictionary (only Query and QueryFields)...

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

58f6738c 10/12/2011 02:01 pm Michael Hanselmann

Merge branch 'devel-2.4' into stable-2.5

  • devel-2.4:
    rpc: Disable HTTP client pool and reduce memory consumption
    Fix assertion error on unclean master shutdown

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

05927995 10/12/2011 01:56 pm Michael Hanselmann

rpc: Disable HTTP client pool and reduce memory consumption

We noticed that “ganeti-masterd” can use large amounts of memory,
especially on large clusters. Measurements showed a single PycURL client
using about 500 kB of heap memory (the actual usage depends on versions,...

9888b9e6 10/07/2011 08:02 pm Andrea Spadaccini

Don't send gratuitous ARP if master IP setup fails

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

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...
12637df5 10/07/2011 02:19 pm Andrea Spadaccini

Generalize docpp and sphinx_ext

autotools/docpp
  • handle generic custom directives in the form <class>_<kind>
  • adapt handling of query fields
build/sphinx_ext.py
  • add the BuildValuesDoc function to output definitions using the sphinx
    syntax that was already used for query fields...
fa337742 10/05/2011 06:30 pm Agata Murawska

Fixes for ovfconverter + vmware

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

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

909b3a0e 10/05/2011 02:48 pm Andrea Spadaccini

Restore backend.GetMasterInfo return values order

Change 5a8648eb609f7e3a8d7ad7f82e93cfdd467a8fb5 changed the order of the
return values of backend.GetMasterInfo(). This broke the users of the
master_info RPC.

This change restores the original order, and adds a comment in...

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

7df2c4f0 10/05/2011 12:05 pm Andrea Spadaccini

Add ValidateNetmask and GetClass IPAddress methods

Add the following methods to netutils.IPAddress:
  • ValidateNetmask
  • GetClassFromIpVersion
  • GetClassFromIpFamily

Also, add related tests to the test suite.

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

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

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

Revert "utils.log: Write error messages to stderr"

This reverts commit 34aa8b7c4bb6f5e2e788108e024c9cd70bdb3431. Writing
error messages to stderr would also include backtraces, something we
tried to avoid in the past.

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

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

11705e3d 09/30/2011 06:47 pm Iustin Pop

Optimise cli.JobExecutor with many pending jobs

In the case we submit many pending jobs (> 100) to the masterd, the
JobExecutor 'spams' the master daemon with status requests for the
status of all the jobs, even though in the end it will only choose a
single job for polling....

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...
9dc45ab1 09/30/2011 01:10 pm Michael Hanselmann

ssh: Quote strings in error message

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

34aa8b7c 09/30/2011 01:10 pm Michael Hanselmann

utils.log: Write error messages to stderr

When “gnt-cluster copyfile” failed it would only print “Copy of file …
to node … failed”. A detailed message is written using logging.error.
Writing error messages to stderr can be helpful in figuring out what
went wrong (the messages also go to the log file, but not everyone might...

60af751d 09/29/2011 12:41 pm Andrea Spadaccini

Adapt non-KVM hypervisors to new migration RPCs

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

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...
f8326fca 09/29/2011 12:41 pm Andrea Spadaccini

Move _TimeoutExpired to utils

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

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

90b2eeb0 09/28/2011 01:15 pm Michael Hanselmann

http.client: Show pending requests as “owner”

In the context of the lock monitor a “pending” item does not yet own the
requested resource. Since these HTTP requests are already undergoing
they should be shown as owners.

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

7cb2d205 09/28/2011 01:15 pm Michael Hanselmann

http.client: Add nice name to requests

With this change a node name instead of the IP address can be shown for
pending RPC requests:
Name Pending
rpc/node18.example.com/test_delay thread:Jq1/Job692/TEST_DELAY

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