Statistics
| Branch: | Tag: | Revision:

root / src / Ganeti / Query @ 07e68848

# Date Author Comment
3cb9bd38 11/08/2013 06:57 pm Jose A. Lopes

Fix reference to vcs version in query server

Fix reference to vcs version in query server to take its value from
the Haskell constant in 'Ganeti.Version' instead of using the constant
generated from Python.

Signed-off-by: Jose A. Lopes <>...

c87997d2 10/08/2013 03:57 pm Jose A. Lopes

Hs2Py constants: add 'osApiVersions'

Add constant 'osApiVersions' to the Haskell to Python constant
generation. This patch fixes the type of this constant, by changing
from 'List' to 'Set', therefore, 'Ganeti.Query.Server' is updated
accordingly.

Signed-off-by: Jose A. Lopes <>...

ecf43dcb 10/08/2013 03:57 pm Jose A. Lopes

Hs2Py constants: add node parameter related constants

Add node parameter related constants to the Haskell to Python constant
generation. This patch also fixes a type inconsistency between
Haskell and Python, namely, 'ndsParameterTypes' and
'ndsParameterTitles' become 'Map's instead of 'Tuple's, which allows...

8e6ef316 09/19/2013 06:15 pm Jose A. Lopes

Move data types from 'Objects' to 'Types'

Move several Haskell data types from 'Ganeti.Objects' to
'Ganeti.Types' in order to be able to generate constants while
avoiding module circularity.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Klaus Aehlig <>

a8633d70 09/19/2013 11:52 am Jose A. Lopes

Add constructor 'TagKindNetwork' to 'TagKind'

Add missing constructor 'TagKindNetwork' to 'Ganeti.Types.TagKind'
which is the counterpart of the Python constant 'TAG_NETWORK'. This
fixes issue 578.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Klaus Aehlig <>

1ca326c8 08/07/2013 06:46 pm Thomas Thrainer

Merge branch 'stable-2.9'

  • stable-2.9
    Fix batch creation of instances
    Fix documentation of gnt-instance batch-create
    Support multi instance allocs without iallocator
    Support DSA SSH keys in bootstrap
    Include VCS version in `gnt-cluster version`...
804d72eb 08/07/2013 05:41 pm Thomas Thrainer

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Fix batch creation of instances
    Fix documentation of gnt-instance batch-create
    Support multi instance allocs without iallocator
    Support DSA SSH keys in bootstrap
    Include VCS version in `gnt-cluster version`...
6e94b75c 08/07/2013 10:41 am Jose A. Lopes

Update Harep, Query server, and tests

Update Harep, Haskell query server, and tests concerning Luxi and
opcodes to reflect the changes to Haskell to Python opcode
generation. This change is necessary because TagObject is replaced by
TagKind and some types in opcodes and parameters changed to be...

026f444f 08/06/2013 04:32 pm Thomas Thrainer

Include VCS version in `gnt-cluster version`

Also print the VCS version in the output of `gnt-cluster version`. This
makes the VCS version also available over RAPI, etc.

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

858ecf2b 07/18/2013 06:32 pm Klaus Aehlig

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Fix permission problem related to Issue 477
    Add hs function to easily change file ownership

Conflicts:
src/Ganeti/Utils.hs (trivial)
trivial

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

e455a3e8 07/18/2013 11:35 am Michele Tartara

Fix permission problem related to Issue 477

Commit 91525dee856951ace940c78b6254a1c7344b4803 fixed Issue 477 but broke
"gnt-cluster info".

This commit offers a solution to both problems, by changing the permission
of the socket instead of changing the permission the confd process is run...

489c9037 07/17/2013 07:55 pm Klaus Aehlig

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Rename queryd to luxid
    Document the rapi client not to have a QueryNetworks method
    Enable unit tests again
    Document ganeti-queryd
    Add ganeti-queryd to QA env test
    Add queryd daemon (split from confd)...
3695a4e0 07/17/2013 06:04 pm Thomas Thrainer

Rename queryd to luxid

As queryd will, in the future, handle all LUXI request, queue jobs and
most likely perform various other tasks, it is renamed to luxid already.
This will safe some headache when upgrading Ganeti installations, as we
don't have to deal with a daemon rename....

670e954a 07/17/2013 12:33 pm Thomas Thrainer

Add queryd daemon (split from confd)

queryd is added as a new daemon which handles configuration queries over
LUXI. This functionality was removed from confd, which now only queries
over the network.

The queryd user is added to the master group such that it can access...

218e3b0f 07/17/2013 12:33 pm Thomas Thrainer

Extract ConfigReader from Confd/Server.hs

