Statistics
| Branch: | Tag: | Revision:

root @ 6915fe26

# Date Author Comment
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 <>

6b898285 10/14/2011 01:37 pm Iustin Pop

Add design doc for virtual(ised) clusters

I am currently able to run a 2-node virtual cluster on my machine,
with a very ad-hoc setup. But the results show clearly that this is
doable, and that given the right tools, setting up such a cluster will
be quite easy....

ef958f2a 10/14/2011 01:37 pm Iustin Pop

Document some useful Haskell tips

This improves devnotes.rst with some tricks for Haskell development,
and additionally it does two Makefile improvements:

- properly document lib/_vcsversion.py as a requirement for
Constants.hs (but do not require rebuild when updated)...

e86f7f65 10/14/2011 01:37 pm Iustin Pop

Further cleanup in hspace

This moves the checking of results from the allocation functions to a
separate function, so that we have less code duplication. It also does
a bit of simplification in the printing functions.

Signed-off-by: Iustin Pop <>...

5296ee23 10/14/2011 01:37 pm Iustin Pop

A bit of cleanup in hspace

The node offline/mcpu is identical to hbal's setNodesStatus, so let's
move that to CLI.hs and reuse it in hspace (also, rename it and drop
one 's').

Also, the check for the number of nodes is obsolete, as we compute
that from the disk template....

7eda951b 10/14/2011 01:37 pm Iustin Pop

Add a type synonym for the allocation function sig

Both iterateAlloc and tieredAlloc share the same signature, but it's
not documented nor exported (needed for refactoring).

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

d12f50b2 10/14/2011 01:37 pm Iustin Pop

htools: Simplify Luxi query results parsing

The logic is not entirely correct—the new Query interface exports the
field status, and we don't use that yet. But the new code should be
more readable.

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

b20cbf06 10/14/2011 01:37 pm Iustin Pop

Adjust htools code to new Luxi argument format

This partially undoes commit 92678b3, more specifically it removes the
Store data type and the associated code, since all Luxi arguments are
now lists.

Furthermore, since the qfilter field on Query is complex (it's...

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

92678b3c 10/12/2011 11:47 am Iustin Pop

Haskell support for generic Query in Luxi

Untill now htools did not have support for generic Query in Luxi. This
patch introduces Query as a supported Luxi operation and replaces
QueryNodes, QueryInstances and QueryGroups with Query.

Signed-off-by: Agata Murawska <>...

9d74cb04 10/12/2011 11:47 am Agata Murawska

TH simplification for Luxi

This patch simplifies the generation of save constructors for LuxiOp
by always using showJSON over an array of JSValues, instead of having
to pass showJSON in most cases, except the 5-tuple case.

Signed-off-by: Agata Murawska <>...

05ff7a00 10/12/2011 10:49 am Agata Murawska

Dots in docstings and hlint error fixes for htools

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

d85f01e7 10/12/2011 10:25 am Iustin Pop

Add design doc for the resource model changes

This is not complete, but is as close as I can get it for now. I
expect people actually implementing the various changes to extend the
design doc.

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

a1ec8695 10/11/2011 05:38 pm Andrea Spadaccini

Preserve bridge MTU in KVM ifup script

Closes: #201 - KVM_IFUP does not set bridge-MTU on tap devices
Signed-off-by: Andrea Spadaccini <>
Reviewed-by: Iustin Pop <>
Reviewed-by: Michael Hanselmann <>

e19ee6e4 10/11/2011 11:25 am Iustin Pop

Remove the oneline output option in hbal

This was, AFAIK, never used, and complicates the output code enough
that it's better to remove it.

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

5dad2589 10/11/2011 11:24 am Iustin Pop

Rework/split hbal's main function

This is just moving code around. A subsequent patch will do a bit more
cleanup and changing the output.

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

60de49c3 10/11/2011 11:23 am Iustin Pop

Skip application of 'id' in TH code

This is just beautification when dumping splices to stdout, as ghc
will optimise the 'id' away anyway.

Original generate code:

opToArgs QueryTags kind name = J.showJSON (id kind, id name)

Afterwards:

opToArgs QueryTags kind name = J.showJSON (kind, name)...
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 <>

830fc5da 10/07/2011 02:19 pm Andrea Spadaccini

Document --ignore-errors and --error-codes

Update the man page of gnt-cluster to contain the documentation of the
--ignore-errors and --error-codes verify options. Also, include the list
of the error codes and their documentation.

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

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...
1ab94e48 10/07/2011 01:00 pm Michael Hanselmann

hail: Fix result for node evacuation

According to the iallocator documentation the “node-evacuate” call needs
to return a list of jobs, not a list of lists of jobs.

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

a0090487 10/06/2011 11:21 am Agata Murawska

Use TemplateHaskell to create LUXI operations

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

a17deeab 10/05/2011 06:30 pm Agata Murawska

Documentation update for ovfconverter

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

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

419bb2ef 10/04/2011 09:12 pm Guido Trotter

cluster-merge: log an info message at node readd

node readd can take a long time, it's good to have info messages to see
progress.

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

07cea902 10/04/2011 04:10 pm Michael Hanselmann

Bump version to 2.5.0~rc1

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

9822b1dd 10/04/2011 11:35 am Iustin Pop

Fix Makefile rules for QCHelper.hs

Include QCHelper.hs in the distributed files, and also exclude it and
the THH.hs file from coverage reports.

Signed-off-by: Iustin Pop <>
Reviewed-by: Andrea Spadaccini <>

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

53664e15 10/03/2011 12:17 pm Iustin Pop

Some TH simplifications

Now that the basic code works, let's use some aliases for simpler code
and less ))))))))).

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

