Revision c8c071cb src/Ganeti/HTools/Backend/Text.hs

b/src/Ganeti/HTools/Backend/Text.hs
84 84
              -> Node.Node  -- ^ The node to be serialised
85 85
              -> String
86 86
serializeNode gl node =
87
  printf "%s|%.0f|%d|%d|%.0f|%d|%.0f|%c|%s|%d|%s|%s|%d" (Node.name node)
87
  printf "%s|%.0f|%d|%d|%.0f|%d|%.0f|%c|%s|%d|%s|%s|%d|%d" (Node.name node)
88 88
           (Node.tMem node) (Node.nMem node) (Node.fMem node)
89 89
           (Node.tDsk node) (Node.fDsk node) (Node.tCpu node)
90 90
           (if Node.offline node then 'Y' else
......
94 94
           (intercalate "," (Node.nTags node))
95 95
           (if Node.exclStorage node then "Y" else "N")
96 96
           (Node.fSpindles node)
97
           (Node.nCpu node)
97 98
    where grp = Container.find (Node.group node) gl
98 99

  
99 100
-- | Generate node file data from node objects.
......
206 207
         -> m (String, Node.Node) -- ^ The result, a tuple o node name
207 208
                                  -- and node object
208 209
loadNode ktg [name, tm, nm, fm, td, fd, tc, fo, gu, spindles, tags,
209
              excl_stor, free_spindles] = do
210
              excl_stor, free_spindles, nos_cpu] = do
210 211
  gdx <- lookupGroup ktg name gu
211 212
  new_node <-
212 213
      if "?" `elem` [tm,nm,fm,td,fd,tc] || fo == "Y" then
213
          return $ Node.create name 0 0 0 0 0 0 True 0 0 gdx False
214
          return $ Node.create name 0 0 0 0 0 0 0 True 0 0 gdx False
214 215
      else do
215 216
        let vtags = commaSplit tags
216 217
        vtm <- tryRead name tm
......
219 220
        vtd <- tryRead name td
220 221
        vfd <- tryRead name fd
221 222
        vtc <- tryRead name tc
223
        vnc <- tryRead name nos_cpu
222 224
        vspindles <- tryRead name spindles
223 225
        vfree_spindles <- tryRead name free_spindles
224 226
        vexcl_stor <- case excl_stor of
......
228 230
                             "Invalid exclusive_storage value for node '" ++
229 231
                             name ++ "': " ++ excl_stor
230 232
        return . flip Node.setMaster (fo == "M") . flip Node.setNodeTags vtags $
231
          Node.create name vtm vnm vfm vtd vfd vtc False vspindles
233
          Node.create name vtm vnm vfm vtd vfd vtc vnc False vspindles
232 234
          vfree_spindles gdx vexcl_stor
233 235
  return (name, new_node)
234 236

  
......
246 248
  loadNode ktg [name, tm, nm, fm, td, fd, tc, fo, gu, spindles, tags,
247 249
                excl_stor, "0"]
248 250

  
251
loadNode ktg [name, tm, nm, fm, td, fd, tc, fo, gu, spindles, tags,
252
              excl_stor, free_spindles] =
253
  loadNode ktg [name, tm, nm, fm, td, fd, tc, fo, gu, spindles, tags,
254
                excl_stor, free_spindles, "1"]
255

  
249 256
loadNode _ s = fail $ "Invalid/incomplete node data: '" ++ show s ++ "'"
250 257

  
251 258
-- | Load an instance from a field list.

Also available in: Unified diff