Statistics
| Branch: | Tag: | Revision:

root / src / Ganeti / Luxi.hs @ 80004e70

History | View | Annotate | Download (11.8 kB)

# Date Author Comment
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 <>

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

f3ac6f36 12/19/2013 01:59 pm Klaus Aehlig

Merge branch 'stable-2.10' into master

  • stable-2.10
    Version bump for 2.10.0~rc1
    Update NEWS for 2.10.0 rc1 release
    Fix pylint 0.26.0/Python 2.7 warning
    Update INSTALL and devnotes for 2.10 release
  • stable-2.9
    Bump revision for 2.9.2
    Update NEWS for 2.9.2 release...
c486fb6c 12/16/2013 12:37 pm Thomas Thrainer

Merge branch 'stable-2.9' into stable-2.10

  • stable-2.9
    Bump revision for 2.9.2
    Update NEWS for 2.9.2 release
    Pass hvparams to GetInstanceInfo
    Adapt parameters that moved to instance variables
    Avoid lines longer than 80 chars
    SingleNotifyPipeCondition: don't share pollers...
d819aba6 12/13/2013 02:28 pm Klaus Aehlig

Make the duration field optional null-serialized

The time in SetWatcherPause is optional (with Nothing meaning
that the pause should be canceled), but the serialization is
not that of a Maybe Double; instead Just values serialize as
they are and Nothing serializes to null. Fortunately, we already...

906df9f1 12/13/2013 11:57 am Klaus Aehlig

The time field for SetWatcherPause is optional

A JSON null value is used to indicate that the pause should be canceled.

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

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

6e47412f 12/11/2013 12:07 pm Petr Pudlak

Generalize "validateCall" to be usable outside LUXI

Return the method (as any instance of JSON) and the arguments of a call.

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

71a4c605 12/11/2013 12:07 pm Petr Pudlak

Split Luxi.hs into LUXI-specific functions and general ones

This will allow WConfD to use the general functions without importing
Luxi.hs.

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

5f5aa745 11/18/2013 10:59 am Hrvoje Ribicic

Fix socket permissions after master-failover

When using gnt-cluster master-failover, on the soon-to-be-master the
luxi daemon is started by the node daemon. This makes the luxi
daemon inherit the node daemon's umask 077, making the communication
socket unreadable to group members. When using Ganeti with non-root...

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

Add Luxi Request to pick up a job in the queue

During the transition to the new daemon layout, from step 2
onwards, luxid will write to the queue but masterd will trigger
the execution. Therefore, add a new luxi request to tell masterd
to pick up a job that has already been written to the queue....

346c3037 10/04/2013 05:11 pm Klaus Aehlig

Provide means of submitting jobs to a drained queue

During an upgrade, the job queue needs to be drained in order to avoid
new jobs coming to the cluster. Nevertheless, the upgrade process
needs to carry out some maintenance, like redistributing the new...

1c31b263 09/18/2013 11:55 am Jose A. Lopes

Flip dependency between Haskell types and constants

Before this patch, Haskell types, such as, 'GanetiDaemon' and
'GanetiGroup', and related functions were taking their values from
Haskell constants. However, given that the role of Haskell to Python
constants is to leverage Haskell and its typesystem, it makes sense to...

34af39e8 08/07/2013 10:41 am Jose A. Lopes

Add Python opcode generation

  • add Python opcode generation to Template Haskell
  • fix all the opcodes and parameters, including their types and
    documentation
  • update Luxi to reflect the other changes.

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

d08a8359 07/22/2013 01:47 pm Thomas Thrainer

Fix permission errors for split users

Correctly set ownership and permissions for daemon log files, correct
the name of the luxid logfile and set the ownership of the query socket
correctly.

Signed-off-by: Thomas Thrainer <>
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...

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

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