Statistics
| Branch: | Tag: | Revision:

root / src / Ganeti / Query @ 7711f32b

# Date Author Comment
7711f32b 02/06/2014 12:43 pm Klaus Aehlig

Implement ChangeJobPriority in luxid

For jobs still queued, we ask the queue to change the priority,
and replicate the changed job. For jobs that have already been
started, we have to contact the job directly, which, at the moment,
means forwarding the request to masterd....

0c09ecc2 01/29/2014 03:12 pm Klaus Aehlig

Make safeRenameFile create dirs with defined permissions

If, and only if, safeRenameFile creates a new directory, make sure
it has well defined permissions. While there, also optimize for the
common case. The main use of safeRenameFile is archiving jobs. As...

baaa2ece 01/28/2014 03:17 pm Klaus Aehlig

Merge branch 'stable-2.10' into stable-2.11

  • stable-2.10
    Enable network tags in Haskell code
    Haskell style: explicit errors, visible in the type
    Clarify spacing in record syntax
    Improve the point-free section of the style guide
    Add code style document to documentation...
e10c4a69 01/28/2014 12:24 pm Hrvoje Ribicic

Enable network tags in Haskell code

Prior to the creation of the 2.10 branch, network tags were broken, and
the Haskell code introduced there mistakenly accepted this as the
desired functionality. This patch fixes this in a very simple way.

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

410945f1 01/27/2014 05:36 pm Klaus Aehlig

Merge branch 'stable-2.9' into stable-2.10

  • stable-2.9
    Revision bump for 2.9.3
    Schedule 2.9.3 release
    Document fix of issue 691 in NEWS
    NEWS: fix typo in 2.8.4 release
    Fix 'hvparams' of '_InstanceStartupMemory' on hypervisors
    Add missing option to gnt-instance documentation...
658eb2dc 01/24/2014 02:38 pm Klaus Aehlig

Implement auto-archiving of jobs

As luxid is taking over the handling of the job queue, it
also needs to handle the automated archiving of jobs. Here
we replicate the semantics of the current python implementation
of archiving as many jobs older than the given time as possible,...

857cbfb1 01/24/2014 02:38 pm Klaus Aehlig

Make ArchiveJob in luxid create the archive, if necessary

As jobs are archived in groups of 10000, creating new subdirectories
of the archive might be necessary when archiving a job. Use a
function that takes care of this.

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

6fadcbab 01/23/2014 12:25 pm Klaus Aehlig

fix off-by-one error in indentation

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

6fdc84ab 01/23/2014 12:03 pm Klaus Aehlig

Implement ArchiveJob queries in luxid

With luxid taking over the tasks of masterd, archiving
jobs also belongs to its responsibilities. As archiving
a job affects the global state of the job queue, synchronise
over the queue lock.

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

368e95fd 01/20/2014 03:05 pm Apollon Oikonomopoulos

luxid: fix detection of master node in node query

Ganeti.Config.getNodeRole would rely on clusterMasterNode returning the
master node name, however clusterMasterNode returns the master node's
UUID. We fix this and a similar issue in Ganeti.Query.Node.nodeFields....

6046dca9 01/16/2014 05:11 pm Klaus Aehlig

Make configuration available to the scheduler

In this way, scheduling decisions can depend on the configuration
of the cluster. At the moment, this is only the maximal number
jobs to be run in parallel, but in the future this will also include
job filters....

178ad717 01/16/2014 05:11 pm Klaus Aehlig

Make max_running_jobs queryable

As we have introduced a new cluster parameter, it should
be also visible when querying about the cluster configuration.

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

36cb6837 01/15/2014 02:34 pm Klaus Aehlig

Implement job cancellation in luxid

As luxid handles the job queue, this daemon is the natural
place to handle job cancellation. Answering to CancelJob requests
is also necessary for luxid to be feature compliant with masterd,
even for command-line requests only....

afa0fca4 01/13/2014 07:43 pm Jose A. Lopes

User shutdown hypervisor parameter

Add user shutdown parameter for KVM. Based on this parameter, decide
what information to report for a KVM instance, for example,
distinguish between 'ADMIN_down' and 'USER_down'.

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

9131274c 01/13/2014 07:43 pm Jose A. Lopes

Fix whitespace

Fix whitespace in several modules.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Michele Tartara <>

a8551d9c 01/08/2014 12:26 pm Klaus Aehlig

Also consider filter fields for deciding if using live data

If the query fields don't require live data, we use the shortcut
and don't request live data. However, we cannot take this shortcut
if the fields the filter depends on requires live data.

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

d5665e10 01/07/2014 10:14 am Klaus Aehlig

Make luxid handle SetDrainFlag

