Revision db1bcfe8 hscan.hs
b/hscan.hs | ||
---|---|---|
92 | 92 |
in unlines nlines |
93 | 93 |
|
94 | 94 |
-- | Generate instance file data from instance objects |
95 |
serializeInstances :: Cluster.InstanceList -> String |
|
96 |
-> Cluster.NameList -> String |
|
97 |
serializeInstances il csf ktn = |
|
98 |
let etn = map (\(idx, name) -> (idx, name ++ csf)) ktn |
|
99 |
instances = Container.elems il |
|
95 |
serializeInstances :: Cluster.NodeList -> Cluster.InstanceList |
|
96 |
-> String -> String |
|
97 |
serializeInstances nl il csf = |
|
98 |
let instances = Container.elems il |
|
100 | 99 |
nlines = map |
101 | 100 |
(\inst -> |
102 | 101 |
let |
103 | 102 |
iname = Instance.name inst ++ csf |
104 |
pnode = fromJust $ lookup (Instance.pnode inst) etn
|
|
105 |
snode = fromJust $ lookup (Instance.snode inst) etn
|
|
103 |
pnode = cNameOf nl $ Instance.pnode inst
|
|
104 |
snode = cNameOf nl $ Instance.snode inst
|
|
106 | 105 |
in |
107 | 106 |
printf "%s|%d|%d|%s|%s|%s" |
108 | 107 |
iname (Instance.mem inst) (Instance.dsk inst) |
... | ... | |
163 | 162 |
Bad err -> printf "\nError: failed to load data. \ |
164 | 163 |
\Details:\n%s\n" err |
165 | 164 |
Ok x -> do |
166 |
let (nl, il, csf, ktn, _) = x
|
|
165 |
let (nl, il, csf, _, _) = x
|
|
167 | 166 |
(_, fix_nl) = Loader.checkData nl il |
168 | 167 |
putStrLn $ printCluster fix_nl il |
169 | 168 |
when (optShowNodes opts) $ do |
170 | 169 |
putStr $ Cluster.printNodes fix_nl |
171 | 170 |
let ndata = serializeNodes nl csf |
172 |
idata = serializeInstances il csf ktn
|
|
171 |
idata = serializeInstances nl il csf
|
|
173 | 172 |
oname = odir </> (fixSlash name) |
174 | 173 |
writeFile (oname <.> "nodes") ndata |
175 | 174 |
writeFile (oname <.> "instances") idata) |
Also available in: Unified diff