Statistics
| Branch: | Tag: | Revision:

root @ c1912a48

# Date Author Comment
c1912a48 12/21/2012 05:47 pm Michael Hanselmann

gnt-* list-fields: Show friendly field type

For people writing query filters (documented in ganeti(7)) knowing a field's
type can be useful.

$ gnt-instance list-fields name be/memory
Name Type Title Description
name Text Instance Instance name...

5ff543c3 12/21/2012 04:09 pm Iustin Pop

Fix build after addition of 'empty-cluster.data'

Of course I forgot to add this to TEST_FILES… and only distcheck
catches it.

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

5e2e45b7 12/21/2012 04:06 pm Michael Hanselmann

Improve assertion message in LUClusterVerifyGroup

In issue 240 this assertion fails. While reproducing was not possible
with the master branch, having a more verbose message can't hurt.

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

be862db9 12/21/2012 03:55 pm Michael Hanselmann

gnt-network(8): Reorder commands

Hiding the “connect” and “disconnect” commands below the tag operations
isn't good. The same is done in “gnt-instance.rst”.

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

e23cb7ca 12/21/2012 03:55 pm Michael Hanselmann

gnt-network(8): Re-add editor settings and re-wrap

Commit a04cc7a added “gnt-network.rst”, but didn't copy the editor
settings from another reST file.

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

63c73073 12/21/2012 01:40 pm Bernardo Dal Seno

LVM disk creation uses dedicated PVs

When exclusive_storage is set, PVs are allocated according to the
design-partitioned design doc.

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

d4724b14 12/21/2012 01:40 pm Bernardo Dal Seno

Call blockdev_create RPCs with the exclusive_storage flag

The flag is read from the configuration and passed to the RPC.

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

ee1478e5 12/21/2012 01:40 pm Bernardo Dal Seno

Add exclusive_storage parameter to blockdev_create RPC

The flag is passed to the low-level functions that need it, but it's not
yet used.

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

59726e15 12/21/2012 01:40 pm Bernardo Dal Seno

Added class to contain information about a PV

This makes the code more readable and easier to upgrade.
bdev.LogicalVolume.GetPVInfo and the code that depends on it have been
refactored to use the new class.

utils.CheckVolumeGroupSize() has been moved to lib/utils/lvm.py, where more...

053976f3 12/21/2012 01:19 pm Iustin Pop

Add htest/hroller to .gitignore

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

04cc7d3f 12/21/2012 01:19 pm Iustin Pop

Extend hroller shell tests

Currently only --help and --version are tested; the patch extends this
with testing parsing of an empty cluster, of a cluster with one group,
and other command line behaviours.

It also adds testing for --help-completion for all htools binaries....

dccf6eaf 12/21/2012 12:16 pm Michele Tartara

Silence erroneous hlint warning

This patch adds an ignore for an hlint warning that wants camelcase to be used
in the name of a "case" test.
But if camelcase is used, it is not a valid test name anymore.

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

911ee606 12/21/2012 11:32 am Michael Hanselmann

opcodes: Common parameter for target groups

Also add a missing parenthesis at the end.

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

ee93aa8a 12/21/2012 11:32 am Michael Hanselmann

gnt-network: Fix CLI issues with node groups

The original implementation reserved the name “all” to specify all node
groups. That would prevent the use of a node group actually named “all”.

This patch changes the order and definition of the command line...

3fe5484a 12/21/2012 11:30 am Michael Hanselmann

gnt-network(8): Remove "rename"

It is not implemented after all.

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

3924c9e0 12/21/2012 11:29 am Michael Hanselmann

gnt-network CLI improvements

- Use unpacking instead of addressing indivdual list items
- Add “--submit” and “--priority” support where possible
- Re-use LUXI client where possible
- Fixed some typos

There is still an issue that a node group named “all” can not be...

f2212a5d 12/21/2012 11:29 am Michael Hanselmann

Improve network query algorithm

Similar to commit 572a277. Directly iterate over “self.wanted” instead
of iterating through all networks and checking if they're wanted.

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

