Revision 4fe04580 src/Ganeti/DataCollectors/InstStatus.hs

b/src/Ganeti/DataCollectors/InstStatus.hs
179 179
      trail
180 180
      status
181 181

  
182
-- | Main function.
183
main :: Options -> [String] -> IO ()
184
main opts _ = do
185
  curNode <- getHostName
186
  let node = fromMaybe curNode $ optNode opts
187
  answer <- getInstances node (optConfdAddr opts) (optConfdPort opts)
182
-- | Build the report of this data collector, containing all the information
183
-- about the status of the instances.
184
buildInstStatusReport :: Maybe String -> Maybe Int -> IO DCReport
185
buildInstStatusReport srvAddr srvPort = do
186
  node <- getHostName
187
  answer <- getInstances node srvAddr srvPort
188 188
  inst <- exitIfBad "Can't get instance info from ConfD" answer
189 189
  domains <- getInferredDomInfo
190 190
  uptimes <- getUptimeInfo
191 191
  let primaryInst =  fst inst
192 192
  iStatus <- mapM (buildStatus domains uptimes) primaryInst
193
  putStrLn $ J.encode iStatus
193
  let jsonReport = J.showJSON iStatus
194
  buildReport dcName dcVersion dcFormatVersion dcCategory dcKind jsonReport
195

  
196
-- | Main function.
197
main :: Options -> [String] -> IO ()
198
main opts _ = do
199
  report <- buildInstStatusReport (optConfdAddr opts) (optConfdPort opts)
200
  putStrLn $ J.encode report

Also available in: Unified diff