diff --git a/htools/Ganeti/Query/Common.hs b/htools/Ganeti/Query/Common.hs index ea70fc9f8240d600adc2c54567650c625ac62f8e..014957888a8ca4d4c2ce061c33307eb81a4695d4 100644 --- a/htools/Ganeti/Query/Common.hs +++ b/htools/Ganeti/Query/Common.hs @@ -29,6 +29,7 @@ module Ganeti.Query.Common , rsMaybe , rsUnknown , missingRuntime + , rpcErrorToStatus , timeStampFields , uuidFields , serialFields @@ -45,6 +46,7 @@ import Text.JSON (JSON, showJSON) import qualified Ganeti.Constants as C import Ganeti.Config import Ganeti.Objects +import Ganeti.Rpc import Ganeti.Query.Language import Ganeti.Query.Types @@ -84,6 +86,13 @@ rsUnknown = ResultEntry RSUnknown Nothing missingRuntime :: FieldGetter a b missingRuntime = FieldRuntime (\_ _ -> ResultEntry RSNoData Nothing) +-- * Error conversion + +-- | Convert RpcError to ResultStatus +rpcErrorToStatus :: RpcError -> ResultStatus +rpcErrorToStatus (OfflineNodeError _) = RSOffline +rpcErrorToStatus _ = RSNoData + -- * Common fields -- | The list of timestamp fields.