Revision 83a91400

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