Export the full report from DRBD data collector
authorMichele Tartara <mtartara@google.com>
Wed, 24 Apr 2013 09:41:45 +0000 (09:41 +0000)
committerMichele Tartara <mtartara@google.com>
Tue, 30 Apr 2013 07:56:18 +0000 (09:56 +0200)
Export the full report instead of just the data from the DRBD data collector.

Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>

src/Ganeti/DataCollectors/Drbd.hs

index a060683..944808c 100644 (file)
@@ -32,7 +32,7 @@ module Ganeti.DataCollectors.Drbd
   , dcFormatVersion
   , dcCategory
   , dcKind
-  , dcData
+  , dcReport
   ) where
 
 
@@ -90,8 +90,8 @@ dcKind :: DCKind
 dcKind = DCKStatus
 
 -- | The data exported by the data collector, taken from the default location.
-dcData :: IO J.JSValue
-dcData = buildJsonReport defaultFile Nothing
+dcReport :: IO DCReport
+dcReport = buildDCReport defaultFile Nothing
 
 -- * Command line options
 
@@ -205,6 +205,12 @@ buildJsonReport statusFile pairingFile = do
   let status = computeStatus drbdData
   return . addStatus status $ J.showJSON drbdData
 
+-- | This function computes the DCReport for the DRBD status.
+buildDCReport :: FilePath -> Maybe FilePath -> IO DCReport
+buildDCReport statusFile pairingFile =
+  buildJsonReport statusFile pairingFile >>=
+    buildReport dcName dcVersion dcFormatVersion dcCategory dcKind
+
 -- | Main function.
 main :: Options -> [String] -> IO ()
 main opts args = do
@@ -212,6 +218,5 @@ main opts args = do
       pairingFile = optDrbdPairing opts
   unless (null args) . exitErr $ "This program takes exactly zero" ++
                                   " arguments, got '" ++ unwords args ++ "'"
-  report <- buildJsonReport statusFile pairingFile >>=
-    buildReport dcName dcVersion dcFormatVersion dcCategory dcKind
+  report <- buildDCReport statusFile pairingFile
   putStrLn $ J.encode report