Statistics
| Branch: | Tag: | Revision:

root / src / Ganeti @ 74b25887

# Date Author Comment
74b25887 05/13/2013 04:20 pm Michele Tartara

Add HS functions for getting the instance reason path

The getInstReasonFilename is built to resemble the python corresponding
function.

Signed-off-by: Michele Tartara <>
Reviewed-by: Klaus Aehlig <>

8d38fb72 05/10/2013 01:55 pm Klaus Aehlig

Support online-maintenance in hroller

Make hroller take into account the nodes (redundant) instances
will be migrated to. This be behavior can be overridden by the
--offline-maintenance option which will make hroller plan under
the assumption that all instances will be shutdown before starting...

30fded87 05/10/2013 01:55 pm Klaus Aehlig

Support construction of the graph of all reboot constraints

For online rolling reboots, there are two kind of restrictions. First,
we cannot reboot the primary and secondary nodes of an instance
together. Secondly, two nodes cannot be rebooted simultaneously, if...

2207220d 05/10/2013 01:55 pm Klaus Aehlig

Add option --one-step-only to hroller

Add a new option to hroller to only output information about the first
reboot group. Together with the option --node-tags this allows for the
following work flow. First tag all nodes; then repeatedly compute the
first node group, handle these nodes and remove the tags. In between...

a39779f6 05/10/2013 01:54 pm Klaus Aehlig

Sort reboot groups by size

Make hroller output the node groups not containing the master node
sorted by size, largest group first. The master node still remains
the last node of the last reboot group. In this way, most progress
is made when switching back to normal cluster operations after the...

004398d0 05/07/2013 07:40 pm Klaus Aehlig

Fix lint errors (redundant bracket)

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Guido Trotter <>

313fdabc 05/07/2013 06:59 pm Klaus Aehlig

Add option to hroller to select nodes based on tags

Add option --node-tags to tell hroller to consider only nodes
with these tags. A use case would be a tag tracking on which
nodes the maintenance has not yet been carried out, e.g., if
rolling reboots are interleaved with other cluster operations....

267bc1f4 05/07/2013 06:59 pm Klaus Aehlig

Make Rapi backed set node tags correctly

Since the htools representation of a node now allows adding
the node tags, populate this field correctly in the Rapi
backend.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Guido Trotter <>

f33c06b8 05/07/2013 06:59 pm Klaus Aehlig

Make LUXI backed set node tags correctly

Since the htools representation of a node now allows adding
the node tags, populate this field correctly in the LUXI
backend.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Guido Trotter <>

4b542ebc 05/07/2013 06:58 pm Klaus Aehlig

Extend the text format to contain node tags

In order to allow htools to make use of node tags, add them to the
text format. This is done by adding a new column at the end of the
node lines. If this column is missing, the default value (which
is the empty list) is left unchanged, thus yielding the current...

07ea9bf5 05/07/2013 06:58 pm Klaus Aehlig

Extend the Node in the htools to allow adding node tags

Since hroller (and probably other tools in the future) will support
node selection based on node tags, extend the node data structure to
allow adding this information.

Signed-off-by: Klaus Aehlig <>...

442d5aae 05/07/2013 06:58 pm Klaus Aehlig

Make hroller filter the nodes before coloring the graph

Hroller used to first compute a coloring of the node graph and then
filter out the nodes that it had to work on. While the only filtering
was according to node groups this did not make a difference, as there...

318c0a6c 05/07/2013 06:58 pm Klaus Aehlig

Make mkNodeGraph ignore edges to non-present nodes

Change the behavior of mkNodeGraph to tacitly ignore all instances
where one of the nodes is not in the list of nodes. In this way, we
can construct sub-graphs by filtering the nodes and ignoring any
possibly added isolated nodes for the missing indexes....

bcba4e01 05/03/2013 11:38 am Michele Tartara

Merge stable-2.7 into stable-2.8

Conflicts:
INSTALL
NEWS
configure.ac
src/Ganeti/Query/Group.hs
test/hs/Test/Ganeti/Objects.hs
test/hs/Test/Ganeti/Query/Query.hs

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

516a0e94 04/30/2013 06:38 pm Michele Tartara

Add reason trail to haskell opcode format

The haskell type definition of opcodes should remain aligned with the python
one.

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

3ff890a1 04/30/2013 06:38 pm Michele Tartara

Add the reason trail type definition in Haskell