070b780d 12/21/2012 11:29 am Michael Hanselmann

Change network error text

This error is thrown if a network name already exists, not if the
network itself (e.g. “1.2.3.0/24”) is defined.

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

503574ec 12/21/2012 11:27 am Michael Hanselmann

Format network field "group_list" in client

The field is now a list of tuples containing the group name, mode and
link.

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

f1222089 12/21/2012 11:24 am Dimitris Aragiorgis

Fix iallocator for nodegroups with no tags

_ComputeNodeGroupData() raises error if a group has no tags
when list(gdata.tags) is invoked. Use “gdata.GetTags()” instead.

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

37dfcacb 12/20/2012 06:34 pm Iustin Pop

Replace custom strip newlines in UUID generation

Since now rStripSpace lives in Utils.hs, we can use it directly (as
UUIDs shouldn't contain spaces anyway).

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

04063ba7 12/20/2012 06:17 pm Michele Tartara

Add Confd client to the Haskell code base

The client queries all the master candidates in parallel, until the minimum
number of replies, defined in the constant file, is received.
A timeout prevents the waiting from being of indefinite length.

The reply to be returned to the function that made the query is decided...

d8e9131b 12/20/2012 06:17 pm Michele Tartara

Add function to fetch the list of master candidates

This commits adds to the Haskell codebase a function to fetch the list of
IPs of the master candidates from the SSConf database.

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

1a0defea 12/20/2012 06:17 pm Michele Tartara

Add the parseReply function to the Confd utils

This function will be used by the Haskell Confd client to parse the replies
it receives from the server.

Unit test is included as well.

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

497f5cbf 12/20/2012 06:16 pm Michele Tartara

Rename the Confd utils parseMessage function to parseRequest

With the upcoming implementation of the Haskell Confd client, requests will
no longer be the only kind of message to be parsed, therefore the parsing
function for requests is being renamed to be more specific, and to better fit...

5bfcd75f 12/20/2012 06:16 pm Michele Tartara

Make the parseRequest function more general

The parseRequest function of the Confd utils can be used to parse both request
(in the server) and reply (in the client, soon to be implemented) signed
messages.
This patch changes the signature of the function to allow this, and its name...

80a0546b 12/20/2012 06:16 pm Michele Tartara

Add function for generating UUIDs in the Haskell codebase

Its first use will be to generate the salt for ConfD requests of the Haskell
client, as in the Python client.

Unit test added as well.

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

46300ac2 12/20/2012 06:15 pm Michele Tartara

Move Confd getCurrentTime to Utils

The Confd server implementation has a getCurrentTime function.
This commit moves it to the Utils.hs file of Confd, so that it will be
available to be used by the future Confd client as well.

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

9f6f74b4 12/20/2012 05:53 pm Iustin Pop

Fixup too-long-line in Objects.hs

Sorry, didn't see this before pushing the previous commit (277a2ec9).

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

277a2ec9 12/20/2012 05:29 pm Constantinos Venetsanopoulos

ExtStorage support in htools

This just adds new constructors for the disk template and related
types, enabling the Ext storage.

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

ea626b33 12/20/2012 05:12 pm Iustin Pop

confd: strip newlines before logging the request

The Python confd client sends newlines in messages (due to use of
DumpSignedJson/DumpJson), so that results in ugly debug output.

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

256e28c4 12/20/2012 05:12 pm Iustin Pop

Move rstripSpace from Ssconf to Utils

Also renames it in the process and adds a few tests for it.

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

53258324 12/20/2012 05:08 pm Michael Hanselmann

objects.NIC: Look up mode only once, capitalize acronym

Look up “NIC_MODE” only once, capitalize “NIC” in error messages.

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

42653ebd 12/20/2012 05:08 pm Michael Hanselmann

gnt-cluster(8): Quoting, small fixes

Quote fixed strings where appropriate and replace “nic” (an acronym)
with “network interface”.

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

eac9b7b8 12/20/2012 05:08 pm Michael Hanselmann

Add utility to format dictionary as key=value strings

This will be used in QA to format network interface parameters.

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

aa6c1bb1 12/20/2012 05:06 pm Constantinos Venetsanopoulos

Adjust LUInstanceSetParams wrt the `ext' template

Initial support for the `ext' template in gnt-instance modify.
Take care of all needed checks in CheckArguments and CheckPrereqs
wrt ExtStorage Providers and ext-params.

ExtStorage disk addition and specification of arbitrary ext-params...

938adc87 12/20/2012 05:06 pm Constantinos Venetsanopoulos

Multiple ExtStorage Providers and ext-params

Add support for passing parameters to the ext template (ext-params).
Take advantage of disk-params, that don't seem to make much sense in
this template (ExtStorage Providers are not predefined and we don't
know their needs) and use them to pass the ext-params dynamically to...

376631d1 12/20/2012 05:06 pm Constantinos Venetsanopoulos

Implement the External Storage Interface

With this commit we introduce the External Storage Interface
to Ganeti, abbreviated: ExtStorage Interface.

The ExtStorage Interface provides Ganeti with the ability to interact
with externally connected shared storage pools, visible by all...

32ba31be 12/20/2012 03:37 pm Michael Hanselmann

Stop all daemons on cluster initialization

Addresses issue 145. When daemons are still running from a previous
cluster instance, starting the daemons again will fail.
“ConfigWriter.IsCluster” only looks at the configuration file, which
could already have been deleted....

da1dcce1 12/20/2012 03:37 pm Helga Velroyen

Make node groups' networks field a dict of nicparams

The networks field of the node groups class is a dictionary
of nic params and not a list of networks. This should fix
the broken QA.

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

e7e2552e 12/20/2012 03:36 pm Constantinos Venetsanopoulos

Update the shared storage design document

Update the shared storage design document to reflect the current
changes, after the implementation of the ExtStorage interface.

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

5f30ea3f 12/20/2012 12:37 pm Michael Hanselmann

netutils: Normalize all FQDNs

Addresses issue 147. Only the hostnames resolved using
“netutils.Hostname($name)” were normalized, but those returned by the
class method “GetSysName” weren't.

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

814e1e23 12/20/2012 12:01 pm Iustin Pop

Display command description in htools usage message

By abstracting the command/personality formatting, we can easily
switch htools to the same output as the rest of the commands.

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

044fff06 12/20/2012 11:57 am Michael Hanselmann

More style updates for network-related code

Error message formatting, else/if merging to elif, docstrings.

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

aa279109 12/20/2012 11:57 am Michael Hanselmann

NEWS: Opportunistic locking, clarifications

Some rewording, some clarifications, and a new item on opportunistic
locking.

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

cfa79a23 12/20/2012 11:57 am Michael Hanselmann

cmdlib: Additional opportunistic locking check

If opportunistic locking is requested in the opcode, but no iallocator
is used (not specified or no default), an error will be raised.

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

4a6fce31 12/19/2012 07:44 pm Michael Hanselmann

Detect wrong Python module structure

If, for one reason or another, a module named "ganeti.ganeti" can be
succesfully imported (e.g. through a symlink in the wrong place), error
which are diffcult to debug can occur. This piece of code tests for the
unlikely case of that happening....

1a9eb17e 12/19/2012 07:28 pm Guido Trotter

Use hroller to print nodes to reboot by groups

This is highly incomplete, as per the manpage BUGS section.

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

3504d6c8 12/19/2012 07:28 pm Guido Trotter

Add hroller htools personality

This is a new personality that for the moment doesn't do anything.

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

1ba25bad 12/19/2012 07:26 pm Guido Trotter

Fix QA for --offline semantics modification

The previous patch series made it simpler to deal with ERROR_up offline
instances, but didn't fix qa, that had the old expectations. This fixes
that, and adds more testing about the expected behavior.

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

ff0c9604 12/19/2012 07:26 pm Guido Trotter

One more offline+shutdown fix

Currently gnt-instance shutdown --force of an offline instance
resets the offline status. Which of course is bad and completely
unintended. Fix. (caught by the new qa tests)

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

13659147 12/19/2012 07:15 pm Iustin Pop

Fix network LUs use of error code in OpPrereqError

Currently, most network LUs simply use EINVAL instead of correct error
codes; this patch tries to adjust the obvious cases.

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

572a277b 12/19/2012 06:55 pm Michael Hanselmann

_NetworkQuery: Simplify statistics computation

The code can loop directly over “self.wanted”, saving a lookup. An
explicit loop is also replaced with a generator.

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

892b5258 12/19/2012 06:55 pm Michael Hanselmann

cmdlib: Factorize network conflict detection

LUNetworkConnect and LUNetworkDisconnect had very similar code to detect
conflicts between instance's network interfaces and networks. This code
factorizes the common part and does some cleanup:

- Remove single-letter variable for lambda (“l”)...

84e110aa 12/19/2012 06:55 pm Michael Hanselmann

gnt-network: Fix import for textwrap

The style guide says to use “import foo”-style imports, not “from foo
import bar” unless it's a Ganeti module. There are some places with
exceptions, but this one certainly isn't warranted. Also fix the import
order.
...

b34864e8 12/19/2012 06:55 pm Michael Hanselmann

gnt-network add: "--network" is required

Also do some minor code re-formatting.

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

0f5c7770 12/19/2012 06:54 pm Michael Hanselmann

cmdlib: Replace period with colon in error message

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

b4600d4f 12/19/2012 06:54 pm Michael Hanselmann

query: Factorize code for getting statistics value

This was not only copied for the networking fields in commit 306bed0e,
but commit cfcea7ef fixed wrongly ordered parameters and didn't fix the
original. Either way, this patch merges the two cases again. The newly...

d6f3a69d 12/19/2012 06:54 pm Michael Hanselmann

gnt-network(8): s/ipv6/IPv6/

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

e896ad3d 12/19/2012 06:54 pm Michael Hanselmann

gnt-network add: Network mode bash completion

This makes entering the command easier.

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

6ef37395 12/19/2012 06:54 pm Michael Hanselmann

OpNetworkConnect: Check for network mode

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

e1195cd4 12/19/2012 06:54 pm Michael Hanselmann

Use generated field list in gnt-network.8

The list of query fields can be automatically generated.

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

0b3f2215 12/19/2012 06:54 pm Michael Hanselmann

Improve descriptions of network query fields

They should be in the same style as other descriptions.

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

b8028dcf 12/19/2012 06:29 pm Michael Hanselmann

Replace frozenset with compat.UniqueFrozenset

This is not a trivial s/frozenset/compat.UniqueFrozenset/, but rather
only replaces “frozenset” where appropriate. Most of the places are
“static” information that doesn't change after the module has been
loaded....

a30a6178 12/19/2012 05:41 pm Helga Velroyen

Renaming fam -> net_family on test network generation

Small renaming to make the test more readable.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Michele Tartara <>

5b48df93 12/19/2012 04:55 pm Helga Velroyen

Serialization compatibility test for node groups

This creates a number of node groups with up to 3 networks,
serializes them and compares them with their python equvalents.

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

0f0d7aba 12/19/2012 04:55 pm Helga Velroyen

Add a network fields to NIC params and node group type

This adds a network field to the NIC params and a list of networks
to the node group type. It adjusts the nodegroup's unit tests accordingly.

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

6f732ae0 12/19/2012 04:54 pm Helga Velroyen

Move Network definition ahead of depending definitions

Networks will be properties of NicParams and NodeGroups. Therefore
they need to be defined before those.

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

45317e3a 12/19/2012 03:45 pm Iustin Pop

Remove some unused Python code

This patch removes code which is no longer used due to refactoring:

- http.InitSsl, last usage removed in commit 33231500 (“Convert RPC
client to PycURL”)
- rapi.baserlib.MakeParamsDict, last usage remove in commit 4e5a68f8...

d45a824b 12/19/2012 03:45 pm Iustin Pop

Enable job queries via confd in gnt-node and RAPI

This patch is enabling split queries for jobs for gnt-node and rapi
access (only for job listing, not job waiting).

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

1ba01ff7 12/19/2012 03:45 pm Iustin Pop

Move a node-specific function to Query.Node

This shouldn't live in the main Query module, since it's too node
specific.

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

a7e484c4 12/19/2012 03:37 pm Iustin Pop

Add support for job queries in hconfd

This adds support for job queries, including (basic) unit-tests.

I've tested this for memory and cpu usage as follows:

- 3600 jobs (live queue):
- via masterd, default: ~1.1s (masterd: ~60MB ram)
- via confd, default: ~1.1s (hconfd: ~25MB ram)...

037762a9 12/19/2012 03:37 pm Iustin Pop

Change makeSimpleFilter accept NumericValues as well

This is required for QueryJobs implementation; we change
makeSimpleFilter to support both string and integers as names.

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

aa79e62e 12/19/2012 03:37 pm Iustin Pop

Add a read-only job queue module

This patch adds implementation for a read-only job queue module,
together with "full" test (as full as can be in a lazy language…).

One note about the behaviour of the job queue is the handling of
opcodes that fail validation: the 'input' opcode actually is a...

f94a9680 12/19/2012 03:37 pm Iustin Pop

Implement support for QFF_SPLIT_TIMESTAMP

I am very very unhappy with this patch. We have to do this, in order
to be compatible with the Python code and behaviour, but there's lots
of duplication; both the Python and the Haskell code will need to be
cleaned up and simplified (we don't need QFF_* at all)....

0ea11dcb 12/19/2012 03:14 pm Bernardo Dal Seno

Add exclusive_storage node parameter

Unit tests updated and expanded with an inheritance check.

The flag has no effect yet.

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

d3b06210 12/19/2012 03:14 pm Bernardo Dal Seno

Update design doc for partitioned Ganeti

PVs don't need to be marked as unallocatable, as the code will ignore
partially used PVs. exclusive_storage made a node parameter.

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

712da82f 12/19/2012 03:11 pm Helga Velroyen

Remove superfluous typing to Int

Forgot to fix that after the review of patch
"Haskell/python compatibility test for networks".

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

90634d95 12/19/2012 01:11 pm Iustin Pop

Extend job ID parsing tests

Since this is a type that behaves non-standard, let's add some more
test for "wrong" input values.

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

f56013fd 12/19/2012 01:11 pm Iustin Pop

Add a few tests for OpParams types

As OpParams definitions are used at Template Haskell type, they don't
get any coverage (although the values defined by them are actually
used in unittests). However, we can at least test some of the
functions defined in the module....

86aa9ba3 12/19/2012 01:10 pm Iustin Pop

Remove two hlint overrides

"Use comparing" was not needed, and "Use on" can be solved by actually
using on in the single case we have (the patch also reorders imports
in that file).

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

570274e4 12/19/2012 01:10 pm Iustin Pop

Add more mon-collector shell tests

These test the newly-changed behaviour, and fix an inconsistency in
the hs-check target (versus hs-coverage).

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

638e0a6f 12/19/2012 01:10 pm Iustin Pop

Improve mon-collector drbd CLI handling

Currently, this doesn't abort if multiple arguments are passed, and
the error message for errors during file read has a duplicate "Error".

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

988dc5ca 12/19/2012 01:10 pm Iustin Pop

Enable bash completion for mon-collector

This just ties in all the pieces so far and enables bash completion
for it.

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

24476fa0 12/19/2012 01:10 pm Iustin Pop

bash-completion: add support for multi-cmd Haskell binaries

This patch adds support for parsing the command list out of a binary
(very strict format), and then iterating over that and building the
sub-commands options/arguments.

It also does a bit of general cleanup in the script....

daf0de68 12/19/2012 01:10 pm Iustin Pop

Implement fake completion support for multi-cmd binaries

This will allow build-bash-completion to understand what is the list
of commands that each binary supports, and then provide recursively
completion support for each command.

Note: by "fake", I mean we use hand-built output and hardcoded...

e892cdfa 12/19/2012 01:10 pm Iustin Pop

Simplify htools.hs personality selection

No need to do a boolean-based lookup, we can use the regular
association list lookup.

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

559c4a98 12/19/2012 01:10 pm Iustin Pop

Add description to personality definitions

This allows usage information to display nicer help (like in Python).

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

630c73e5 12/19/2012 01:10 pm Iustin Pop

Introduce generic multi-command binary handling

Currently, the mon-collector binary is the only multi-command binary
we have in Haskell. Not surprisingly therefore, its command line
handling is not as robust as we need, not being able to support
standard "--help" commands....

2e6ef129 12/19/2012 01:10 pm Iustin Pop

Add a type alias for the personality lists

The signature of the personality definitions is so ugly that, at
least, we should hide it a bit behind a type alias.

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

55abd2c7 12/19/2012 01:10 pm Iustin Pop

Add a custom CLI module for DataCollectors

Currently, the mon-collector binary uses the HTools/CLI module, which
is OK but mean it links in lots of htools code. By copying that module
to DataCollectors/CLI and removing the unneeded code, we reduce the
number of modules it depends on fro 20 to 12, meaning both a shorter...

675f65b7 12/19/2012 01:10 pm Iustin Pop

Fix profiling targets

As noted by Guido, there are problems when using the hs-prof and
hs-prof-quick targets in the default configuration (compiling all
programs). The errors manifest in the form of wrong symbols during
compilation.

I knew that the hs-prof targets, which compiled multiple objects with...

0d57ce24 12/19/2012 01:02 pm Guido Trotter

Allow shutting down offline instance

If an instance is offline we definitely shouldn't start it up.
But shutting it down, should it be up by mistake is not "that" bad.
Still, we only allow it with --force, as it still performs an action on
an instance we shouldn't touch. This should make everybody happy....

eec7840a 12/19/2012 01:01 pm Guido Trotter

Allow running instances to be put online

If an instance is running (eg. ERROR_up) and at the same time offline,
there's no way to either shut it down or reonline it. This allows
onlining it. Offlining is still disabled for running instances.

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

05325a35 12/18/2012 04:09 pm Bernardo Dal Seno

Fixes and improvements to comments

Some fixes, added more information in a few points, removed a stale (5+
year old) TODO comment.

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

c96887cf 12/18/2012 03:22 pm Iustin Pop

Explain how to use GHCI to see spliced TH code

This can be more useful than the "make" version.

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

daa49d6f 12/18/2012 03:06 pm Michael Hanselmann

Fix error during cluster initialization due to hv_kvm

Commit 141d148 was a bit too enthusiastic. The three parameters added to
the list of parameters to be checked default to a value not evaluating
to false, leading to a failure on cluster initialization....

114e8500 12/18/2012 02:07 pm Dimitris Aragiorgis

Make LUNetworkAdd pass _VerifyLocks()

LEVEL_NODE_ALLOC should be aquired too if LEVEL_NODE is ALL_SET.

Signed-off-by: Dimitris Aragiorgis <>
Reviewed-by: Michael Hanselmann <>

0b288282 12/18/2012 11:24 am Helga Velroyen

Haskell/python compatibility test for networks

This patch contains the HUnit test that checks the compatibility
of Haskell-generated networks with the python code. For that the
generation of test instances of networks was enhanced to meet
the validation steps of the python implementation. Also, so far...

141d1489 12/17/2012 06:24 pm Michael Hanselmann

Add test for SPICE parameter list, add missing ones

“_SPICE_ADDITIONAL_PARAMS” is supposed to be the full list of
SPICE-related KVM hypervisor parameters with the exception of
“HV_KVM_SPICE_BIND”. The new test checks if all parameters starting with
“HV_KVM_SPICE_*” are included. Three previously missing parameters are...