Statistics
| Branch: | Tag: | Revision:

root / src / Ganeti / Query @ e86c9deb

# Date Author Comment
e86c9deb 11/27/2013 11:37 am Helga Velroyen

Use hypervisor / storage information only when requested

So far, the node queries ignored the list of fields and
just requested all available information from the backend.
That means, for example if only hypervisor information is
requested, still the storage space calculation is...

f5b765f0 11/26/2013 03:31 pm Klaus Aehlig

Make luxid job submission be defined by replication

When receiving jobs to be submitted, make luxid replicate them to all
master candidates and then return. The actual execution can be handled
asynchronously.

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

9d049fb4 11/26/2013 03:30 pm Klaus Aehlig

Rename LuxiSocket to MasterSocket

Rename the constants to name the socket to connect masterd,
as the name LuxiSocket hints on luxid, which is different
from masterd.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

89352544 11/26/2013 11:13 am Helga Velroyen

Implement 'QueryInstances' call in Haskell luxi server

While the command line uses the generic 'Query' call,
rapi calls 'QueryInstances'. 'QueryInstances' so far
was not fully implemented in the Haskell implementation
of the luxi server. This was discovered when trying to...

ec81293c 11/26/2013 11:13 am Helga Velroyen

Fix bug regarding node UUID in haskell node queries

When moving from python to haskell node queries, a bug
was discovered where a node's UUID was mistakenly
compared to a node's name. This indirectly caused the
cluster epo operation to fail, because it was not...

32933325 11/19/2013 02:13 pm Hrvoje Ribicic

Add the aggregate NIC VLAN instance field

Allow the retrieval of the VLANs of all the NICs through nic.vlans.

Signed-off-by: Hrvoje Ribicic <>
Reviewed-by: Thomas Thrainer <>

63f4bce5 11/19/2013 02:13 pm Hrvoje Ribicic

Add NIC VLAN field retrieval to Haskell queries

The field was added to Python queries in an earlier version, and now
has to be added to the Haskell queries as well.

Signed-off-by: Hrvoje Ribicic <>
Reviewed-by: Thomas Thrainer <>

a4417db4 11/15/2013 04:49 pm Thomas Thrainer

Merge branch 'stable-2.10' into master

Merge branch 'stable-2.10' into master

  • stable-2.10
    Don't allow optional node parameters
    Move OVS node parameters to the right place
    Make NIC VLAN queryable
    Pass VLAN parameter correctly in moves
    Use constant instead of raw string...
0808e9d5 11/14/2013 05:40 pm Petr Pudlak

Add NodeGroup to InstanceConsoleInfoParams

Before, calls to `gnt-instance list -o console` with an instance on a
node with a custom SSH port failed because of missing group
configuration. This patch fixes the problem.

Signed-off-by: Petr Pudlak <>...

1de58759 11/14/2013 05:27 pm Helga Velroyen

group queries: test niceSort and remove FIXME

In an effort to get rid of the python queries soon, this
patch fixes a FIXME of the group queries regarding the
missing testing of niceSort in this context. Due to the
lack of actually weirdly named hostnames, this patch...

55c87175 11/14/2013 03:09 pm Jose A. Lopes

Haskell instance queries report 'USER_down'

Update instance queries on the Haskell codebase to report 'USER_down',
similarly to the Python instance queries.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Hrvoje Ribicic <>

edcad688 11/13/2013 02:25 pm Petr Pudlak

Ignore hlint warning "Error: Too strict if" in Server.hs

A previous patch [229da00] added an annotation for ignoring the warning,
but to the middle of a function, which doesn't compile. This patch moves
the annotation to the end of the function to correct the problem....

229da00f 11/13/2013 11:40 am Petr Pudlak

Ignore hlint warning "Error: Too strict if" in Server.hs

This warning appears only in newer versions of hlint (mine was v1.8.43),
and in this case it's reported incorrectly. The arguments to "showJSON"
have different types, therefore it's not possible to move "showJSON" in...

94d6d0a3 11/08/2013 07:00 pm Klaus Aehlig

Make luxid handle SubmitManyJobs

Handle this request by writing the jobs to the
queue and inform masterd; masterd will then also
distribute the jobs to all master candidates.

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

e5fba493 11/08/2013 07:00 pm Klaus Aehlig

Make luxid handle SubmitJob

As luxid is to take over responsibility for the job queue,
handle this request by writing the job to the queue and then
informing masterd; masterd will also distribute the job to
all master candidates.

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

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

46cc1ab4 10/28/2013 01:48 pm Hrvoje Ribicic

Refactor `getAllConsoleParams` to be more readable

Instead of creating a lot of lists and then zipping them, just work
on every item one at a time. It makes the code much more readable.
This changes the ordering of "effects", but the "effects" here are just...

ee8bb326 10/17/2013 11:09 am Hrvoje Ribicic