It will be added to the haskell definition of opcodes, to keep it aligned to
the python one, and it will be used for fetching the reason trail by the
instance status data collector.

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

0791b57f 04/30/2013 10:57 am Michele Tartara

Remove outdated TODO comment

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

e580e9f7 04/30/2013 10:57 am Michele Tartara

Add proper error management to monitoring daemon

Produce a personalized 404 error when the requested resource is not available.

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

6327828e 04/30/2013 10:56 am Michele Tartara

Produce a report for all the data collectors

Implement the API function of the monitoring daemon that provides the report
of all the data collectors.

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

db1ad1d5 04/30/2013 10:56 am Michele Tartara

Generate report for a single collector

Allow to ask the monitoring daemon for the report of one specific data
collector.

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

75706f3a 04/30/2013 10:56 am Michele Tartara

Export the full report from DRBD data collector

Export the full report instead of just the data from the DRBD data collector.

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

a5ec6d88 04/30/2013 10:55 am Michele Tartara

Update JSON serialization for "category"

Change the JSON serialization for the "category" field of data collectors,
in accordance to the latest version of the design document.

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

ecb783f0 04/30/2013 10:55 am Michele Tartara

Implement the "list collectors" API in monitoring

Implement the handler for outputting the list of collectors
(name, category, kind) in JSON format.

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

c42fbe28 04/30/2013 10:49 am 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...

53822ec4 04/29/2013 06:54 pm Bernardo Dal Seno

hspace: Handle multiple ipolicy specs

With tiered allocation, hspace uses all the max specs in turn as the
initial instance spec.

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

41044e04 04/29/2013 06:53 pm Bernardo Dal Seno

Add multiple min/max specs in instance policy

Now instance policies can contain more than one min/max specs. This is the
main element of the "Constrained instance sizes" section in the
"Partitioned Ganeti" design doc.

This is a big patch, but changing the type of a configuration item requires...

3e0c2a24 04/29/2013 05:49 pm Klaus Aehlig

Log at info level the success of a luxi query

So far, any successful query was only logged at debug level, thus leaving
no traces in the logs, unless debugging was enabled. Therefore, we add
a notes about successful completion at info level. Also, repeat a failed...

61f3d56e 04/29/2013 05:48 pm Klaus Aehlig

Fix typo in documentation string

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Helga Velroyen <>

0f511c8a 04/24/2013 01:02 pm Bernardo Dal Seno

Limit specs in instance policies are always complete

Specs used to specify limits in instance policies are always complete, even
at group level (only the whole limit set can be overridden). This is in
preparation for introducing multiple limits.

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

30dd3377 04/22/2013 07:43 pm Klaus Aehlig

Extend the simulation backend to also simulate a master node

In a simulated cluster as created by the simulation backend to
the htools, make the first node of the first node group the master
node. In this way, hools (like hroller) that require a master node...

000ca91a 04/22/2013 07:43 pm Klaus Aehlig

Extend Text format by marking the master node

Sometimes, e.g., for hroller, it is necessary to know which node
is the master node. Therefore this information has to be included
in the text format as well. Since we never use an offline node as
master node, we can put this information can be put in the "is...

aa922d64 04/22/2013 02:10 pm Michele Tartara

Remove old "reason" implementation

Remove the useless parts of the old, partial, implementation of the support for
tracking the reason of instances state change, before implementing the new
reason trail support, as per the design document.

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

7dbe4c72 04/19/2013 02:54 pm Klaus Aehlig

Make hroller insist on finding precisely one master node

As people rely on the master node being the last node of the last
group, make hroller fail, if no master node could be found in the
cluster. This happens, e.g., if a backend format is used that does not...

bf028b21 04/19/2013 02:54 pm Klaus Aehlig

In Rapi, set master correctly

The cluster data contains the information about the master
node. Use this information to set the isMaster bit correctly.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Guido Trotter <>

f40fe08c 04/19/2013 02:54 pm Klaus Aehlig

In Luxi, set the master correctly

The cluster data contains the information about the master
node. Use this information to set the isMaster bit correctly.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Guido Trotter <>

09ab9fb2 04/19/2013 02:54 pm Klaus Aehlig

Utility function to set the master node in a node list

The information about which node is the master node is a cluster-wide
setting, in most formats provided independently of the node information.
Most backends therefore have to set the isMaster bit indepently in the...

5b658b83 04/19/2013 02:54 pm Klaus Aehlig

Make Hroller present master node last