Confd's functionality to watch the Ganeti configuration file is
extracted to the ConfigReader module. No functional changes are
introduced.

This extraction makes will enable us to split queryd from confd, as
queryd will have to use the same functionality....

beb9c009 07/16/2013 12:09 pm Christos Stavrakakis

Add timestamps to haskell network query fields

Add timestamp fields to the list of available network query fields in
the Haskell code.

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

c832f7e9 07/16/2013 10:29 am Klaus Aehlig

Merge branch 'stable-2.8' into master

  • stable-2.8
    Change method dispatch in ClientOps to enforce luxi.REQ_ALL
    Allow modify_etc_hosts to be changed
    Add --modify-etc-hosts option for CLI tools
    Add luxiReqQueryNetworks to LuxiOp
    Log received message at debug level...
795d035d 07/12/2013 04:42 pm Klaus Aehlig

Add luxiReqQueryNetworks to LuxiOp

When the QueryNetwork was introduced as a method, apparently
it was forgotten in the Haskell world. Add it here as well.

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

385d4574 07/12/2013 04:42 pm Klaus Aehlig

Log received message at debug level

At debug level, we can well afford to have a detailed entry
for each message received by a server.

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

c393abbf 07/11/2013 02:42 pm Michele Tartara

Log RPC errors from inside executeRpcCall

executeRpcCall is the function to be used for executing RPCs, so it makes sense
to use it as the single point for logging all thte RPC call errors.

Fixes Issue 293.

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

a246ce76 07/11/2013 02:41 pm Michele Tartara

Factor out the logRpcErrors function

This function can be useful to multiple RPC calls, therefore it is moved
to the file containing the common RPC functions.

Also, it is made more generic by changing its signature.

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

b23226d5 07/09/2013 05:22 pm Michele Tartara

Prevent silent failure in case of connection problems

While running "gnt-node list", if a query to ConfD fails (especially
because of permission problems) it used to just fail silently, with gnt-node
showing question marks instead of data.

With this patch, ConfD records the error in its log file, together with a...

76825515 07/05/2013 03:12 pm Klaus Aehlig

Merge branch 'stable-2.8' into master

  • stable-2.8:
    Also remove prop_IterateAlloc_sane from test list
    Fix documentation for prop_Alloc_sane
    Remove IterateAllocSane test
    Clean up work around for host name filtering
    Do not handle host queries special...
e78a8c0b 07/03/2013 02:05 pm Helga Velroyen

Extraction of storage info by type

There was a bug in the node queries. It was assumed that
the returned storage space information was in a particular
order. With the changes in the storage reporting, this
order is not that reliable anymore, in particular, the...

56bbc5b0 07/03/2013 10:16 am Klaus Aehlig

Clean up work around for host name filtering

These functions simply served as a work around to express
host name matching by regular expressions, instead of using
correct equality filter on host names that provides
the correct matching already.

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

c4e0d065 07/03/2013 10:16 am Klaus Aehlig

Do not handle host queries special

As, since 91c1a265, the equality used for host names already
is based on matching, there is no need to use a special function
for this any more.

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

212b66c3 07/02/2013 01:53 pm Helga Velroyen

Turn 'exclusive_storage' into storage parameter (hs)

This is the haskell implementation of my patch "Extend RPC call
'node_info' by storage parameters". It turns the 'exclusive
storage' flag into a storage parameter of the LVM storage types.
Besides that, this patch moves some types into the Types.hs....

f43c898d 07/01/2013 02:40 pm Bernardo Dal Seno

Export CPUs used by the node OS

They are exported through the LUXI, RAPI, and IAllocator interfaces.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Klaus Aehlig <>

3dda8127 06/27/2013 12:05 pm Helga Velroyen

Make NodeInfo (hs) accept arbitrary storage types

So far, the Haskell implementation of NodeInfo just
requests storage information about volume groups.
With this patch, storage info for abitrary storage
types can be requested.

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

dad226e3 06/26/2013 12:18 pm Thomas Thrainer

Merge branch 'stable-2.8' into master

  • stable-2.8:
    gnt-cluster info (py): add enabled disk templates
    Version bump to 2.8.0~beta1
    Change version numbers in documentation
    Fix issue with python coverage tests
    Merge branch 'stable-2.7' into stable-2.8...
e4b5f955 06/25/2013 10:55 am Guido Trotter

Merge branch 'stable-2.7' into stable-2.8

  • stable-2.7:
    Provide the right fix for the kvm_extra parameter
    NEWS and version updates for 2.7.0~rc3
    kvm: don't pass whole extra as a single argument
    For node queries allow short forms of host names
    Provide a special filter for host names...
