From 4393e075ad3f845863e27cd945ef848d49033af9 Mon Sep 17 00:00:00 2001
From: Agata Murawska <agatamurawska@google.com>
Date: Mon, 24 Sep 2012 15:48:18 +0200
Subject: [PATCH] Conversion from RPC error to query status

Simple conversion for queries that use live fields gathered from
RPC calls.

Signed-off-by: Agata Murawska <agatamurawska@google.com>
Reviewed-by: Iustin Pop <iustin@google.com>
---
 htools/Ganeti/Query/Common.hs | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/htools/Ganeti/Query/Common.hs b/htools/Ganeti/Query/Common.hs
index ea70fc9f8..014957888 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.
-- 
GitLab