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