Statistics
| Branch: | Tag: | Revision:

root @ 9f13be88

# Date Author Comment
9f13be88 01/16/2012 02:49 pm Iustin Pop

Split the list of program personalities into a module

… a mini-module, actually. This is only done for unit-testing, as we
don't want to duplicate the personalities list in the tests.

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

21839f47 01/16/2012 02:49 pm Iustin Pop

Parse options in htools.hs, not in each program

This patch moves the call to getArgs/parseOpts into htools.hs, as
opposed to the current situation where htools.hs only calls the main
file of each program, which in turn calls these two functions.

By doing it only once we remove some duplicate code and we also export...

89298c04 01/16/2012 02:49 pm Iustin Pop

Add some very basic options test

Just tests that passing a string argument returns it correctly. We're
not interested in the flags themselves that much just that the
function itself parses some options at least correctly.

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

51c3d88f 01/16/2012 02:49 pm Iustin Pop

Split CLI.parseOpts into IO/non-IO parts

This will allow unittesting the CLI options much more easily. The
patch also fixes an inconsistency: usage help was displayed with an
extra new line in the error case (but not in --help).

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

a7ea861a 01/16/2012 02:49 pm Iustin Pop

Add test for CLI.parseYesNo

Also fix a tiny typo in the docstring.

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

8b5a517a 01/16/2012 02:49 pm Iustin Pop

Fix bug in CLI.parseISpecString and add test

'zip' finishes on the shortest list, so parseISpecString accepted any
string of 3 values or more, which is not good. Fix this and add test
for both successful and failed parsing.

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

e1dde6ad 01/16/2012 02:49 pm Iustin Pop

Add a unittest for the 'Simu' backend

This only test successful parsing, but for this case it tests
reasonably well the resulting cluster properties, I think (coverage
is >70% for expressions).

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

59ed268d 01/16/2012 02:49 pm Iustin Pop

Further optimise instance test data generation

Following on the lessons from this week (commit 7806125e), this patch
replaces generation of instances `suchThat` they are smaller than on
node with direct generation of instances with upper bounds on
memory/disk/cpu....

c7ec3025 01/16/2012 02:49 pm Iustin Pop

Add a Makefile target for profiling targets

This simplifies the building of profiling-enabled htools binaries;
there are two targets, one used for the initial two-stage build, and
one that can be used for incremental builds.

The patch adds a new internal variable for the htools/test binary,...

893e8f49 01/16/2012 10:36 am René Nussbaumer

gnt-instance: Adapt replace-disks to the new opcode

Signed-off-by: René Nussbaumer <>
Reviewed-by: Iustin Pop <>

d2fe2bfb 01/16/2012 10:36 am René Nussbaumer

TLReplaceDisk: Add ipolicy checks

Signed-off-by: René Nussbaumer <>
Reviewed-by: Iustin Pop <>

7806125e 01/13/2012 04:58 pm Iustin Pop

Fix very slow unit-test data generation in some cases