72bb6b4e 10/03/2011 12:17 pm Iustin Pop

A few minor test improvements

This patch adds a few niceties to the test suite:

- allows matching test groups case insensitive and emit warnings when
we give test group names that don't match anything
- add a new operator that is similar to assertEqual in Python: it...

23fe06c2 10/03/2011 12:17 pm Iustin Pop

Use TemplateHaskell to decorate tests with names

This makes error message change from "Test 4 failed …" to "Test
prop_Loader_mergeData failed", which is much more readable. It also
removes the duplication of test suite names in the test.hs file.

Signed-off-by: Iustin Pop <>...

12c19659 10/03/2011 12:17 pm Iustin Pop

Use TemplateHaskell to generate opcode serialisation

This replaces the hand-coded opcode serialisation code with
auto-generation based on TemplateHaskell.

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

6111e296 10/03/2011 12:17 pm Iustin Pop

Use TemplateHaskell to build the opID function

This replaces the hand-coded opID with one automatically generated
from the constructor names, similar to the way Python does it, except
it's done at compilation time as opposed to runtime.

Again, the code line delta does not favour this patch, but this...

e9aaa3c6 10/03/2011 12:17 pm Iustin Pop

Use TemplateHaskell instead of hand-coded instances

This patch replaces the current hard-coded JSON instances (all alike,
just manual conversion to/from string) with auto-generated code based
on Template Haskell
(http://www.haskell.org/haskellwiki/Template_Haskell)....

2c9336a4 10/03/2011 12:17 pm Iustin Pop

Rename some helper functions for consistency

This changes the names for some helper functions so that future
patches are touching less unrelated code. The change replaces
shortened prefixes with the full type name.

Signed-off-by: Iustin Pop <>...

f047f90f 10/03/2011 12:16 pm Iustin Pop

Split part of Utils.hs into JSON.hs

Utils is a bit big, let's split the JSON stuff (not all of it) into a
separate module that doesn't have any other dependencies.

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

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...
aeb24d97 09/30/2011 04:37 pm Guido Trotter

Use --yes to deactivate master ip in cluster merge

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

a3fad332 09/30/2011 03:43 pm Andrea Spadaccini

Use deactivate-master-ip in cluster-merge

Use the gnt-cluster deactivate-master-ip command in cluster-merge to
disable the master IP.

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

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...
e87e5afb 09/30/2011 02:06 pm Andrea Spadaccini

Use deactivate-master-ip in cluster-merge

Use the gnt-cluster deactivate-master-ip command in cluster-merge to
disable the master IP.

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

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

listrunner: Don't pass arguments if there are none

If no arguments were specified the “exec_args” variable was “None”,
leading to the command being run as “… ./… None”.

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

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

2b634302 09/30/2011 12:27 pm Iustin Pop

Add signal handling doc to hbal man page

Also remove a bug note, since hbal can now for a long time directly
execute jobs.

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

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

b8a2c0ab 09/29/2011 10:16 am Iustin Pop

Add an allocation limit to hspace

This is very useful for testing/benchmarking.

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

1bf6d813 09/29/2011 10:16 am Iustin Pop

Small simplification in tryAlloc

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

b0631f10 09/29/2011 10:16 am Iustin Pop

Change how node pairs are generated/used

Currently, the node pairs used for allocation are a simple [(primary,
secondary)] list of tuples, as this is how they were used before the
previous patch. However, for that patch, we use them separately per
primary node, and we have to unpack this list right after generation....

f828f4aa 09/29/2011 10:15 am Iustin Pop

Parallelise instance allocation/capacity computation

This patch finally enables parallelisation in instance placement.

My original try for enabling this didn't work well, but it took a
while (and liberal use of threadscope) to understand why. The attempt...

d7339c99 09/29/2011 10:15 am Iustin Pop

Abstract comparison of AllocElements

This is moved outside of the concatAllocs as it will be needed in
another place in the future.

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

129734d3 09/29/2011 10:14 am Iustin Pop

Change type of Cluster.AllocSolution

Originally, this data type was used both by instance allocation (1
result), and by instance relocation (many results, one per
instance). As such, the field 'asSolutions' was a list, and the
various code paths checked whether the length of the list matches the...

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

aea5caef 09/28/2011 01:15 pm Michael Hanselmann

rpc/http: Show pending RPC requests in lock monitor

Not all requests use an instance of RpcRunner yet and therefore won't
show up (only instances have access to the global Ganeti context).
Currently only the IP address is accessible. Another patch will add a...

ecd61b4e 09/28/2011 01:06 pm Michael Hanselmann

http.client: Factorize code interacting with cURL

This simplifies HttpClientPool.ProcessRequests significantly and will be
handy for showing pending RPC requests in the lock monitor.

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

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

6567f1d9 09/27/2011 04:32 pm Agata Murawska

Adding qemu-img dependency to INSTALL

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

a3c10d31 09/27/2011 02:47 pm Michael Hanselmann

http.client: Reduce performance impact by assertion

Call dict.values once instead of N times.

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

00267bfe 09/27/2011 02:47 pm Michael Hanselmann

rpc: Overhaul client structure

- Clearly separate node name to IP address resolution into separate
functions
- Simplified code structure (one code path instead of several)
- Fully unittested
- Preparation for more RPC improvements

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

30474135 09/27/2011 02:47 pm Michael Hanselmann

rpc: Make compression function module-global

No need to keep it in the class.

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

87b3cb26 09/27/2011 02:47 pm Michael Hanselmann

Keep only one global RPC runner in Ganeti context

Instead of having one RPC runner per mcpu processor this will keep only
one instance as part of the masterd-wide Ganeti context. Upcoming
patches will change the RPC runner to report pending requests to the...

daa4dcc1 09/26/2011 06:04 pm Agata Murawska

Update INSTALL with ovfconverter requirements

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

0c1a5b1e 09/26/2011 05:33 pm Agata Murawska

TemporaryFilesManager implementation

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

d92518d3 09/26/2011 05:10 pm Agata Murawska

Export: unittests

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

54f834df 09/26/2011 05:10 pm Agata Murawska

Export: documentation

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

7432d332 09/26/2011 05:10 pm Agata Murawska

Export: saving data to ovf file

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

b179ce72 09/26/2011 05:10 pm Agata Murawska

Export: parsing data from config file

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