Statistics
| Branch: | Tag: | Revision:

root / src / Ganeti / WConfd / Monad.hs @ e45eeb79

History | View | Annotate | Download (6.8 kB)

# Date Author Comment
e45eeb79 03/07/2014 05:22 pm Petr Pudlak

Use lenses for modifying DaemonState in WConfd

This removes the verbose code for record updating and leads to more
point-free code.

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

0d1d2d22 03/07/2014 05:22 pm Petr Pudlak

Write the configuration only if it changed

.. to avoid expensive operation when they're not actually needed.
Comparing the two objects in memory is much less costly that
distributing the configuration.

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

1d4febbd 03/04/2014 05:03 pm Klaus Aehlig

Write lock state to disk after updates

Make use of asynchronous worker to save to log status after every
update. The answer to the query is only returned, once the state
is saved on disk. Note that replication of the lock status is not
necessary, as all jobs will be gone if the master node goes away....

032befbd 03/03/2014 06:05 pm Klaus Aehlig

Add lock modification without result to WConfdMonad

Enrich the structure of WConfdMonad by a convenience
wrapper around modifyLockAllocation for the case that
the modification always succeeds and does not produce
any result.

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

3e80d1b7 03/03/2014 06:05 pm Klaus Aehlig

Support reading the lock allocation in WConfdMonad

As opposed to the atomic modify-and-read provided my modifyLockAllocation,
no storing is necessary here.

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

b28f715a 02/27/2014 04:33 pm Klaus Aehlig

Remove the client state from WConfD monad

As we decided to keep our protocols stateless, the client
state is no longer needed.

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

13d26b66 02/26/2014 02:06 pm Petr Pudlak

Add more general conf. handling functions to WConfd's Monad

Add functions for reading and writing the configuration. Writing
triggers the asynchronous worker which saves the configuration into the
master file. The actual action that saves the configuration is passed as...

a317d77a 02/17/2014 03:40 pm Klaus Aehlig

Make the lock allocation part of WConfD's state

As WConfD is supposed to be the authoritative source for
configuration and locks, it needs to have access to the lock
state as well.

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

9515a7d2 02/14/2014 11:46 am Petr Pudlak

Add a monad for running all WConfD functions

This monad encapsulates working with the daemon and client state, as
well as failures and IO operations.

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