Revision 52cc1370 htools/Ganeti/HTools/Text.hs
b/htools/Ganeti/HTools/Text.hs | ||
---|---|---|
102 | 102 |
snode = (if sidx == Node.noSecondary |
103 | 103 |
then "" |
104 | 104 |
else Container.nameOf nl sidx) |
105 |
in printf "%s|%d|%d|%d|%s|%s|%s|%s|%s|%s" |
|
105 |
in printf "%s|%d|%d|%d|%s|%s|%s|%s|%s|%s|%d"
|
|
106 | 106 |
iname (Instance.mem inst) (Instance.dsk inst) |
107 | 107 |
(Instance.vcpus inst) (instanceStatusToRaw (Instance.runSt inst)) |
108 | 108 |
(if Instance.autoBalance inst then "Y" else "N") |
109 | 109 |
pnode snode (diskTemplateToRaw (Instance.diskTemplate inst)) |
110 |
(intercalate "," (Instance.tags inst)) |
|
110 |
(intercalate "," (Instance.tags inst)) (Instance.spindleUsage inst)
|
|
111 | 111 |
|
112 | 112 |
-- | Generate instance file data from instance objects. |
113 | 113 |
serializeInstances :: Node.List -> Instance.List -> String |
... | ... | |
206 | 206 |
-- instance name and |
207 | 207 |
-- the instance object |
208 | 208 |
loadInst ktn [ name, mem, dsk, vcpus, status, auto_bal, pnode, snode |
209 |
, dt, tags ] = do |
|
209 |
, dt, tags, su ] = do
|
|
210 | 210 |
pidx <- lookupNode ktn name pnode |
211 | 211 |
sidx <- if null snode |
212 | 212 |
then return Node.noSecondary |
... | ... | |
222 | 222 |
"' for instance " ++ name |
223 | 223 |
disk_template <- annotateResult ("Instance " ++ name) |
224 | 224 |
(diskTemplateFromRaw dt) |
225 |
spindle_usage <- tryRead name su |
|
225 | 226 |
when (sidx == pidx) $ fail $ "Instance " ++ name ++ |
226 | 227 |
" has same primary and secondary node - " ++ pnode |
227 | 228 |
let vtags = commaSplit tags |
228 | 229 |
newinst = Instance.create name vmem vdsk vvcpus vstatus vtags |
229 |
auto_balance pidx sidx disk_template 1
|
|
230 |
auto_balance pidx sidx disk_template spindle_usage
|
|
230 | 231 |
return (name, newinst) |
232 |
|
|
233 |
loadInst ktn [ name, mem, dsk, vcpus, status, auto_bal, pnode, snode |
|
234 |
, dt, tags ] = loadInst ktn [ name, mem, dsk, vcpus, status, |
|
235 |
auto_bal, pnode, snode, dt, tags, |
|
236 |
"1" ] |
|
231 | 237 |
loadInst _ s = fail $ "Invalid/incomplete instance data: '" ++ show s ++ "'" |
232 | 238 |
|
233 | 239 |
-- | Loads a spec from a field list. |
Also available in: Unified diff