|
|
|
|
|
Description |
Implementation of the Ganeti LUXI interface.
|
|
Synopsis |
|
|
|
|
Utility functions
|
|
withTimeout :: Int -> String -> IO a -> IO a | Source |
|
Wrapper over System.Timeout.timeout that fails in the IO monad.
|
|
Generic protocol functionality
|
|
|
Constructors | QRLock | | QRInstance | | QRNode | | QRGroup | | QROs | |
|
|
|
qrViaLuxiFromRaw :: forall m[aGoW]. Monad m[aGoW] => String -> m[aGoW] QrViaLuxi | Source |
|
|
|
|
|
Currently supported Luxi operations and JSON serialization.
| Constructors | ReqQuery | | ReqQueryNodes | | ReqQueryGroups | | ReqQueryInstances | | ReqQueryJobs | | ReqQueryExports | | ReqQueryConfigValues | | ReqQueryClusterInfo | | ReqQueryTags | | ReqSubmitJob | | ReqSubmitManyJobs | | ReqWaitForJobChange | | ReqArchiveJob | | ReqAutoArchiveJobs | | ReqCancelJob | | ReqSetDrainFlag | | ReqSetWatcherPause | |
|
|
|
|
Constructors | Query QrViaLuxi [String] () | | QueryNodes [String] [String] Bool | | QueryGroups [String] [String] Bool | | QueryInstances [String] [String] Bool | | QueryJobs [Int] [String] | | QueryExports [String] Bool | | QueryConfigValues [String] | | QueryClusterInfo | | QueryTags String String | | SubmitJob [OpCode] | | SubmitManyJobs [[OpCode]] | | WaitForJobChange Int [String] JSValue JSValue Int | | ArchiveJob Int | | AutoArchiveJobs Int Int | | CancelJob Int | | SetDrainFlag Bool | | SetWatcherPause Double | |
|
|
|
luxiReqFromRaw :: forall m[aGNO]. Monad m[aGNO] => String -> m[aGNO] LuxiReq | Source |
|
|
|
|
|
|
|
The serialisation of LuxiOps into strings in messages.
|
|
|
Constructors | RSNormal | | RSUnknown | | RSNoData | | RSUnavailable | | RSOffline | |
|
|
|
|
|
|
|
|
Type holding the initial (unparsed) Luxi call.
| Constructors | |
|
|
|
Check that ResultStatus is success or fail with descriptive message.
|
|
|
The end-of-message separator.
|
|
|
Valid keys in the requests and responses.
| Constructors | |
|
|
|
The serialisation of MsgKeys into strings in messages.
|
|
|
Luxi client encapsulation.
| Constructors | Client | | socket :: Socket | The socket of the client
| rbuf :: IORef String | Already received buffer
|
|
|
|
|
|
Connects to the master daemon and returns a luxi Client.
|
|
|
Closes the client socket.
|
|
|
Sends a message over a luxi transport.
|
|
|
Waits for a message over a luxi transport.
|
|
|
:: LuxiOp | The method
| -> String | The serialized form
| Serialize a request to String.
|
|
|
|
Check that luxi request contains the required keys and parse it.
|
|
|
Converts Luxi call arguments into a LuxiOp data structure.
This is currently hand-coded until we make it more uniform so that
it can be generated using TH.
|
|
|
Check that luxi responses contain the required keys and that the
call was successful.
|
|
|
Generic luxi method call.
|
|
|
Specialized submitManyJobs call.
|
|
|
Custom queryJobs call.
|
|
Produced by Haddock version 2.6.0 |