Revision d4de2ea8 src/Ganeti/DataCollectors/InstStatus.hs

b/src/Ganeti/DataCollectors/InstStatus.hs
42 42
import Ganeti.DataCollectors.CLI
43 43
import Ganeti.DataCollectors.InstStatusTypes
44 44
import Ganeti.Hypervisor.Xen
45
import Ganeti.Hypervisor.Xen.Types
45 46
import Ganeti.Objects
46 47
import Ganeti.Utils
47 48

  
......
89 90
      currUInfo = idNum >>= (`Map.lookup` uptimes)
90 91
      uptime = fmap uInfoUptime currUInfo
91 92
      adminState = instAdminState inst
93
      actualState =
94
        if adminState == AdminDown && isNothing currDomain
95
          then ActualShutdown
96
          else case currDomain of
97
            (Just dom@(Domain _ _ _ _ (Just isHung))) ->
98
              if isHung
99
                then ActualHung
100
                else domState dom
101
            _ -> ActualUnknown
92 102
  return $
93 103
    InstStatus
94 104
      name
95 105
      (instUuid inst)
96 106
      adminState
107
      actualState
97 108
      uptime
98 109
      (instMtime inst)
99 110

  

Also available in: Unified diff