(Instance.vcpus inst) (instanceStatusToRaw (Instance.runSt inst))
(if Instance.autoBalance inst then "Y" else "N")
pnode snode (diskTemplateToRaw (Instance.diskTemplate inst))
- (intercalate "," (Instance.tags inst)) (Instance.spindleUsage inst)
+ (intercalate "," (Instance.tags inst)) (Instance.spindleUse inst)
-- | Generate instance file data from instance objects.
serializeInstances :: Node.List -> Instance.List -> String
serializeAllIPolicies :: IPolicy -> Group.List -> String
serializeAllIPolicies cpol gl =
let groups = Container.elems gl
- allpolicies = [("", cpol)] ++
+ allpolicies = ("", cpol) :
map (\g -> (Group.name g, Group.iPolicy g)) groups
strings = map (uncurry serializeIPolicy) allpolicies
in unlines strings
loadNode ktg [name, tm, nm, fm, td, fd, tc, fo, gu, spindles] = do
gdx <- lookupGroup ktg name gu
new_node <-
- if any (== "?") [tm,nm,fm,td,fd,tc] || fo == "Y" then
+ if "?" `elem` [tm,nm,fm,td,fd,tc] || fo == "Y" then
return $ Node.create name 0 0 0 0 0 0 True 0 gdx
else do
vtm <- tryRead name tm
"' for instance " ++ name
disk_template <- annotateResult ("Instance " ++ name)
(diskTemplateFromRaw dt)
- spindle_usage <- tryRead name su
- when (sidx == pidx) $ fail $ "Instance " ++ name ++
+ spindle_use <- tryRead name su
+ when (sidx == pidx) . fail $ "Instance " ++ name ++
" has same primary and secondary node - " ++ pnode
let vtags = commaSplit tags
newinst = Instance.create name vmem vdsk vvcpus vstatus vtags
- auto_balance pidx sidx disk_template spindle_usage
+ auto_balance pidx sidx disk_template spindle_use
return (name, newinst)
loadInst ktn [ name, mem, dsk, vcpus, status, auto_bal, pnode, snode
xdts <- mapM diskTemplateFromRaw $ commaSplit dtemplates
xvcpu_ratio <- tryRead (owner ++ "/vcpu_ratio") vcpu_ratio
xspindle_ratio <- tryRead (owner ++ "/spindle_ratio") spindle_ratio
- return $ (owner, IPolicy xstdspec xminspec xmaxspec xdts
- xvcpu_ratio xspindle_ratio)
+ return (owner,
+ IPolicy xstdspec xminspec xmaxspec xdts xvcpu_ratio xspindle_ratio)
loadIPolicy s = fail $ "Invalid ipolicy data: '" ++ show s ++ "'"
loadOnePolicy :: (IPolicy, Group.List) -> String