Statistics
| Branch: | Tag: | Revision:

root / test @ da5f09ef

# Date Author Comment
da5f09ef 03/27/2013 12:46 pm Bernardo Dal Seno

Refactor ispecs in ipolicy structures

Minimum and maximum instance specs are put together into a single element
of the instance policy. This is in preparation for introducing multiple
min/max specs.

Signed-off-by: Bernardo Dal Seno <>...

1709435e 03/27/2013 12:46 pm Bernardo Dal Seno

cfgupgrade: Add --downgrade option

It's now possible to go back to the previous stable version. Unit tests
provided.

This is mostly useful during development, when going from master to
stable/devel.

Signed-off-by: Bernardo Dal Seno <>...

a6fdce9e 03/27/2013 12:45 pm Bernardo Dal Seno

Unit test for cli.CreateIPolicyFromOpts()

Useful for subsequent patches.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Helga Velroyen <>

4d99964c 03/26/2013 01:57 pm Bernardo Dal Seno

Generic function to print data for gnt-xxx info

The function produces a human-readable output, which is also a valid YAML
file, from an intermediate data structure. This will be used by "gnt-xxx
info" commands. The output of "gnt-xxx info" was almost YAML-compliant, and...

61f8fda4 03/22/2013 05:06 pm Michele Tartara

Fix bug in rlib2 unit tests

The "queryargs" parameter of the init function of rlib2 classes should
be a dictionary, as defined in the ResourceBase parent class (in
lib/rapi/baserlib.py).

In the rlib2 and baserlib unit tests, when the queryargs parameter is not...

c270ee07 03/21/2013 05:41 pm Helga Velroyen

gnt-cluster modify: dis/enabling storage types

This patch extends the 'gnt-cluster modify' command to manipulate the list
of enabled storage types. Note that this currenlty does no validation
with respect to whether or not there are instances currently using a storage...

13cc7b84 03/21/2013 10:49 am Michele Tartara

Add the core of the monitoring daemon

This commit adds the core infrastructure of the monitoring daemon,
and integrates it in the build and test systems.

The actual functionality of the monitoring daemon is still completely
missing.

Signed-off-by: Michele Tartara <>...

f511082f 03/13/2013 02:23 pm Michele Tartara

Add Mond to the list of possible daemons

Also, add its logfiles and extra log files.

Signed-off-by: Michele Tartara <>
Reviewed-by: Iustin Pop <>

a8828704 03/13/2013 02:23 pm Michele Tartara

Add infrastructure for allowing additional logfiles

Some daemons will need more than the single logfile that is currently
allowed. This patch introduces the infrastructure to allow this.

Signed-off-by: Michele Tartara <>
Reviewed-by: Iustin Pop <>

c81b97f2 03/12/2013 06:16 pm Iustin Pop

Make gnt-node list -o(p|s)inst_list output stable