If in the list of nodes to be scheduled for maintaince,
one is marked as being the master node, schedule it
as the last node in the last group.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Guido Trotter <>

6c332a37 04/19/2013 02:53 pm Klaus Aehlig

Extend the node description by isMaster

Extend the description of the node by the property
of being the master node; also provide and appropriate
setter function. This property will be used, e.g., by
hroller to schedule reboot of the master last.

Signed-off-by: Klaus Aehlig <>...

ffc18bb2 04/17/2013 10:29 pm Thomas Thrainer

Fix warnings hlint 1.8.43 complained about

These lines are ok according to previous versions of hlint but trigger
an error with version 1.8.43.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Helga Velroyen <>

3c1a8730 04/17/2013 07:04 pm Christos Stavrakakis

Add nic/disk name and UUID fields in Haskell code

Add name and uuid fields to Disk and nic Haskell objects. Also,
since they now have an UUID, make them instances of UuidObject.

Signed-off-by: Christor Stavrakakis <>
Reviewed-by: Helga Velroyen <>

4e4433e8 04/17/2013 07:04 pm Christos Stavrakakis

Add name to INicParams and IDiskParams

This commits adds name to NIC and Disk modification definition.

Signed-off-by: Chris Stavrakakis <>
Reviewed-by: Helga Velroyen <>

7209d304 04/12/2013 12:31 pm Klaus Aehlig

Fix typo in documentation string

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Michele Tartara <>

723ec678 04/12/2013 12:31 am Guido Trotter

Merge branch 'devel-2.7'

  • devel-2.7: (26 commits)
    Fix burnin install path
    Fix format of the NEWS file
    NEWS: Add news entry for the hail disk policy fix
    Add shelltests verifying hail applies disk ipolicy per disk
    Make the disks parameter available to the constructor...
2522c59e 04/11/2013 11:53 pm Helga Velroyen

Removes the 'sharedfile' storage type

Since storage type are supposed to represent the underlying technology
of disk templates, the storage type 'sharedfile' is superfluous, because
technically both disk templates 'file' and 'sharedfile' use the file system....

9c8c69bc 04/11/2013 11:53 pm Helga Velroyen

Removes obsolete 'enabled storage types'

Since managing of different storage units is now done using
disk templates and not storage types, we remove the obsolete
enabled storage types.

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

66af5ec5 04/11/2013 11:52 pm Helga Velroyen

gnt-cluster modify: modify enabled disk templates

Adds setting of the list of enabled disk templates to 'gnt-cluster modify'.
Note that this does not yet include any verification regarding disk templates
currently used by instances.

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

966e1580 04/11/2013 11:52 pm Helga Velroyen

gnt-cluster info: report enabled disk templates

Add reporting of the currently enabled disk templates to
'gnt-cluster info'.

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

1b02d7ef 04/11/2013 11:52 pm Helga Velroyen

Add enabled disk templates to cluster cfg

This patch adds constants for enabling disk templates to the constants,
and the cluster configuration in haskell and python. It removes the
obsolete preference list for enabled storage types.

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

241cea1e 04/11/2013 05:10 pm Klaus Aehlig

Make the disks parameter available to the constructor

In that way, tools building on Instance will benefit from the corrected
verification semantics of the instance policy on disk space.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Guido Trotter <>

e51e0f88 04/11/2013 05:09 pm Klaus Aehlig

Verify individual disks in Instance

Instance policy on disks is specified on a per-disk basis. So extend
the instance description by the sizes of the individual disks and modify
the instance policy verification to correctly check individual disks.

Signed-off-by: Klaus Aehlig <>...

d860352f 04/11/2013 03:37 pm Michele Tartara

Compatibility fix for GHC 7

Importing an instance, like JSON, automatically allows the names of all
its functions to be used.