Optimize instance query speed

The instance queries have a field called console which requires an
extra RPC call. This commit allows extra parameters to be passed on
to the query logic, which allows us to determine when to make the
extra call.

Signed-off-by: Hrvoje Ribicic <>...

efa0d4fd 10/17/2013 11:09 am Hrvoje Ribicic

Tests for InstanceInfo retrieval added

As the retrieval of instance information is a tricky operation which
affects the way the instance status is calculated, a few tests have
been added to ensure its behaviour remains constant.

Signed-off-by: Hrvoje Ribicic <>...

b9666288 10/17/2013 11:09 am Hrvoje Ribicic

Add the console field

This patch adds the final console field, using the RPC calls of the
previous commit.

As this requires another RPC call, the live data retrieval functions
of the instance queries are modified and refactored slightly.

Signed-off-by: Hrvoje Ribicic <>...

1d3d454f 10/17/2013 11:09 am Hrvoje Ribicic

Add the last leftover fields

A few fields were missing from earlier work. The timestamp fields,
the pnode.group.uuid field, and the custom nic parameters.
Just the console remains.

Signed-off-by: Hrvoje Ribicic <>
Reviewed-by: Jose A. Lopes <>

3fd38382 10/17/2013 11:09 am Hrvoje Ribicic

Add aliases of existing instance fields

For legacy reasons, some instance fields are aliased. The aliases have
the same definition but appear under different names. Support for such
fields has been added to Query/Common.hs
As aliases can cause somewhat harder to find bugs, a new test was...

3b89cb1b 10/17/2013 11:09 am Hrvoje Ribicic

Rename Fillable fields to Indexed fields

The naming used in the previous commits did not reflect the use of
the fields well, and clashed with the concept of fillable parameters.
Thus some renaming was done, with slight documentation improvements.

Signed-off-by: Hrvoje Ribicic <>...

a861d322 10/17/2013 11:09 am Hrvoje Ribicic

Add instance network fields

This commit adds the instance network fields. Some of these fields are
also present for every NIC, requiring the reuse of functions from the
previous disk instance fields commit.

Signed-off-by: Hrvoje Ribicic <>...

88b58ed6 10/16/2013 08:57 pm Hrvoje Ribicic

Add instance disk fields

The instance disk fields have been added. As these are the first
fields to be duplicated, some helper functions are present to support
easier specification of fields which have to be duplicated for every
entry in an array of configuration objects, and numbered accordingly....

4e6f1cde 10/16/2013 08:57 pm Hrvoje Ribicic

Add instance parameter fields

This patch adds instance parameter fields to the Haskell instance
queries. The fields retrieve maps of parameters related to e.g.
hypervisors, or operating systems.
Every instance can have parameters different from the defaults,...

9491766c 10/16/2013 08:57 pm Hrvoje Ribicic

Add further fields to instance queries

This commit adds some more fields that are simple to retrieve, as
they are properties of instances recorded in the configuration.

Signed-off-by: Hrvoje Ribicic <>
Reviewed-by: Jose A. Lopes <>

df583eaf 10/16/2013 08:57 pm Hrvoje Ribicic

Add the first instance query live fields

This patch adds live fields which can be implemented with the existing
RPC calls. Some fields require additional call types and will be added
later. Most of them can be added at this point.
The status field is especially interesting, as it depends not on the...

11d09d75 10/16/2013 08:57 pm Hrvoje Ribicic

Add a new field type - FieldConfigRuntime

In the instance queries, some fields require both config and runtime
information. This patch adds a new field type for this purpose.

Signed-off-by: Hrvoje Ribicic <>
Reviewed-by: Jose A. Lopes <>

c2fe6008 10/16/2013 08:57 pm Hrvoje Ribicic

Move hypervisor fetches from Node.hs to Common.hs

As patches that follow will need the functionality in
Ganeti.Query.Node, this patch moves it to the common query file.

Signed-off-by: Hrvoje Ribicic <>
Reviewed-by: Jose A. Lopes <>

d286d795 10/16/2013 08:56 pm Hrvoje Ribicic

Unify all live calls which return no data

With the (current) instance query, there are three queries which do not
require live data: instance, network, and group queries.
The collectors and runtime types for these have been unified.

Signed-off-by: Hrvoje Ribicic <>...

1df0266e 10/16/2013 08:56 pm Hrvoje Ribicic

Initial changes for adding instance queries

Add basic instance querying capabilities to the Haskell codebase.
Several fields are present, more to come.

Signed-off-by: Hrvoje Ribicic <>
Reviewed-by: Jose A. Lopes <>

5771c501 10/16/2013 08:56 pm Hrvoje Ribicic

Document the generic query function

The way the generic query works was not documented anywhere. For
greater readability, add a short explanation to the genericQuery
function.

Signed-off-by: Hrvoje Ribicic <>
Reviewed-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....