Revision 83a91400 hspace.hs
b/hspace.hs | ||
---|---|---|
58 | 58 |
, optIDsk :: Int -- ^ Instance disk |
59 | 59 |
, optIVCPUs :: Int -- ^ Instance VCPUs |
60 | 60 |
, optINodes :: Int -- ^ Nodes required for an instance |
61 |
, optMcpu :: Double -- ^ Max cpu ratio for nodes |
|
62 |
, optMdsk :: Double -- ^ Max disk usage ratio for nodes |
|
61 | 63 |
, optShowVer :: Bool -- ^ Just show the program version |
62 | 64 |
, optShowHelp :: Bool -- ^ Just show the help |
63 | 65 |
} deriving Show |
... | ... | |
89 | 91 |
, optIDsk = 102400 |
90 | 92 |
, optIVCPUs = 1 |
91 | 93 |
, optINodes = 2 |
94 |
, optMcpu = -1 |
|
95 |
, optMdsk = -1 |
|
92 | 96 |
, optShowVer = False |
93 | 97 |
, optShowHelp = False |
94 | 98 |
} |
... | ... | |
129 | 133 |
, Option [] ["req-nodes"] |
130 | 134 |
(ReqArg (\ n opts -> opts { optINodes = read n }) "NODES") |
131 | 135 |
"number of nodes for the new instances (1=plain, 2=mirrored)" |
136 |
, Option [] ["max-cpu"] |
|
137 |
(ReqArg (\ n opts -> opts { optMcpu = read n }) "RATIO") |
|
138 |
"maximum virtual-to-physical cpu ratio for nodes" |
|
139 |
, Option [] ["max-disk"] |
|
140 |
(ReqArg (\ n opts -> opts { optMdsk = read n }) "RATIO") |
|
141 |
"minimum free disk space for nodes (between 0 and 1)" |
|
132 | 142 |
, Option ['V'] ["version"] |
133 | 143 |
(NoArg (\ opts -> opts { optShowVer = True})) |
134 | 144 |
"show the version of the program" |
... | ... | |
201 | 211 |
filter (\n -> elem (Node.name n) offline_names) |
202 | 212 |
all_nodes |
203 | 213 |
req_nodes = optINodes opts |
214 |
m_cpu = optMcpu opts |
|
215 |
m_dsk = optMdsk opts |
|
204 | 216 |
|
205 | 217 |
when (length offline_wrong > 0) $ do |
206 | 218 |
printf "Error: Wrong node name(s) set as offline: %s\n" |
... | ... | |
211 | 223 |
printf "Error: Invalid required nodes (%d)\n" req_nodes |
212 | 224 |
exitWith $ ExitFailure 1 |
213 | 225 |
|
214 |
let nl = Container.map (\n -> if elem (Node.idx n) offline_indices
|
|
226 |
let nm = Container.map (\n -> if elem (Node.idx n) offline_indices
|
|
215 | 227 |
then Node.setOffline n True |
216 | 228 |
else n) fixed_nl |
229 |
nl = Container.map (flip Node.setMdsk m_dsk . flip Node.setMcpu m_cpu) |
|
230 |
nm |
|
217 | 231 |
|
218 | 232 |
when (length csf > 0 && verbose > 1) $ do |
219 | 233 |
printf "Note: Stripping common suffix of '%s' from names\n" csf |
Also available in: Unified diff