85218237 06/24/2013 05:11 pm Klaus Aehlig

For node queries allow short forms of host names

For node queries use the host-name filter instead of the simple
equality-based one.

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

0122b96d 06/24/2013 05:11 pm Klaus Aehlig

Provide a special filter for host names

For host names, usually short forms are used, e.g., node1 or node1.sub
instead of the full qualified node1.sub.example.com. Therefore comparing
node names only by equality is too restrictive. This patch provides an...

da4a52a3 06/20/2013 05:04 pm Thomas Thrainer

Index instances by their UUID

No longer index instances by their name but by their UUID in the cluster
config. This change changes large parts of the code, as the following
adjustments were necessary: * Change the index key to UUID in the configuration and the...

4b763320 06/18/2013 11:14 am Helga Velroyen

Revert "Make NodeInfo (hs) accept arbitrary storage types"

This reverts commit
e89525a859b2e841c08fce506c0b68b97c7efe61.

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

e89525a8 06/17/2013 08:33 pm Helga Velroyen

Make NodeInfo (hs) accept arbitrary storage types

So far, the Haskell implementation of NodeInfo just
requests storage information about volume groups.
With this patch, storage info for abitrary storage
types can be requested.

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

32389d91 06/14/2013 02:43 pm Helga Velroyen

Refactor NodeInfo RPC regarding storage reporting

The NodeInfo RPC call is refactored to handle now more than
just storage reporting for volume groups.

Since NodeInfo now returns storage space information not
necessarily for volume groups, but also for other storage...

68af861c 06/13/2013 07:23 pm Helga Velroyen

Fix lookup of xen toolstack in Haskell

There was a bug in the haskell implementation of node
query which made the lookup of the xen toolstack xm/xl
fail.

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

1c3231aa 06/13/2013 12:32 pm Thomas Thrainer

Index nodes by their UUID

No longer index nodes by their name but by their UUID in the cluster
config. This change changes large parts of the code, as the following
adjustments were necessary: * Change the index key to UUID in the configuration and the
ConfigWriter, including all methods....

030ab01a 06/12/2013 10:18 am Helga Velroyen

Add hvparams to RPC call 'node_info'

This patch adds the hvparams parameter to the RPC call
'node_info'. It also adjusts the related code in noded.py
and Query/Node.hs

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

06fb92cf 06/07/2013 04:10 pm Bernardo Dal Seno

Export node spindles

Node spindles (queried live) are exported through the LUXI, RAPI, and
iallocator interfaces.

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Klaus Aehlig <>

4b92e992 05/21/2013 03:13 pm Helga Velroyen

RPC 'node_info': <storage_type,key> instead of vg_names

This replaces the field 'vg_names' in the RPC call of 'node info' by
'storage_units'. A storage unit is a tuple <storage_type,key>
and a generalization of a vg_name. The list of vg names is replaced by...

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

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

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

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

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

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

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

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

Typo 'repot' in Server.hs

Signed-off-by: Helga Velroyen <>
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....

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

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

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

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

2412bdea 02/22/2013 02:07 pm Iustin Pop

Fix another docstring typo

… no comment :)

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

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

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

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

0c6d6a52 02/05/2013 03:37 pm Helga Velroyen

Making ParticalNic's network field of type String

This is yet another fix for type confusion between python
and haskell. ;) The network field of PartialNic should be
a string and not of type Network. This makes it necessary
to add a helper function to look up a network by name...

125df9a8 01/29/2013 03:07 pm Helga Velroyen

Add fields 'inst_cnt' and 'inst_list' to network queries

This adds the fields 'inst_cnt' and 'inst_list' to the
Haskell implementation of the network queries.

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

2d3d843d 01/29/2013 03:06 pm Helga Velroyen

Moving network query helper functions to Network.hs

So far, a couple of helper function for the network
queries resided in Config.hs. I figured it makes more
sense to move them to Query/Network.hs, since they are
very tailored to that purpose.

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

ae960018 01/25/2013 06:12 pm Helga Velroyen

More fields for network queries

This adds more fields to the network queries:
- group_cnt, free_count, reserved_count, and map

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

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

First part of Network Queries in Haskell

This is the beginning of the implementation of network
queries. This includes establishing all infrastructure
to run the network queries and implement querying of
some simpler fields and the node group listing.

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

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

Convert Maybe results to RSUnavail

When displaying query results of type Maybe, one could use the
function rsMaybe. Unfortunately, this function maps 'Nothing'
values to RSNoData which gets displayed as '?' in the list of
query results. These semantics do not fit if the result is of...

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