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