Revision f951bd09 htools/Ganeti/HTools/Text.hs
b/htools/Ganeti/HTools/Text.hs | ||
---|---|---|
78 | 78 |
-> Node.Node -- ^ The node to be serialised |
79 | 79 |
-> String |
80 | 80 |
serializeNode gl node = |
81 |
printf "%s|%.0f|%d|%d|%.0f|%d|%.0f|%c|%s" (Node.name node) |
|
81 |
printf "%s|%.0f|%d|%d|%.0f|%d|%.0f|%c|%s|%d" (Node.name node)
|
|
82 | 82 |
(Node.tMem node) (Node.nMem node) (Node.fMem node) |
83 | 83 |
(Node.tDsk node) (Node.fDsk node) (Node.tCpu node) |
84 | 84 |
(if Node.offline node then 'Y' else 'N') |
85 | 85 |
(Group.uuid grp) |
86 |
(Node.spindleCount node) |
|
86 | 87 |
where grp = Container.find (Node.group node) gl |
87 | 88 |
|
88 | 89 |
-- | Generate node file data from node objects. |
... | ... | |
177 | 178 |
-> [String] -- ^ Input data as a list of fields |
178 | 179 |
-> m (String, Node.Node) -- ^ The result, a tuple o node name |
179 | 180 |
-- and node object |
180 |
loadNode ktg [name, tm, nm, fm, td, fd, tc, fo, gu] = do |
|
181 |
loadNode ktg [name, tm, nm, fm, td, fd, tc, fo, gu, spindles] = do
|
|
181 | 182 |
gdx <- lookupGroup ktg name gu |
182 | 183 |
new_node <- |
183 | 184 |
if any (== "?") [tm,nm,fm,td,fd,tc] || fo == "Y" then |
... | ... | |
189 | 190 |
vtd <- tryRead name td |
190 | 191 |
vfd <- tryRead name fd |
191 | 192 |
vtc <- tryRead name tc |
192 |
return $ Node.create name vtm vnm vfm vtd vfd vtc False 1 gdx |
|
193 |
vspindles <- tryRead name spindles |
|
194 |
return $ Node.create name vtm vnm vfm vtd vfd vtc False vspindles gdx |
|
193 | 195 |
return (name, new_node) |
196 |
|
|
197 |
loadNode ktg [name, tm, nm, fm, td, fd, tc, fo, gu] = |
|
198 |
loadNode ktg [name, tm, nm, fm, td, fd, tc, fo, gu, "1"] |
|
199 |
|
|
194 | 200 |
loadNode _ s = fail $ "Invalid/incomplete node data: '" ++ show s ++ "'" |
195 | 201 |
|
196 | 202 |
-- | Load an instance from a field list. |
Also available in: Unified diff