Make luxid also handle queries to drain the job queue.

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

1264bd58 01/07/2014 10:14 am Klaus Aehlig

Fix sign in drain_flag request

The drain flag is set, if the queue is not open.

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

d3e6fd0e 12/17/2013 06:12 pm Santi Raffa

ssconf: Add Gluster mount directory

This commit adds the gluster storage directory to ssconf (without
actually using its value just yet).

Signed-off-by: Santi Raffa <>
Signed-off-by: Thomas Thrainer <>
Reviewed-by: Thomas Thrainer <>

1138d32f 12/17/2013 10:34 am Klaus Aehlig

Implement fields query for instance

Support the query for the fields available for instances.

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

5c47a2a6 12/17/2013 10:34 am Klaus Aehlig

Remove the hvsGlobals from instance query fields

...to be consistent with the python implementation.

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

af67c5b1 12/17/2013 10:34 am Klaus Aehlig

When interpreting [] as "all fields", sort nicely

When asked for all fields, we promise to return the list of fields
sorted according to niceSort. Keep this promise.

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

3eaa6e1d 12/16/2013 06:55 pm Klaus Aehlig

Merge branch 'stable-2.8' into stable-2.9

  • stable-2.8
    Add support for blktap2 file-driver
    Update opcodes test to include network tags
    Make network tags searchable
    Add network tag tests to QA
    Fix RAPI network tag handling
    Fix gnt-network list-tags...
9d0b521e 12/16/2013 05:31 pm Dimitris Aragiorgis

Fix gnt-network list-tags

Define network tags in haskell part.

This fixes issue 641.

Signed-off-by: Dimitris Aragiorgis <>
Reviewed-by: Hrvoje Ribicic <>

be7531a9 12/13/2013 11:58 am Klaus Aehlig

Handle QueryConfigValues

Make luxid handle the QueryConfigValues call providing certain
simple status information about the cluster.

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

7f58ff5d 12/13/2013 11:58 am Klaus Aehlig

Add a predicate for watcher pause

Add a predicate, in IO, to test whether the watcher is
paused.

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

946f1fb3 12/13/2013 11:58 am Klaus Aehlig

Implement SetWatcherPause in luxid

Make luxid handle SetWatcherPause correctly.

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

c7003a76 12/11/2013 01:32 pm Petr Pudlak

Move the generalized IO client from Luxi to UDSServer

No code is changed in this patch (except imports and qualifiers), only
moved.

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

d79a6502 12/11/2013 01:32 pm Petr Pudlak

Generalize the IO client handling in Luxi

... to be usable for WConfd as well. A daemon handler is encapsulated
into `Handler` data type, which is then passed to a generic `listener`.

The changes are done in Luxi.hs so that the differences are visible and...

5e671e0e 12/11/2013 12:07 pm Petr Pudlak

Add the Unix domain socket path to the Server data type

This simplifies code for closing such a socket.

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

0fbc8447 12/11/2013 12:07 pm Petr Pudlak

Encapsulate a server socket and its parameters

Instead of passing a bare server socket around, we pass it encapsulated
in a data type together with parameters such as read/write timeouts.

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

d605e261 12/11/2013 12:07 pm Petr Pudlak

Rename getClient/Server to getLuxiClient/Server

Later they will be split into LUXI-specific and general parts.

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

6222b3a3 12/10/2013 01:32 pm Klaus Aehlig

Make luxid support WaitForJobChange

Make support the WaitForJobChange, waiting for a job to
change on certain monitored fields.

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

b5fa2700 12/02/2013 04:08 pm Klaus Aehlig

Make luxid use the JQScheduler

Make luxid use the job scheduler instead of immediately
starting every received job.

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

ac0c5c6d 12/02/2013 04:08 pm Klaus Aehlig

Rename enqueueJobs to startJobs

This reflects better what the method actually does. Later,
we will add a job scheduler that will provide a proper enqueue
method.

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

0359e5d0 11/29/2013 12:10 pm Spyros Trigazis

Add default_iallocator_params cluster parameter

Add a cluster parameter to hold the iallocator parameters used
by the default instance allocator. Implement the option to
modify config.data, query config.data and upgrade man pages,
tests and cfgupgrade tool. The new default_iallocator_params is...

c6013594 11/28/2013 05:00 pm Klaus Aehlig

Set the received time stamp for new jobs

Since luxid now handles the job submission requests, it is also
its responsibility to set the received time stamps. Do this.

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

96e3dfa7 11/27/2013 11:37 am Helga Velroyen

Fix retrieval of number of instances of a node

This patch fixes a FIXME to make the retrieval of the
number of primary and secondary instances share more
common code.

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

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