, AssocList
, List
, create
+ , instanceRunning
, setIdx
, setName
, setAlias
, setMovable
, specOf
, shrinkByType
- , runningStates
, localStorageTemplates
, hasSecondary
, requiredNodes
, mem :: Int -- ^ Memory of the instance
, dsk :: Int -- ^ Disk size of instance
, vcpus :: Int -- ^ Number of VCPUs
- , running :: Bool -- ^ Is the instance running?
- , runSt :: String -- ^ Original (text) run status
+ , runSt :: T.InstanceStatus -- ^ Original run status
, pNode :: T.Ndx -- ^ Original primary node
, sNode :: T.Ndx -- ^ Original secondary node
, idx :: T.Idx -- ^ Internal index
setIdx = setIdx
allNames n = [name n, alias n]
--- | Constant holding the running instance states.
-runningStates :: [String]
-runningStates = [C.inststRunning, C.inststErrorup]
+-- | Check if instance is running.
+instanceRunning :: Instance -> Bool
+instanceRunning (Instance {runSt = T.Running}) = True
+instanceRunning (Instance {runSt = T.ErrorUp}) = True
+instanceRunning _ = False
-- | Constant holding the local storage templates.
--
--
-- Some parameters are not initialized by function, and must be set
-- later (via 'setIdx' for example).
-create :: String -> Int -> Int -> Int -> String
+create :: String -> Int -> Int -> Int -> T.InstanceStatus
-> [String] -> Bool -> T.Ndx -> T.Ndx -> T.DiskTemplate -> Instance
create name_init mem_init dsk_init vcpus_init run_init tags_init
auto_balance_init pn sn dt =
, mem = mem_init
, dsk = dsk_init
, vcpus = vcpus_init
- , running = run_init `elem` runningStates
, runSt = run_init
, pNode = pn
, sNode = sn