Learning, learning. It turns out that for objects with even just five
fields, generating them and filtering can be costly, especially when
the filtering is nested (as it was in this case, arbitrary1 →...

746b7aa6 01/13/2012 04:58 pm Iustin Pop

Fix one bad unit-test data generation case

It could happen that the node is generated with 0 disk available, in
which case the operation will fail due to disk issues, not CPU. Fix
this by using the recently-introduced genOnlineNode helper.

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

aa1d552d 01/13/2012 03:24 pm Iustin Pop

Further JSON unit-tests for various Types.hs types

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

96bc2003 01/13/2012 03:24 pm Iustin Pop

Add a unit-test helper function

… instead of always using "printTestCase … False".

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

6a855aaa 01/13/2012 03:24 pm Iustin Pop

Extend node evacuation unittests

Currently they only check for change secondary, via iallocator's
relocate method. We add two separate unittests that checks all the
node evacuate modes (ChangeAll, ChangePrimary) and also the group
change request. All of these are done only for DRBD instances....

a2a0bcd8 01/13/2012 03:24 pm Iustin Pop

Fix a few issues in unittest data generation

This patch fixes two ugly but non-critical issues:

- the getFQDN wrongly generated only the first component as
limited-length name, the rest could be any length, and that makes
the generated name bad for display purposes...

16670b57 01/13/2012 03:24 pm Iustin Pop

Remove some dead code

While wondering why Cluster.tryReloc is not unit-tested, I realised
that this is no longer uses. Apparently, last summer's new IAllocator
modes and related changes have silently deprecated this function.

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

3074ccaf 01/13/2012 03:24 pm Iustin Pop

Fix another data generation issue in tests

Another "good" seed value manages to generate nodes with identical
names, which of course makes the sets be of smaller value than the
lists. Avoid this issue by generating unique node names.

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

57dc299a 01/13/2012 03:24 pm Iustin Pop

Further fixes to instance policy validation

As a followup from "Remove extraneous check in policy creation", there
are more places where we build an ipolicy, and then manually check for
its validity. This is very bad style, as it duplicates the
verification code across many places....

d6f9f5bd 01/13/2012 03:24 pm Iustin Pop

Add a help function for generating test nodes

This abstracts the concept of "give an sane, online node" in a single
place, rather than spread around the tests. We also change the
signature for isNodeBig for easier usage.

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

e73c5fe2 01/13/2012 03:24 pm Iustin Pop

Generate clusters with unique node names in tests

Nothing breaks otherwise in the cluster routines, but serialisation
to/from text gets confused otherwise.

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

dce9bbb3 01/13/2012 03:24 pm Iustin Pop

Add a complex allocation/serialisation/load test

This is unfortunately a complex test that checks if:

- starting from a empty cluster
- allocating a few instances on it
- serialising it via the Text backend
- loading it back into internal data structures...

b37f4a76 01/13/2012 03:24 pm Iustin Pop

Implement saving/restoring of policies in Text backend

This adds a new optional (so we're backwards-compat) section to the
cluster data so that we can reliably save/restore the policy data.

Note that different from the other sections, we save all policies...

bcd17bf0 01/13/2012 03:24 pm Iustin Pop

Further unittests for ipolicy/ispec text serialisation

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

55bd1414 01/13/2012 03:23 pm Iustin Pop

Fix a couple of bugs in handling offline instances

The addition of the offline state for instances has introduced a few
bugs related to their handling. The current code adds a helper
function for making the check whether an instances uses reserved
memory on the secondary (and uses it instead of just autoBalance),...

9cd6c325 01/13/2012 03:17 pm Iustin Pop

Add a helper function for 'not offline' instances

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

00b70680 01/13/2012 03:17 pm Iustin Pop

Unittests for the instance policy checks on allocation

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

1f5635a9 01/13/2012 03:17 pm Iustin Pop

Show explicit message when hspace fails to alloc

Currently, in the human-readable mode, hspace doesn't show any
messages when no instances can be allocated in tiered-alloc mode. This
is confusing, so let's add an explicit message.

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

aa5b2f07 01/13/2012 03:17 pm Iustin Pop

Obey instance policy in allocation routines

This currently checks the minimum/maximum sizes and the disk
template. Unittests will come later.

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

d6eec019 01/13/2012 03:17 pm Iustin Pop

Set group policy on nodes

In order to be able to use the group policy during allocation, we have
a few choices:

- pass the group policy as a separate argument to all involved
functions, or
- add the policy as an attribute to nodes, or
- add the group (not only the group index) as an attribute to nodes...

cdbab531 01/13/2012 03:17 pm Iustin Pop

A trivial optimisation in Loader.mergeData

During loading, we can eliminate some intermediate data
structures. This only matters for big clusters, and even there it's
less than 1% less memory allocated, but still, it's a no-brainer.

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

74c35f2f 01/13/2012 03:17 pm Iustin Pop

Trivial performance optimisation

This is not in the hot-path, but still, no sense in doing O(n) instead
of O(1).

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

6cff91f5 01/13/2012 03:17 pm Iustin Pop

Add ipolicy attribute to group objects

This is straightforward; as before, so far the text and simu backends
have no way to use a non-default ipolicy.

Furthermore, we do some unit-test preparation for future changes
(these seem a no-op for now, but they are needed for later patches)....

3c3c796e 01/13/2012 03:17 pm Iustin Pop

Enable Eq instances for TH-built objects

This is needed for the next patch.

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

9fdd3d0f 01/13/2012 03:16 pm Iustin Pop

Switch hspace to read the disk template from the cluster

The default disk template is the first enabled template.

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

fc42a408 01/13/2012 03:16 pm Iustin Pop

Read the disk templates part of the ipolicy

The default value is badly defined (hardcoded defaults)…

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

89c758c6 01/13/2012 03:16 pm Iustin Pop

Move DiskTemplate definition around

This is needed since we'll need the DiskTemplate definition in the
IPolicy one.

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

2cc673a3 01/13/2012 03:16 pm Iustin Pop

Add new disk_templates parameter to instance policy

This is a bit more complex patch, as it requires changing the
assumption that all keys in the policy dict points to values that are
themselves dicts. Right now we introduce an assumption that any
non-dicts are lists, we'll see in the future if this holds or whether...

45f8b50d 01/13/2012 03:16 pm Iustin Pop

Remove extraneous check in policy creation

The values are already checked in CreateIPolicy, no need to manually
check them again.

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

0ce212e5 01/13/2012 03:16 pm Iustin Pop

Move the instance specs options to cli.py

Currently these are defined twice, instead of a single time in
cli.py. Also adds the new disk_templates option to the common block,
even though it's not yet used.

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

12c3d3f6 01/13/2012 03:16 pm Iustin Pop

Add a new disk-template ipolicy option

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

499eb088 01/13/2012 03:16 pm Iustin Pop

Add a new CLI option type 'list'

This simply splits the value in the option parser, instead of needing
to do it in the client code.

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

363c0106 01/13/2012 03:16 pm Iustin Pop

Fix handling of errors from InstancePolicy.Check...

This code raises a configuration error, but we need to transform it
into a prereq error (or possibly exec error), depending on when we
call this function.

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

be468da0 01/13/2012 03:16 pm Iustin Pop

Switch hspace defaults to the cluster policy

This changes from the current hardcoded defaults to the cluster
policy. The command line options now override the defaults from the
cluster, and the tiered spec mode is always enabled.

Also fixes a tiny typo in the man page (together with the man page...

304f9292 01/13/2012 03:16 pm Iustin Pop

Add a helper function converting ispecs to rspecs

The rspec type is simpler than the ispec one; most likely it should be
deprecated later.

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

8564fb47 01/13/2012 03:16 pm Iustin Pop

Abstract creation of instance from a spec

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

df5d5433 01/13/2012 03:16 pm Iustin Pop

Load cluster ipolicy via Rapi

This requires changing from querying the /tags resource to the /info
resource.

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

135f64a3 01/13/2012 03:16 pm Iustin Pop

Update memory/maxmem reading in Rapi backend

Recent changes to the instance beparams have replaced memory with
maxmem in Rapi bulk queries. Until this is either reverted (for
backwards compat) or we decide to go ahead with only maxmem, we change
the backend to read both; this only affects the "instance down" code...

e77bc89b 01/13/2012 03:16 pm Iustin Pop

Load cluster ipolicy via Luxi

Also show it in hbal's verbose output (helpful for debugging).

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

71375ef7 01/13/2012 03:16 pm Iustin Pop

Extend ClusterData with the cluster instance policy

This attribute is always initialised to the default, and is not (yet)
read/saved in the various backends.

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

d02f941e 01/13/2012 03:16 pm Iustin Pop

Add default ipolicy declarations

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

26fce8df 01/13/2012 03:16 pm Iustin Pop

Add support for RE patterns to convert constants

This is a trivial conversion.

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

cf57f778 01/13/2012 03:16 pm Iustin Pop

Add support for lists/frozensets in convert-constants

Unfortunately, we only support lists of simple types, and not even
lists of tuples. If we actually needed those, it would be possible to
implement them, with a bit more complexity in the converter.

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

2325bfcf 01/13/2012 03:16 pm Iustin Pop

Add support for tuples in convert-constants

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

df41d855 01/13/2012 03:16 pm Iustin Pop

More improvements to convert-constants

This prepares for tuple and other conversions.

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

8751c041 01/13/2012 03:16 pm Iustin Pop

Improve convert-constants to handle dictionaries

The two main drawbacks for convert-constants are the fact that it
can't handle sets/frozensets (mainly due to the fact that I don't know
how useful this would be to the Haskell code) and that it cannot
export dictionaries....

a07343b2 01/13/2012 03:16 pm Iustin Pop

Add object definitions for the ispec and ipolicy

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

b69be409 01/13/2012 03:16 pm Iustin Pop

Stop exporting JSON functionality from Utils.hs

This completes the Utils/JSON split started in commit f047f90f. The
import graph should be cleaner now.

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

f3f76ccc 01/13/2012 03:16 pm Iustin Pop

More reshuffling of code

Following the split Types/BasicTypes, we can remove the last
JSON-related stuff from Utils.hs, and do some more cleanup.

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

0c37d1e4 01/13/2012 03:15 pm Iustin Pop

htools: split parts of HTools/Types.hs into BasicTypes.hs

The 'Result' type is common and:

- might be used outside of HTools-specific code too
- is better split as we need these basic types for building the more
complex ones in Types.hs

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

50761ebd 01/12/2012 02:31 pm Constantinos Venetsanopoulos

Fix acquisition of node lock in LUInstanceGrowDisk

Ensure node level locks are recalculated properly
in LUInstanceGrowDisk.

Signed-off-by: Constantinos Venetsanopoulos <>
Signed-off-by: Iustin Pop <>
Reviewed-by: Iustin Pop <>

4b97458c 01/11/2012 01:13 pm Iustin Pop

Fix cluster ispecs on upgrade

Cluster-level parameters must not be empty. Plus two more minor
changes.

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

b32f3c0c 01/11/2012 01:12 pm Iustin Pop

Better max ispec defaults

Instead of being equal to the minimum ones, these are reusing current
constants.

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

410a8a76 01/11/2012 01:12 pm Iustin Pop

Rename optISpec to optStdSpec

More consistency with the tiered allocation mode.

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

294bb337 01/11/2012 01:12 pm Iustin Pop

Change how hspace reads cmdline args for std specs

For the standard specs, hspace currently takes separate options for
the memory, disk and VCPUs. For the tiered specs, which were
introduced later, it takes a single option with all three values
combined....

7da760ca 01/11/2012 12:59 pm Iustin Pop

Abstract tiered specs command line parsing

This will be used in the future for the standard specs too, so let's
abstract it away.

Signed-off-by: Iustin Pop <>
Reviewed-by: René Nussbaumer <>

2096d068 01/11/2012 10:13 am René Nussbaumer

cmdlib._ComputeMinMaxSpec: Add unittest for this function

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

89e8508e 01/11/2012 10:13 am René Nussbaumer

cmdlib: _VerifyInstancePolicy has been replaced and is dead code

This removes this method

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

0e68bf27 01/11/2012 10:13 am René Nussbaumer

cmdlib: Rename _CheckMinMaxSpecs to _ComputeMinMaxSpec

This is to reflect the fact that _Check functions do raise Op*Error
which is not the case for _CheckMinMaxSpec.

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

380bb53a 01/10/2012 05:16 pm Michael Hanselmann

utils.ResetTempfileModule: Improve performance

This function is called for after every fork (e.g. for handling an RPC
request). With the changes in this patch generating the next random
filename is about 30% faster.

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

20875652 01/10/2012 03:09 pm Michael Hanselmann

LUInstanceCreate: Release node resource lock

… after running iallocator. Otherwise an assertion later in the code
would fail (for a good reason).

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

ff02b60f 01/10/2012 02:34 pm René Nussbaumer

_CheckTargetNodeIPolicy: instance.primary_node is not objects.Node

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

c879832c 01/10/2012 02:34 pm René Nussbaumer

cmdlib: node.group is not a nodegroup object

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

26ece371 01/10/2012 02:34 pm René Nussbaumer

LUInstanceCreate: self.disks is a dict not a disk object

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

fb782f5b 01/10/2012 02:34 pm René Nussbaumer

qa-sample.json: Fix a typo

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

c20a19ed 01/10/2012 02:06 pm Iustin Pop

Fix wrong variable name

Commit bc5d0215 added support for disk params, but due to copy-paste
it tries to enforce the hvparams into disk params values, leading to:

$ gnt-cluster modify -H kvm:initrd_path=/boot/initrd-2.6-kvmU
Parameter Error: Unknown parameter 'initrd_path'...

922c57bf 01/09/2012 07:27 pm Guido Trotter

InstanceStartup: use overridden beparams in prereq

Without doing this memory checks happen on instance default parameters
rather than any overridden ones.

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

da775218 01/09/2012 06:04 pm Michael Hanselmann

gen-coverage: Change filter

It is not necessary to run a Python script to generate the filter, which
didn't work very well anyway on systems with modules in
/usr/share/pyshared.

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

7e6b6f1f 01/09/2012 02:34 pm Michael Hanselmann

rpc: More unittests

- Fix: Don't check st_atime for temporary file for upload tests
- Add tests for five encoders

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

729ed537 01/09/2012 01:56 pm Bernardo Dal Seno

Document "gnt-node add" behavior in case of failure

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Iustin Pop <>

9fa567b3 01/06/2012 02:47 pm René Nussbaumer

gnt-node: Add instance policy to migrate

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

43f52ae3 01/06/2012 02:47 pm René Nussbaumer

cmdlib: Adapt LUClusterVerifyGroup for instance policy

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

2a84b7d3 01/06/2012 02:46 pm René Nussbaumer

gnt-backup: Adding force option to import

This makes it possible to bypass the instance policy

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

10889e0c 01/06/2012 02:46 pm René Nussbaumer

gnt-instance: Adding instance policy to add

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

1559e1e7 01/06/2012 02:46 pm René Nussbaumer

gnt-instance: Adding verification of instance policy to modify

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

92cf62e3 01/06/2012 02:46 pm René Nussbaumer

gnt-instance: Adding instance policy to move

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

3ed23330 01/06/2012 02:46 pm René Nussbaumer

gnt-instance: Adding instance policy to migrate

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

b6aaf437 01/06/2012 02:46 pm René Nussbaumer

gnt-instance: Adding instance policy to failover

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

0fb81174 01/06/2012 02:45 pm René Nussbaumer

cmdlib: Adding helper for instance policy

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

c2dc025a 01/06/2012 02:36 pm Michael Hanselmann

rpc.ConfigRunner: Fix uploading file

Commit 601dfcb made some changes to the default encoders. This made
“ConfigRunner.call_upload_file” fail due to a missing encoder. This
patch applies the necessary changes to ConfigRunner and updates the
unittest for “call_upload_file”....

30a83755 01/06/2012 01:49 pm Guido Trotter

Update GrowDisk docstring

It forgot about one argument.

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

c668ead9 01/06/2012 01:38 pm Guido Trotter

Merge branch 'devel-2.5'

  • devel-2.5:
    KVM: support version reported by 1.0
    doc/admin: Clarify archived jobs

Conflicts:
NEWS: trivial

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

2635bb04 01/06/2012 01:34 pm Michael Hanselmann

Move helper class from watcher to utils.io

“FileStatHelper” can be used together with “ReadFile” to a file's status
while it's opened. This avoids certain race conditions.

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

2ce40421 01/06/2012 01:34 pm Michael Hanselmann

rpc._PrepareFileUpload: Use FileStatHelper

Use fstat(2) on the file handle instead of doing a separate stat(2).

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

d5ea30e8 01/06/2012 01:34 pm Michael Hanselmann

rpc: Change signature of RpcRunner

Instead of receiving the whole masterd context, it only gets the
configuration and the lock monitor callback. This simplifies
unittesting.

Additionaly, two new arguments for testing are added.

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

601dfcbb 01/06/2012 01:34 pm Michael Hanselmann

Add unittest for uploading file via RPC

After some preparing patches this unittest can finally be added.

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

e78667fe 01/06/2012 01:34 pm Michael Hanselmann

rpc._RpcClientBase: Add check for number of arguments

Just an additional check, useful in unittests.

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

065be3f0 01/06/2012 01:34 pm Michael Hanselmann

Add unittests for RPC client

This patch adds a number of unittests for the RPC client base class.
Some small changes were necessary in “rpc.py” to allow for better
testing.

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

f00170e2 01/06/2012 01:34 pm Michael Hanselmann

runtime: Style fix in docstring

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