Statistics
| Branch: | Tag: | Revision:

root @ 3e16567e

# Date Author Comment
3e16567e 12/27/2012 03:34 pm Iustin Pop

Rename test/hs/test to htest

The current base name of 'test' means that this binary will generate
profiling, coverage, etc. files with the name 'test.*', result in
tab-completion conflicts with the test directory. Let's slightly
change its base name for typing easiness....

83846468 12/27/2012 03:34 pm Iustin Pop

Move htest/ files under the test/ tree

htest/data becomes test/data/htools (basically reverting commit
8feabc89), and htest/* becomes test/hs/*.

Most changes beside the rename are trivial s/…/…, with the exception
of autotools/run-in-tempdir, which needed some more changes now that...

90066780 12/27/2012 03:34 pm Iustin Pop

Move python test files to test/py

This is the first step of the test files reorganisation: moving test/*
(except test/data) to new directory test/py/.

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

19e1b715 12/27/2012 03:33 pm Iustin Pop

Return master ip script output in case of failure

Currently only the exit code is returned, which is somewhat pointless:
for failures, we already know it's ≠ 0, so we don't have enough
information (reported on the mailing list). By logging the output as
well (if any), the user will have more information available for...

d9a900dc 12/27/2012 03:33 pm Iustin Pop

Replace htools→hs in configure/makefile rules

This continues the cleanup of the 'htools' name, by replacing 'htools'
with 'hs' in configure and makefile rules.

There is still 'WANT_HTOOLS' left as it is correct, but some of the
conditionals in Makefile.am will need some cleanup (in a different...

8775e62a 12/27/2012 03:33 pm Iustin Pop

Fix LUInstanceRecreateDisks with iallocator

Recent iallocator changes (commit fb60bc6a, “iallocator: Add node
whitelist”) broke the parameter validation for LUInstanceRecreateDisks
(the other LUs were manually fixed already):

$ gnt-instance recreate-disks -I hail --dry-run instance3...
8775b5b2 12/27/2012 03:32 pm Iustin Pop

Fix dependency on built python sources for hs-check

Since we call into Python for opcodes and other type compatibility
checks, we need to ensure that the python sources are
built. Otherwise, full parallel make might or might not break,
depending on timing....

3add7574 12/24/2012 11:38 pm Iustin Pop

Rename htools/ to src/

Per offline discussions, this is the first patch of the
renames. Tested with "make distcheck", seems to work fine.

The only change outside of the renaming is a bit of simplification in
the .gitignore rules; otherwise, simply s/htools/src/....

75b32fff 12/22/2012 08:11 pm Iustin Pop

Optimise autotools/run-in-tempdir

I made a mistake when adding support for htools to run-in-tempdir, by
needlessly copying the htools binaries, when it's enough to link
them. The copying is only really needed for python code, so we change
the Haskell binaries to linking and also a few other directories....

acaf3ca7 12/22/2012 08:11 pm Iustin Pop

Fix building of Constants.hs w.r.t .pyc files

Unless this is run under run-in-tempdir, it will create as usual the
.pyc files.

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

b954f097 12/22/2012 11:47 am Constantinos Venetsanopoulos

Add the gnt-storage client

Add a new client called 'gnt-storage'.
The client interacts with the ExtStorage interface, similarly to
the way gnt-os interacts with the OS interface.

For now, only two commands are supported: 'info' and 'diagnose'.

'diagnose' calculates the node status of each provider on each node,...

95b92c34 12/22/2012 11:47 am Constantinos Venetsanopoulos

Add ExtStorage related man pages

  • ganeti-extstorage-interface man page
  • gnt-storage man page

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

c64c3854 12/22/2012 09:40 am Iustin Pop

Extend the hcheck shell tests

This adds a few new hcheck tests, to extend the coverage.

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

591fa888 12/22/2012 09:40 am Iustin Pop

Extend the hbal shell tests

After this patch, almost all of hbal except the actual Luxi execution
is being covered by unit- or shelltests.

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

108c0a3e 12/21/2012 10:26 pm Iustin Pop

Merge branch 'devel-2.6'

  • devel-2.6:
    Final update of NEWS file for 2.6.2 and version bump
    Fix job completion with big job queues
    confd: reduce noise during normal config reload
    Change hbal handling of !auto_balance instances
    Small corrections in man pages...
ce003543 12/21/2012 08:50 pm Iustin Pop

Fix build breakage after exclusive storage commits

This fixes:

htest/Test/Ganeti/Rpc.hs:50:14:
Couldn't match expected type `Rpc.RpcCallNodeInfo'
against inferred type `Data.Map.Map String Bool
-> Rpc.RpcCallNodeInfo'...

478a3308 12/21/2012 08:42 pm Iustin Pop

Merge branch 'stable-2.6' into devel-2.6

No conflicts, really trivial.

  • stable-2.6:
    Final update of NEWS file for 2.6.2 and version bump
    Fix job completion with big job queues
    confd: reduce noise during normal config reload
    Change hbal handling of !auto_balance instances...
2a196443 12/21/2012 07:06 pm Bernardo Dal Seno

Refactor checks for a new template in LUInstanceSetParams

All the checks have been moved to a private method, so as to make
CheckPrereq() smaller and more readable (pylint was complaining about it).

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

6ebfef42 12/21/2012 07:06 pm Bernardo Dal Seno

LUs raise an error if they cannot handle exclusive_storage

This happens when the exclusive_storage flag is set, and the requested
operation is incompatible with the flag or not yet supported.

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

61481c52 12/21/2012 06:52 pm Bernardo Dal Seno

Free disk space reporting follows exclusive storage rules

When exclusive_storage is set, nodes report only the space that could be
used to create new disk according to the rules set in the
design-partitioned doc (i.e., non-empty disks are ignored and the space...

319322a7 12/21/2012 06:45 pm Bernardo Dal Seno

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

1a3c5d4e 12/21/2012 06:45 pm Bernardo Dal Seno

Add exclusive_storage parameter to node_info RPC

The flag is passed to the low-level functions that need it, but it's not
yet used. Also, RPCs get just a default value for now.

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

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

78453739 12/21/2012 05:47 pm Michael Hanselmann

QA: Do not pass "--bridge" to "gnt-cluster init"

Commit ec0652a (June 2009) removed the option.

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

3601d488 12/21/2012 05:47 pm Michael Hanselmann

QA: Support master-netdev and default NIC parameters

Requested in issue 337.

The parameter “bridge” was not documented and is therefore silently
replaced with “master-netdev”. A note is added to “qa-sample.json”
describing how comments work.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

efe2137a 12/20/2012 02:16 pm Iustin Pop

Final update of NEWS file for 2.6.2 and version bump

I'm already setting this to a release date of tomorrow, since QA on
the 2.6 branch has been clean.

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

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

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

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

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

e0f470ac 12/19/2012 03:52 pm Iustin Pop

Fix job completion with big job queues

Accidentally stumbled upon this while testing unrelated code on a
machine with ~3K active jobs - the bash completion unittest was
hanging.

Upon investigation, it turns out that bash's ${var//pattern/repl/} is
probably quadratic in the size of input (or worse, even):...

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

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

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