Statistics
| Branch: | Tag: | Revision:

root / src / Ganeti / Query @ 6a221b79

# Date Author Comment
b0b4f975 05/19/2014 05:31 pm Petr Pudlak

Use the new MVarLock in the job queue and the query server

A small refactoring was done in handling ArchiveJob so that it was
possible to use 'withLock'.

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

deb9ff16 05/15/2014 07:45 pm Petr Pudlak

Don't log anything during forking a job process

As it seems that using stderr by both the master process and child
processes could be a cause of forking problems, logging is now deferred
until the forking handshake is over and the master and child process are...

e78b63ed 05/14/2014 12:16 pm Jose A. Lopes

Add 'install_image' param to 'Cluster'

The 'Cluster.install_image' param holds the location of the image to
be used for the safe installation instances.

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

b88ac7b8 05/14/2014 11:57 am Klaus Aehlig

Remove all references to the masterd socket

...as masterd is no more.

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

6a3040b9 05/13/2014 07:32 pm Klaus Aehlig

Make luxid activate the master IP on startup

This is the last task currently done by masterd, so makeing
luxid taking this over, we can get rid of masterd.

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

ba94617f 05/13/2014 07:30 pm Klaus Aehlig

Use getMasterOrCandidates

...instead of replicating the functionality on the fly.

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

fe71113e 05/13/2014 11:36 am Hrvoje Ribicic

Add the compression tools parameter

This patch makes the myriad of changes necessary for the compression
tool parameter to be added. The filtering of compression tools for
suspicious entries has been added for this exact purpose.

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

6e7c1645 05/05/2014 02:22 pm Ilias Tsitsimpis

Use 'getInstDisks' function to retrieve the disks

Change Haskell's Query code to use Config's 'getInstDisks' function in
order to retrieve the instance's disks.

Signed-off-by: Ilias Tsitsimpis <>
Reviewed-by: Jose A. Lopes <>

882e7d72 04/29/2014 02:13 pm Petr Pudlak

Retry forking a new process several times

Apparently due to some library bug, forking sometimes fails: The new
process is running, but it doesn't start executing. Therefore we retry
the attempt several times.

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

a37ab322 04/25/2014 04:42 pm Klaus Aehlig

Pass the debug level to forked jobs

When forking off jobs, make them inherit the debug level
of the parent process (i.e., of luxid). In this way, we
can debug jobs in test clusters without cluttering production
logs. We pass the debug level through the environment instead...

94c42103 04/24/2014 02:11 pm Klaus Aehlig

Add VTypeFloat

...in order not to have to declare floating point
values as VTypeInt and rely on the sloppiness of
the JSON specification to not distinguish between
integers and floating point numbers.

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

c666e6aa 04/24/2014 09:46 am Petr Pudlak

When checking job death, check if its lock is the Luxi lock

In this case, the call trying to acquire a shared lock always succeeds,
because the daemon already has an exclusive lock, which falsely reports
that the job has died.

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

ec98ea2b 04/17/2014 06:59 pm Petr Pudlak

Cancel jobs by sending SIGTERM

We can only send the signal if the job is alive and if there is a
process ID in the job file (which means that the signal handler has been
installed). If it's missing, we need to wait and retry.

In addition, after we send the signal, we wait for the job to actually...

794c3863 04/17/2014 06:59 pm Petr Pudlak

When forking a job, close all unnecessary file descriptors

This is a bit problematic as there is no portable way how to list all
open file descriptors, and we can't track them all, because they're also
opened by third party libraries such as inotify. Therefore we use...

4cfa01f4 04/17/2014 06:59 pm Petr Pudlak

When starting the Luxi daemon, check if it's able to fork