Currently, both the Python and Haskell code return the internal
instance list unsorted, which means the output can vary depending on
the phase of the moon (well, the Haskell code actually uses internally
a tree, sorted by the instance name, but it's implementation detail)....

147fd319 03/12/2013 06:16 pm Iustin Pop

Expand TestHelper to allow non-underscore prefixes

HLint 1.8.28 requires us to always add "ignore CamelCase", which can
be problematic sometimes (e.g. when using OverloadedStrings). Let's
expand TestHelper to also support less-standard 'caseFooBar' names, so...

b1b4a26b 03/12/2013 06:16 pm Iustin Pop

Change to CamelCase format in Test/Ganeti/Objects.hs

This is in preparation for using OverloadedString extensions in this
file, which conflicts with hlint 1.8.28's handling of annotations.

Signed-off-by: Iustin Pop <>
Reviewed-by: Helga Velroyen <>

3a991f2d 03/12/2013 06:16 pm Iustin Pop

Add simple Ip4Address/Ip4Network types

This patch adds some very simple IPv4 address/network types, and uses
them in the 'Network' config object.

We need these in order to properly compute the reserved IP addresses,
without depending on an external library (which I haven't found, by...

46d21495 03/12/2013 01:32 pm Bernardo Dal Seno

Merge branch 'devel-2.7'

  • devel-2.7
    Add QA for instance creation with policy violation
    Add QA for policy-instance interactions
    Add QA for cluster policies
    Unit tests for objects.InstancePolicy + a fix
    Unit tests for objects.FillIPolicy() + small fix...
ba5c6c6b 03/11/2013 08:57 pm Bernardo Dal Seno

Unit tests for objects.InstancePolicy + a fix

Tests for:
objects.InstancePolicy.CheckParameterSyntax()
objects.InstancePolicy.CheckDiskTemplates()
objects.InstancePolicy.CheckISpecSyntax()

Instance policies with an empty disk-template list now are reported....

e38bc4eb 03/11/2013 08:57 pm Bernardo Dal Seno

Unit tests for objects.FillIPolicy() + small fix

IPOLICY_DEFAULTS is now a legal policy (the disk-templates entry was a set
instead of a list, before).

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Guido Trotter <>

4f7e5a1d 03/11/2013 08:57 pm Bernardo Dal Seno

Fix upgrade of policy in objects.Cluster

Unknown elements were silently removed on startup. This means that a
software upgrade could result in lost configuration information if
cfgupgrade wasn't run promptly.

Added unit test for Cluster.UpgradeConfig() to cover this case....

2477c1c5 03/11/2013 08:56 pm Bernardo Dal Seno

Fix instance policy checks for default back-end parameters

Policy violations of back-end parameters that used the cluster default
value were not reported in cluster-verify.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Guido Trotter <>

5dd7d15b 03/11/2013 08:56 pm Bernardo Dal Seno

Unit tests for cmdlib._GetUpdatedIPolicy()

Not 100% coverage, though.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Guido Trotter <>

cc4b2676 03/11/2013 08:56 pm Bernardo Dal Seno

Fix policy check for disk templates

Instance disk template is checked against the policy, and diskless
instances aren't checked for the number of disks.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Guido Trotter <>

9b154e2b 03/05/2013 06:15 pm Iustin Pop

Merge branch 'devel-2.7'

  • devel-2.7:
    Update required pylint version
    Constants.hs.in: improve Haddock markup in the template
    convert-constants: generate better Haddock markup
    Expand Haddock to run over test files as well

Conflicts:
Makefile.am (curl changes and new hs directories)...

7ddd8e4c 03/05/2013 05:53 pm Iustin Pop

Expand Haddock to run over test files as well

This patch does multiple enhancements to the way we build the Haddock
docs, motivated by the fact that if we don't run Haddock over test
files as well, bad formatting can be submitted and will accumulate
over time (without any checks)....

491d02ca 03/05/2013 01:56 pm Iustin Pop

Merge branch 'devel-2.7'

  • devel-2.7: (23 commits)
    Add export lists for files which didn't have them
    Fix Haskell compatibility tests with disabled file storage
    Fix QA with disabled file storage
    Fix convert-constants handling of booleans
    Fix handling of disabled (shared) file storage...
c56dd17b 03/05/2013 11:03 am Iustin Pop

Switch LispConfig double comparison to relative error

This further improves the comparison for "non-trivial"
numbers. Without this patch, there are still cases where the absolute
error is too big, and we need to switch to relative error.

Concept has been taken from...

1fe0e999 03/04/2013 06:39 pm Iustin Pop

Make the XmParser config test runtime more consistent

Currently, the test uses a frequency of 5 string/5 double/1 list for
generating Arbitrary instances of ListConfig. However, the list case
has simply a "choose (1, 20)" `vectorOf` arbitrary, which means it...

a7e76dc3 03/04/2013 06:39 pm Iustin Pop

Improve output of the XmParser config test

Currently, this tests and its helper function 'isAlmostEqual' uses
plain booleans to signify failures, which means you can't really debug
a failed test. The patch changes the call chain to use annotated
properties all through, which results in messages like:...

91c1a265 03/04/2013 06:10 pm Iustin Pop

Fix node partial name matching in Haskell code

This implements QffHostname and fixes the node listing (as well as
export listing when filtering on node name).

This bug was hidden by the fact that node listing with "gnt-node list
aa" works if you don't have live queries (as it was originally), as...

e7124835 03/04/2013 06:09 pm Iustin Pop

Fix bug in group queries related to node/instance fields

Since we use the primitive string type for group UUIDs, the group
fields have a bug where we pass the group name as filter for node
tests, whereas the nodes themselves use the group UUID. This results...

36162faf 03/04/2013 06:08 pm Iustin Pop

Rename/make uniform the other query entities

Following the new naming style introduced in Exports.hs, this patch
renames the other resources to export non-qualified names (fieldMap as
opposed to nodeFieldMap), and to use qualified module imports.

Also fixes a haddock issue in a docstring....

dde85e1e 03/04/2013 05:59 pm Iustin Pop

Add export lists for files which didn't have them

Two test helper files didn't have export lists (lost during the split
of tests). This patch finally reintroduces them, to hopefully make the
export list saner and with fewer changes for purely-internal changes....

3cbd5808 03/04/2013 05:18 pm Iustin Pop

Fix Haskell compatibility tests with disabled file storage

When file storage is disabled at ./configure time, we shouldn't pass
opcodes containing DTFile/DTSharedFile/StorageFile to Python for
validation, as they will fail.

This patch implements this by simply tweaking the Arbitrary instances...

91c17910 03/04/2013 12:35 pm Iustin Pop

Allow rpc.MakeLegacyNodeInfo to parse non-LVM results

'MakeLegacyNodeInfo' is not the best place for this, but we'd have to
duplicate it if we wanted a LVM-less version, so the easiest is to add
an optional parameter that allows it to accept/skip LVM-less results....

5c1ae836 02/27/2013 11:47 pm Guido Trotter

Test AsyncStreamServer with abstract unix sockets

This was meant to be since "the beginning" but was never submitted as
somehow it failed with python 2.4. Now that the minimum python version
has been increased it can be added.

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

c072e788 02/27/2013 03:11 pm Michael Hanselmann

qa_config: Support callable test checks

Until now all tests depended on simple AND/OR conditions. With the
introduction of virtual cluster support, some tests can only run if
virtual clusters are not in use (e.g. not yet supported or not
possible). Instead of introducing more logic for enabling/disabling...

76fda900 02/27/2013 03:11 pm Michael Hanselmann

QA: Add config entries for virtual cluster

If these new options are set, a virtual cluster is created and used.
Virtual clusters consist of 1..N virtual nodes on a single physical (or
virtual) node. The design of virtual clusters is described in
“doc/design-virtual-clusters.rst”....

a82d9394 02/25/2013 02:52 pm Michael Hanselmann

Fix style violations in commit 4a90bd4, small changes

- Commit 4a90bd4 contained a rather large number of style violations:
- Indentation/sequence formatting
- Wrapping of long lines
- Docstrings whose first line was wrapped
- A stray backslash in a docstring...

27a8a190 02/22/2013 12:51 pm Michael Hanselmann

RAPI: Add flag to require authentication

Most RAPI resources do not require authentication for the “GET” method.
In some setups it can be desirable to always require authentication.
This patch adds a command line parameter to always require it.

Some unrelated minor typos in the “ganeti-rapi” man page are also fixed....

0b08c8bf 02/20/2013 07:12 pm Helga Velroyen

Remove test of obsolete getNetworkUuid method

This will remove the tests for the getNetworkUuid method.
The method will be obsolete after the changes regarding
identification of networks by UUID and not name are merged
into master. Will send another patch for removing the...

da9e2aff 02/20/2013 06:47 pm Iustin Pop

Add two utility functions for handling Either lists

These two functions permit operating in bulk on only the Left or Right
values in the original list, then reassembling the list back in the
original order.

Signed-off-by: Iustin Pop <>
Reviewed-by: Michele Tartara <>

9c0a27d0 02/20/2013 06:47 pm Iustin Pop

Simplify RPC error cases

This patch removes the node from the RPC error constructurs
CurlLayerError and OfflineNodeError. The rationale is that we anyway
return tuples (node, result), and removing this duplication allows
simplified signatures/calls in the execution of RPC calls....

41be279f 02/20/2013 06:45 pm Michael Hanselmann

qa_config.AcquireNode: Use sort key function

Use a sort key function instead of using a comparing function (“cmp=…”).
The latter is not supported in Python 3 and using a sort key function is
easier.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Bernardo Dal Seno <>

e80edd3b 02/20/2013 06:45 pm Michael Hanselmann

qa_config: Add repr for instance/node classes

Having a readable representation makes debugging easier.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Bernardo Dal Seno <>

1b9e1f42 02/20/2013 05:40 pm Michael Hanselmann

Test "GetNodeInfo" for Xen hypervisor

This patch adds unit tests for success and failure of the “GetNodeInfo”
method for the Xen hypervisor abstractions.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Helga Velroyen <>

47aa6ec9 02/20/2013 03:38 pm Michael Hanselmann

QA: Add validation for cluster name

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Bernardo Dal Seno <>

3234695b 02/20/2013 03:20 pm Michael Hanselmann

Merge branch 'devel-2.7'

  • devel-2.7:
    NEWS: Fix the fix in commit 82b6f9a
    NEWS: Fix release date for 2.7.0 beta1
    Minor fixes regarding nic.network change
    Fix issue 378
    NEWS: Mention multi-alloc and fix typo
    Add cfgupgrade for changing nic.network to uuid...
c3a5176f 02/19/2013 06:57 pm Michael Hanselmann

baserlib: Make "_OPCODE_ATTRS" public

"_OPCODE_ATTRS" will also be used in the Sphinx extension.

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

5224c9bf 02/19/2013 04:29 pm Michael Hanselmann

Helper to retrieve access permissions for RAPI resource

Merge similar code into a helper function.

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

4a90bd4f 02/19/2013 04:27 pm Michele Tartara

Status change reason support for Reboot

Add support to the Reboot command for specifying the reason for the last
status change.

Some features are implemented as functions, even if used only once, because
they will be used by the future patches introducing reason support for all...

a59d5fa1 02/19/2013 04:27 pm Michele Tartara

Infrastructure for specifying instance status change reason

This patch introduces some infrastructural modifications that will be used by
the following commits to implement the support for specifying the reason for
the last status change of an instance.
...

834bea99 02/18/2013 06:08 pm Helga Velroyen

Unit tests for Query/Network.hs

This patch adds a couple of unit tests for Query/Network.hs.
Note that they'll need to be adapted, once issue 362 is addressed.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Iustin Pop <>

c5a957c3 02/18/2013 05:35 pm Michele Tartara

Add Haskell parser for "xm uptime"

In order to fetch precise information about the uptime of the VMs
running in Xen, we need to analyze the output of the "xm uptime" command.

This commit adds the parser to do that, and its tests.

Signed-off-by: Michele Tartara <>...

b8585908 02/18/2013 05:35 pm Michele Tartara

Add Haskell parser for "xm list --long"

In order to fetch precise information about the status of the VMs running in
Xen, we need to analyze the output of the "xm list --long" command.

This commit adds the parser to do that, and its tests.

Signed-off-by: Michele Tartara <>...

1635eec0 02/18/2013 12:05 pm Dimitris Aragiorgis

Add IQ_NETWORKS in query tests

Signed-off-by: Dimitris Aragiorgis <>
Reviewed-by: Helga Velroyen <>

fe502d25 02/15/2013 03:04 pm Iustin Pop

Merge branch 'devel-2.7'

  • devel-2.7:
    Rename lib/objectutils to outils.py
    Fix typo in gnt-group manpage
    Fix wrong type in a docstring of the RAPI subsystem
    Finish the remote→restricted commands rename
    Enable use of the priority option in hbal
    Add CLI-level option to override the priority...
473d87a3 02/15/2013 12:14 pm Iustin Pop

Rename lib/objectutils to outils.py

Back when this was introduced, I mentioned that it breaks heavily tab
completion (ob<TAB> doesn't work anymore), but at that moment I didn't
have a suggestion what to name it. I think outils is good and short
enough, and doesn't conflict with anything else, so here it goes....

37fe56e0 02/12/2013 03:47 pm Iustin Pop

Add functions to parse CLI-level format of priorities

The current serialisation format for submit priorities is
integer-based, same as the opcode json serialisation. But for CLI
level, we need to support a string-based format, so we add functions
to parse and format this representation....

a81ca843 02/12/2013 03:47 pm Iustin Pop

Enable use of the priority option in hbal

This patch adds the option to hbal, and uses it to tweak the submitted
jobs. There are also two small shelltests for testing the parsing.

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

45bc4635 02/12/2013 03:47 pm Iustin Pop

Finish the remote→restricted commands rename

The documentation still points to /etc/ganeti/remote-commands,
although the code is already using restricted-command. Update the
documentation and a few docstrings accordingly.

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

bb63ccb0 02/12/2013 03:39 pm Helga Velroyen

Removes check for conflicts from NetworkDisconnect

This removes the check for conflicts from the Haskell
version of the OpCode NetworkDisconnect. This alignes
the Haskell code with the patch
"Force conflicts check in LUNetworkDisconnect" (which
is currently under review). I will submit these patches...

2e076ede 02/12/2013 03:39 pm Stratos Psomadakis

Add unit tests for RADOSBLockDevice

Add unit tests for the RADOSBlockDevice JSON output parsing function,
and modify the unit tests for the plain output parsing function to
work with the new code.

Signed-off-by: Stratos Psomadakis <>
Reviewed-by: Guido Trotter <>

3c296f56 02/12/2013 03:25 pm Michael Hanselmann

Merge branch 'devel-2.7'

  • devel-2.7: (23 commits)
    QA: Support additional arguments for initialization
    qa_utils: Fix order of arguments passed to _AssertRetCode
    Improve reporting on errors.AddressPoolError exceptions
    Add note about lv-tags rename...
5cfa6c37 02/11/2013 05:31 pm Dimitris Aragiorgis

Remove network_type slot (Issue 363)

This slot was not used by Ganeti so the same info can be
provided via tags. In order not to break configuration data
we add a FromDict() method in Network config object that
removes the deprecated network_type (if found) and then invoke...

3697def0 02/11/2013 04:21 pm Bernardo Dal Seno

Moved uniformity check for exclusive_storage flag

Cluster-verify used to check that the value of exclusive_storage is uniform
within node groups. Now, it's impossible to change the flag for a single
node, so that check has been removed and an equivalent one has been added...

250a9404 02/11/2013 04:21 pm Bernardo Dal Seno

"exclusive_storage" cannot be changed on single nodes

There's never been support for a configuration where nodes in the same node
group have different values of the exclusive_storage flag. This patch
disables the possibility to change the flag for individual nodes....

45f62156 02/11/2013 04:20 pm Bernardo Dal Seno

Upgrades made on loading the configuration are always saved

Before, only some upgrades were written back to the configuration file. A
little refactoring of _UpgradeConfig() has been done to write unit tests.

Signed-off-by: Bernardo Dal Seno <>...

dbdb0594 02/11/2013 03:30 pm Michael Hanselmann

QA: Convert nodes to objects

Up until now nodes were stored as a dictionary. The keys were hardcoded
in a lot of places and entries modified directly.

This patch introduces a new class for nodes in QA named “_QaNode”. It
still supports accessing details via dictionary syntax, but that will be...

6f88e076 02/08/2013 03:36 pm Michael Hanselmann

QA: Release instances through method

Instead of having a module-level function in “qa_config” to release an
instance, a new method on instance objects is used.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Bernardo Dal Seno <>

6a654276 02/08/2013 03:36 pm Michael Hanselmann

QA: Convert instances to objects

Up until now instances were stored as a dictionary. The keys were
hardcoded in a lot of places and entries modified directly.

This patch introduces a new class for instances in QA named
“_QaInstance”. It still supports accessing details via dictionary...

a08e181f 02/08/2013 03:35 pm Michael Hanselmann

Refactor storage of runtime exclusive storage flag in QA

This is a follow-up for “qa_config: Remove exclusive storage flag from
config”. Instead of storing the flag in a module-level variable it is
now stored within the new QA configuration class and unit tests are...

8a96c5a6 02/08/2013 03:35 pm Michael Hanselmann

Refactor QA configuration code

Ever since its introduction (sometime before commit cec9845 in September
2007), the QA configuration was stored in a dictionary at module-level
in “qa/qa_config.py”. The configuration was loaded, verified and
evaluated using module-level functions. Since then the configuration has...

595149d5 02/08/2013 11:48 am Michael Hanselmann

vcluster: Make _MakeNodeRoot public

The QA code will also have to generate virtual paths and this function
comes in handy.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Michele Tartara <>

72747d91 02/07/2013 06:14 pm Iustin Pop

Remove use of 'head' and add hlint warning for it

Since 'head' is unsafe to use in most cases, this patch removes its
use from most of the code, adds a lint warning for it (and for tail as
well), and adds override annotations in the few cases where it's
actually OK to use it (mainly when using head over the result of...

83251115 02/05/2013 06:55 pm Michael Hanselmann

Merge branch 'devel-2.7'

  • devel-2.7:
    Redirect output for gnt-* list/list-fields commands
    Add function to execute QA commands with redirected output
    Implement option to skip logging of QA commands
    Fix typo in a comment
    Add some more Haskell/Python equivalence tests...
ca7b4f48 02/05/2013 10:36 am Iustin Pop

Add some more Haskell/Python equivalence tests

This would have caught the log file problem fixed in the previous
patch (9411474b), for example. Also we test user/group equivalence,
name only.

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

473ab806 02/04/2013 04:52 pm Michael Hanselmann

Extract container converters

“objects.ConfigObject” contains two useful functions for working with
containers of serialized objects, “_ContainerToDicts” and
“_ContainerFromDicts”. This patch separates those functions and moves
them into “objectutils” as they'll be useful for converting parts of the...

4d36fbf4 02/04/2013 04:22 pm Michael Hanselmann

objects: Improve handling of TCP/UDP port pool

- Handle de-serialization correctly when pool is not defined
- Serialize to empty list when the attribute is None (this should never
happen in reality as the attribute is always set when de-serializing)
- Add tests...

53fde1ac 02/04/2013 03:06 pm Iustin Pop

Add a helper function for hypervisor verification

This will allow easier multi-error results from hypervisors; right
now, we only report the first error, which is not nice.

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

b6d9bec8 01/30/2013 07:38 pm Dato Simó

Program/Harep.hs: add skeleton for the new auto-repair tool

harep(1) detects certain kind of problems with instances and applies the
allowed set of solutions. See doc/design-autorepair.rst.

Signed-off-by: Dato Simó <>
Reviewed-by: Iustin Pop <>

0ae4b355 01/30/2013 07:26 pm Helga Velroyen

Removes check for conflicts from NetworkDisconnect

This removes the check for conflicts from the Haskell
version of the OpCode NetworkDisconnect. This alignes
the Haskell code with the patch
"Force conflicts check in LUNetworkDisconnect" (which
is currently under review). I will submit these patches...

ea2bcb82 01/30/2013 07:12 pm Michael Hanselmann

hv_kvm: Refactor getting TAP features, add tests

Split retrieving supported features into a dedicated function which can
be mocked. Tests are added for both “_ProbeTapVnetHdr” and
“_GetTunFeatures”.

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

5fee2c83 01/29/2013 06:23 pm Michael Hanselmann

Checks for hypervisor constants

Add two tests for hypervisor constants.

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

d8784f7d 01/25/2013 04:07 pm Michael Hanselmann

hv_xen: Fix issues with migration, add tests

Commit 3d942d8 broke instance migration (“self._cmd” was set to None).
This patch fixes that issue, refactors “MigrateInstance” for testing and
adds those tests.

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

2edc1c79 01/25/2013 12:58 pm Michael Hanselmann

hv_xen: Test various forms of getting instance/node info

Test functions for retrieving instance and node information.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Helga Velroyen <>

664b392d 01/25/2013 12:58 pm Michael Hanselmann

hv_xen: Test stopping an instance

Test stopping an instance, and ensure the configuration file still
exists after an instance couldn't be stopped.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Helga Velroyen <>

396672cd 01/25/2013 12:58 pm Michael Hanselmann

hv_xen: Test starting an instance

Test starting an instance in normal mode, in paused mode, and in case of
failure.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Helga Velroyen <>

57270b2d 01/25/2013 12:58 pm Michael Hanselmann

hv_xen: Test reading non-existent config file

Check whether doing so raises an exception.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Helga Velroyen <>

b666f213 01/25/2013 12:58 pm Michael Hanselmann

hv_xen: Test verifying hypervisor

Test success and failure.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Helga Velroyen <>

7610d884 01/25/2013 12:58 pm Michael Hanselmann

hv_xen: Test removing config from "auto" directory

Test whether any existing configuration file named after the instance is
removed from Xen's “auto” directory.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Helga Velroyen <>

74a50c46 01/25/2013 12:58 pm Michael Hanselmann

Establish base for testing Xen hypervisor abstraction

There are two separate Xen hypervisors (HVM and PVM), as well as two
different Xen commands (xl and xm). This already provides four different
combinations and future changes might bring even more. For this reason...

64a66bd2 01/25/2013 12:58 pm Michael Hanselmann

hv_xen: Test errors while writing config file

Test error handling while writing Xen configuration files.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Helga Velroyen <>

1dee2041 01/25/2013 12:58 pm Michael Hanselmann

hv_xen: Test using unknown Xen command

This tests “unknown” values of “constants.XEN_CMD”.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Helga Velroyen <>

b43064d0 01/24/2013 08:30 pm Helga Velroyen

Extend config by networks and networks by UUIDs

For network queries to work, we need to extend the general
config type to include all available networks. Additionally,
we add UUIDs to the network type itself.

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

d0bb3f24 01/24/2013 02:27 pm Michael Hanselmann

hv_xen: Factorize and test disk configuration

The “_GetConfigFileDiskData” function is moved to module level and
cleaned up (module-level constants for letters and file I/O drivers).

Until now only 24 disks would be supported (e.g. “sda” to “sdx”), when...

06c9a520 01/24/2013 01:58 pm Michael Hanselmann

hv_xen: Refactor getting node information, add tests

Refactor and add tests for getting node (Domain-0) information.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Bernardo Dal Seno <>

b255379d 01/24/2013 01:57 pm Michael Hanselmann

hv_xen: Refactor running & parsing "xm list", add tests

This patch refactors “_RunXmList” and adds some tests.

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Bernardo Dal Seno <>

8bb2df7d 01/23/2013 06:34 pm Bernardo Dal Seno

_VerifyErrors()._Error() and _ErrorIf() are now consistent

_Error() didn't contain the logic for demoting errors to warnings and for
marking an operation as failed. Now _ErrorIf() is just a minimal wrapper
for _Error().

Unit tests included.

Signed-off-by: Bernardo Dal Seno <>...

00ef625c 01/22/2013 06:27 pm Michael Hanselmann

testutils: Module-level method for reading test data

This patch moves the functions “_ReadTestData” and “_TestDataFilename”
to module level. They do not depend on a class instance at all.

Some cases of “utils.ReadFile(self._TestDataFilename(…))” are also...

3b721842 01/22/2013 04:05 pm Michael Hanselmann

Add test for backend._GetBlockDevSymlinkPath

Add a unit test for the trivial “_GetBlockDevSymlinkPath” function in
backend (small changes in the function were required).

Signed-off-by: Michael Hanselmann <>
Reviewed-by: Bernardo Dal Seno <>

347fa0f1 01/18/2013 05:12 pm Michael Hanselmann

hv_xen: Add test for CPU pinning configuration

Add a unittest for a function formatting CPU pinning information for
Xen's configuration.

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

9fb621af 01/18/2013 12:41 pm Yiannis Tsiouris

Text wrap in Haskell code

This adds two functions in Utils.hs: 'wrap' and 'trim' along with some
simple tests. 'wrap' is used in Common.hs for wrapping command
descriptions to a fixed line length, e.g. useful for the "--help"
option.

Signed-off-by: Yiannis Tsiouris <>...