If one of this functions (namely showJSON) is imported separately, GHC 6
is fine with that, but GHC 7 emits a warning (therefore, the compilation of...

3cecd73c 04/08/2013 12:25 pm Michele Tartara

Backwards compatibility fix for Lucid

The code introduced by the previous commit triggered a possible library
conflict in Ubuntu Lucid.

This patch introduces an equivalent but more widely acceptable version of
the same code.

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

be0cb2d7 04/08/2013 10:50 am Michele Tartara

Properly export errors while reading job list

In case of problems while reading the job list from disk (such as permission
errors) confd would silently fail, writing a warning on the log file but
sending an empty list and no error message to the client.
...

3e02cd3c 04/08/2013 10:49 am Michele Tartara

Fix typo and improve comment

Signed-off-by: Michele Tartara <>
Reviewed-by: Guido Trotter <>

d2204b1a 04/02/2013 02:01 pm Klaus Aehlig

Add parameter pnode to OpInstanceSetParams

This parameter will be used to set the new primary node
of an instance, assuming that the disks have been moved
by other means (outside ganeti's control).

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Guido Trotter <>

9572482e 03/28/2013 03:13 pm Michele Tartara

Correct typos in comments

Correct four typos in the comments of the Drbd types file.

Signed-off-by: Michele Tartara <>
Reviewed-by: Bernardo Dal Seno <>

2d1c753d 03/28/2013 03:13 pm Michele Tartara

Add status information to the DRBD data collector report

Add status information as required by the design document.

Signed-off-by: Michele Tartara <>
Reviewed-by: Bernardo Dal Seno <>

8c5419ee 03/28/2013 03:13 pm Michele Tartara

Export the data collected by DRBD in JSON format

Write an intermediate function computing the JSON data before adding them
to the DCReport.

Directly export the data computed by that function (with default parameters)
allowing them to be used (in the future) by the monitoring agent....

82437b28 03/28/2013 03:13 pm Michele Tartara

Add DCStatus data type for the data collectors

Also adds the DCStatusCode, part of DCStatus, and the addStatus
utility function for adding the "status" field to an already existing
JSValue.

The design document is updated to have the status codes sorted by increasing...

54c7dff7 03/28/2013 03:13 pm Michele Tartara

Add Kind data type for data collectors

Also, add it to the DRBD data collector, and export it from there.

Signed-off-by: Michele Tartara <>
Reviewed-by: Bernardo Dal Seno <>

f0e4b2a4 03/28/2013 03:13 pm Michele Tartara

Add data type for data collector category

Also, update the DRBD data collector to use and export it.

Signed-off-by: Michele Tartara <>
Reviewed-by: Bernardo Dal Seno <>

834dc290 03/28/2013 03:13 pm Michele Tartara

Export the dcVersionInformation for the Drbd collector

Also, update the JSON output (and the design document) so that it is not
in camelcase anymore. This is part of a bigger effort to remove camelcase
from the exposed JSON.

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

a895fa19 03/28/2013 03:12 pm Michele Tartara

Add data collector version data type

Define the new data type and update the DRBD data collector to use it.

Signed-off-by: Michele Tartara <>
Reviewed-by: Bernardo Dal Seno <>

7a171e3f 03/28/2013 03:12 pm Michele Tartara

Fix comment line position in DRBD data collector

Signed-off-by: Michele Tartara <>
Reviewed-by: Bernardo Dal Seno <>

ddceb4c5 03/28/2013 03:12 pm Michele Tartara

Export dcName information of Drbd data collector

Signed-off-by: Michele Tartara <>
Reviewed-by: Bernardo Dal Seno <>

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

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

7b9ceea7 03/21/2013 05:41 pm Helga Velroyen

gnt-cluster info: show enabled storage types

This extends the 'gnt-cluster info' command to list the storage types
that are enabled on the cluster. It also fixes the broken indentation
in the 'handleCall' function.

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

d0de443e 03/21/2013 05:40 pm Helga Velroyen

Add 'enabled_storage_types' to the cluster config

This patch adds the cluster's new field 'enabled_storage_types'
to the configuration objects in python and haskell.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Guido Trotter <>

423b2dd5 03/21/2013 12:30 pm Michele Tartara

Add monitoring HTTP API structure

Add all the supported commands to the API.
The actual response is still to be implemented.

Signed-off-by: Michele Tartara <>
Reviewed-by: Guido Trotter <>

eb65c915 03/21/2013 12:29 pm Michele Tartara

Add basic HTTP server functionalities to Mond

Add a stub implementation of the Mond HTTP server to Mond using the Haskell
snap-server library.

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

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

cb44e3db 03/20/2013 01:25 pm Helga Velroyen

Typo 'repot' in Server.hs

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

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

60a67263 03/12/2013 06:16 pm Iustin Pop

Fix network query field types/names in the Haskell code

The headers/type/descriptions had some differences from the Python
code, when checked for exact equivalence.

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

7c17db26 03/12/2013 06:16 pm Iustin Pop

Fix gnt-backup list -o node via confd

Currently, the 'node' field is declared as a simple config field, so
when only selecting this fields, the runtime gathering is no longer
run and it's presumed that all nodes have a backup. So the output is
not truthful (instead of just listing the nodes with at least one...

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

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

Sort instance list in gnt-group list -opinst_list

The Python code currently sorts this, but the Haskell code not.

This should maybe have a test, but I'm not sure how far we want to
encode such properties in tests… (and the real reason I'm not adding
one is that we don't have a way to generate a random cluster with...

82953e9a 03/12/2013 06:16 pm Iustin Pop

Change node disk/hv_state query in confd

Currently, the Python code returns either FS_UNAVAIL (if these
attributes are None) or the proper dicts. As we don't allow editing of
these attributes, in most cases they will therefore be FS_UNAVAIL on
the client....

87f1a454 03/12/2013 06:16 pm Iustin Pop

A few style fixes in Ganeti.Network

Side-effects of working on some other network-related stuff…

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

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

Add missing external_reservations query field in confd

Based on the implemented Ip4Network/Address types, we can now compute
the (external) reservations.

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

4f73cfc9 03/08/2013 05:46 pm Iustin Pop

Merge branch 'devel-2.7'

  • devel-2.7:
    Change hbal behaviour in case of early exit
    Fix build/sphinx_ext.py with tuple defaults for op params
    Fix bug in man build rule
    Fix hscolour style sheet building

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

2d6bdcc5 03/08/2013 02:50 pm Iustin Pop

Change hbal behaviour in case of early exit

Currently, hbal exits with status 1 if early exit is requested, even
when all jobs are successful. This is counter-intuitive behaviour, so
let's fix it (Issue 386).

Note that the man page had conflicting information already, so it's a...

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

1498270e 03/05/2013 05:53 pm Iustin Pop

Constants.hs.in: improve Haddock markup in the template

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

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...
d58d44f3 03/04/2013 06:39 pm Iustin Pop

Switch Attoparsec parser from double to rational

According to the documentation, “This function is almost ten times
faster than rational, but is slightly less accurate. For 94.2% of
numbers, this function and rational give identical results, but for
the remaining 5.8%, this function loses precision around the 15th...

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

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

Abstract the individual query functions

After implementing a few of the query executor functions, it turns out
that we have the same general pattern:

- compile the filter
- extract the selected fields
- determine whether we need to run collectors
- do a first pass filtering...

dce08ad3 03/04/2013 06:08 pm Iustin Pop

Allow confd to serve network list-fields queries

The fields are not yet complete, but at least we can enable the
list-field query to see what is there already.

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

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

0e42ef67 03/04/2013 12:35 pm Michele Tartara

Fix improperly formatted docstring

Change the docstring of chompPrefix to prevent the error
"doc comment parse failed" that was raised by some version of
haddock while generating the documentation for this function.

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

bfa99f7a 03/04/2013 12:35 pm Iustin Pop

Fix low verbosity levels in htools

In a few cases, we tested the verbosity level for (== 0), instead of
higher/lower than a certain value. If the user passes multiple
"--quiet" options, this can result in negative verbosity levels, which
behave like "extra verbosity"....

64b0309a 03/04/2013 12:35 pm Dimitris Aragiorgis

Fix confd issue regarding --no-lvm-storage

If cluster is initialized with --no-lvm-storage then volume_group_name
does not exist in config.data. Thus we must define it as optional in
confd.

Signed-off-by: Dimitris Aragiorgis <>
[: fixed Haskell RPC definition]...

2fce67b6 02/25/2013 08:05 pm Guido Trotter

HRoller: allow filtering by node group

Accept the -G option, and if it's passed require that it matches a
nodegroup, then only output nodes belonging to that group.

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

544029d3 02/25/2013 08:05 pm Guido Trotter

HRoller: print only online nodes

To make the graphs work even when instances live on offline nodes (eg.
because we're offlining them just to exclude them, or because they have
instance still on them) we just filter them out at the end, when we're
going to print out the result....

c4bf507b 02/25/2013 11:37 am Iustin Pop

Implement Export queries in Haskell

This is a simple query as it has only two fields, however it's the
first query that doesn't have a clear 'base' object and 1:1
correspondence between such objects and the results (groups, nodes and
networks do so).

We keep nodes as the 'base' object, since that's what we want to...

842515dd 02/25/2013 11:36 am Iustin Pop

Add export_list RPC call definitions

This is straightforward, as the call has no parameters and a very simple return type.

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