If a Haskell program is compiled with -threaded, then inheriting open
file descriptors doesn't work, which breaks our job death detection
mechanism. (And on older GHC versions even forking doesn't work.)...

d182955c 04/17/2014 06:59 pm Klaus Aehlig

Make luxid aware of SIGCHLD

As luxid forks off processes now, it may receive SIGCHLD
signals. Hence add a handler for this. Since we obtain the
success of the child from the job file, ignoring is good
enough.

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

7b4bde57 04/17/2014 06:59 pm Petr Pudlak

Add Haskell and Python modules for running jobs as processes

They will be used by Luxi daemon to spawn jobs as separate processes.

The communication protocol between the Luxi daemon and a spawned process
is described in the documentation of module Ganeti.Query.Exec....

7b0a9096 04/17/2014 06:56 pm Petr Pudlak

Add an utility function for writing and replicating a job

Use the function where appropriate.

Also handling of CancelJob is slightly refactored to use ResultT, which
is used by the new function.

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

8275c414 04/17/2014 06:56 pm Petr Pudlak

Extend 'lockFile' to return the file descriptor

.. of the locked file so that it can be closed later, if needed.

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

3f11a477 04/15/2014 02:39 pm Klaus Aehlig

Report non-existent jobs as such

When queried to WaitForJobChange of an non-existent job,
report this as an error.

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

0894ac48 04/08/2014 03:34 pm Hrvoje Ribicic

Add the zeroing-image option

This patch adds the zeroing-image option to gnt-cluster and the
OpBackupExport params. The many changes are all minor, yet necessary.

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

d1dd8525 04/07/2014 10:53 am Klaus Aehlig

Switch to ClientType as identifier

...instead of Either String JobId.

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

665a9ddc 04/04/2014 06:20 pm Klaus Aehlig

Make LuxiD query WConfD for locks

Since WConfD is now the authoritative source for locks, make LuxiD
query this daemon for lock information rather than the master daemon.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Hrvoje Ribicic <>

5d9efc0f 04/04/2014 06:20 pm Klaus Aehlig

Make locks field use live data

So far, the description of the locks fields was made under the assumption
that lock queries wouldn't be answered by Luxid anyway, and hence it was
enough to parse such requests. However, now luxid will answer these queries
after getting a snapshot of the locks status from wconfd. Hence make the fields...

9faf1c01 03/07/2014 05:22 pm Petr Pudlak

Add Foldable/Traversable instances for GenericContainer

This makes working with it easier as it allows use of many standard
functions.

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

71b770a9 02/28/2014 03:39 pm Klaus Aehlig

Merge branch 'stable-2.11' into master

  • stable-2.11
    Setting correct permissions of client cert (split-user)
    Add luxid group to 'users-setup'
    Add some whitespace to fix formatting
    Consider old client cert only when available
    Fix return of 'Validate'...
353bd75b 02/28/2014 02:08 pm Dimitris Bliablias

Show mac prefix setting in gnt-cluster info

Include mac-prefix setting in the output of 'gnt-cluster info'
command.

This fixes part of issue 239.

Signed-off-by: Dimitris Bliablias <>
Reviewed-by: Jose A. Lopes <>

ef89d9d5 02/27/2014 04:04 pm Michele Tartara

Have SubmitManyJobs add entries to the reason trail

Not only SubmitJobToDrainedQueue (and therefore SubmitJob) but also
SubmitManyJobs has to add "gnt:opcode:*" entries to the reason trail.

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

0c779689 02/27/2014 03:17 pm Michele Tartara

Have LuxiD add the "gnt:opcode" reason trail entry

The entry used to be added in jqueue.py, but after switching the queue
management from masterd to luxyd it had been lost. Now, make LuxiD responsible
for adding it.

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

508c7d70 02/26/2014 03:04 pm Klaus Aehlig

Add query support for locks to luxid

While requests only get forwarded, it still helps to
get luxid feature-complete with respect to master.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>
Cherry-picked from commit a6e406ce376453e90e598c7be68809d6a7bd7d41...

014eaaa0 02/26/2014 03:04 pm Klaus Aehlig

Provide fields for lock queries

For luxid to be feature-complete with respect to masterd, it
also needs to answer requests about locks. This includes knowing
the fields available for locks.

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

b172b0ab 02/14/2014 11:46 am Petr Pudlak

Allow clients of UDSServer to use different monads

.. as long as they're instances of "MonadBaseControl IO" and "MonadLog".
This allows the UDSServer to call functions like "fork" within monads
such as "ResultT e IO" or "ReaderT IO".

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

8a5d326f 02/13/2014 02:33 pm Jose A. Lopes

Add 'instance_communication_parameter' to 'Cluster'

  • Add parameter 'instance_communication_parameter' to the Python
    'ganeti.objects.Cluster' and the Haskell 'Ganeti.Objects.Cluster'.
  • Update Haskell 'QueryClusterInfo' to return also the
    'instance_communication_network' parameter....
f65784ac 02/11/2014 06:43 pm Klaus Aehlig

Merge branch 'stable-2.11' into master

  • stable-2.11
    Gracefully handle queries for non-existing nodes
    Consider job-IDs queried for twice only once

Conflicts:
lib/client/gnt_node.py: trivial
src/Ganeti/Query/Query.hs: import ALL the functions

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

fb8d8645 02/11/2014 05:29 pm Klaus Aehlig

Consider job-IDs queried for twice only once

As reading jobs from disk is an expensive operation, when querying
for jobs, we optimize by considering which values the job-id is asked
for in the filter. As any reasonable person would not add the same
clause twice in an Or-clause, the implicit assumption was that the...

d759a02b 02/10/2014 06:38 pm Klaus Aehlig

Merge branch 'stable-2.11' into master

  • stable-2.11
    (no changes)
  • stable-2.10
    Fix 'JobIdListOnly' type from 'List' to 'Map'
    Remove NEWS entry for 2.9.4
    Workaround for monitor bug related to greeting msg
    hotplug: Verify if a command succeeded or not...
adcccd43 02/10/2014 06:24 pm Klaus Aehlig

Merge branch 'stable-2.10' into stable-2.11

  • stable-2.10
    Fix 'JobIdListOnly' type from 'List' to 'Map'
    Remove NEWS entry for 2.9.4
    Workaround for monitor bug related to greeting msg
    hotplug: Verify if a command succeeded or not
    hotplug: Call each qemu commmand with an own socat...
673425b8 02/10/2014 04:42 pm Klaus Aehlig

Merge branch 'stable-2.9' into stable-2.10

  • stable-2.9
    Revision bump for 2.9.4
    Set release date for 2.9.4
    Note UUID identification change in NEWS file
    Allow classic queries to use either names or UUIDs
    Document the change of noded's group in NEWS...
13ef1fa5 02/07/2014 03:42 pm Hrvoje Ribicic

Allow classic queries to use either names or UUIDs

When UUIDs are used in CLI commands, such addressing of objects fails
or succeeds inconsistently across object types. Worse yet, some calls
do not fail, but simply return no result. This is due to the way the...

88772d17 02/06/2014 05:14 pm Klaus Aehlig

Remove wildcard luxi operation matching in luxid

In that way, we explicitly name the operations that are not
handled by luxid and explain the reason. In particular, we
can be sure that newly added luxid operations won't be forgotten
in luxid.

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

0349f9c6 02/06/2014 05:14 pm Klaus Aehlig

Implement QueryExports in luxid

...by handling as a classical query, using that queries for
export are already implemented. Note that QueryExport is slightly
different from other Query* Luxi requests, in that the fields are
not passed with the request, but have a fixed value....

a2dbdd82 02/06/2014 02:16 pm Klaus Aehlig

Merge branch 'stable-2.11' into master

  • stable-2.11
    Implement ChangeJobPriority in luxid
    Provide a function to change the priority of a queued job
    When enqueuing new jobs, respect job ID
    Change return type of internal rmJob
    Add a function to change the priority of a job...
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....

f9666f00 01/30/2014 04:11 pm Petr Pudlak

User new error handling functions in SubmitJobToDrainedQueue

This somewhat shortens and simplifies the code.

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

8383b3b6 01/30/2014 04:10 pm Petr Pudlak

Use new error functions when querying locks

This helps to handle errors coming from the Luxi client.

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

38e4d732 01/30/2014 04:10 pm Petr Pudlak

Use new error handling functions for querying jobs

Since we already touched getJobIDs, and this function is already based
on ResultT, use new error functions here as well.

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

ea7032da 01/30/2014 04:10 pm Petr Pudlak

Update getDirJobIDs to use ResultT

Also simplify code and remove unused functions.

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

f59cefcb 01/30/2014 04:10 pm Petr Pudlak

Rename 'resultT' to 'toError'

.. to better correspond to its generalized type.

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

8d61946f 01/30/2014 11:03 am Petr Pudlak

Merge branch 'stable-2.11' into master

  • stable-2.11
    Make safeRenameFile create dirs with defined permissions
    Add constant for subdir permissions within the job queue
    Add utility to fix permissions
    Add data type describing permissions and possibly owners...
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 <>...

c92b4671 01/21/2014 05:40 pm Klaus Aehlig

Make use of fieldListToFieldMap

...to avoid duplicating that code all over Ganeti.Query.

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

4fb78549 01/21/2014 05:39 pm Klaus Aehlig

Provide a utility function to map FieldList to FieldMap

As the same construction is used in several places, it is better
to have it factored out as a named function.

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

a6e406ce 01/21/2014 04:05 pm Klaus Aehlig

Add query support for locks to luxid

While requests only get forwarded, it still helps to
get luxid feature-complete with respect to master.

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

86b04819 01/21/2014 04:05 pm Klaus Aehlig

Provide fields for lock queries

For luxid to be feature-complete with respect to masterd, it
also needs to answer requests about locks. This includes knowing
the fields available for locks.

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

4f704244 01/20/2014 06:15 pm Klaus Aehlig

Remove dead Ganeti.Query.Job.loadRuntimeData

This function was exported from the module, but actually never
used anywhere in the code base. So clean it up.

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

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

06455b13 01/16/2014 07:25 pm Klaus Aehlig

Merge branch 'stable-2.11' into master

  • stable-2.11
    Add 'design-2.11.rst' which kvmd and instance shutdown
    Clarify spacing in record syntax
    Update NEWS entry about job scheduling
    Clean up luxidMaxRunningJobs
    Make the scheduler use the max_running_jobs config parameter...
ed7f7fd9 01/16/2014 05:13 pm Petr Pudlak

Update set_watcher_pause to use ClockTime instead of Double

This only affects the internal representation in the Haskell part.

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

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

74b3f734 01/16/2014 05:11 pm Petr Pudlak

Use ClockTime instead of Double in fields in Objects.hs

This affects "mtime" and "ctime" fields in all data types.

This also forces explicit declaration of how the fields are serialized
in Query.

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

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