Revision ee9724b9
b/Ganeti/HTools/Cluster.hs | ||
---|---|---|
198 | 198 |
, "reserved_mem_cv" |
199 | 199 |
, "offline_score" |
200 | 200 |
, "vcpu_ratio_cv" |
201 |
, "cpu_load_cv" |
|
202 |
, "mem_load_cv" |
|
203 |
, "disk_load_cv" |
|
204 |
, "net_load_cv" |
|
201 | 205 |
] |
202 | 206 |
|
203 | 207 |
-- | Compute the mem and disk covariance. |
... | ... | |
225 | 229 |
fromIntegral (offline_inst + online_inst)::Double |
226 | 230 |
cpu_l = map Node.pCpu nodes |
227 | 231 |
cpu_cv = varianceCoeff cpu_l |
228 |
in [mem_cv, dsk_cv, n1_score, res_cv, off_score, cpu_cv] |
|
232 |
(c_load, m_load, d_load, n_load) = unzip4 $ |
|
233 |
map (\n -> |
|
234 |
let DynUtil c1 m1 d1 n1 = Node.utilLoad n |
|
235 |
DynUtil c2 m2 d2 n2 = Node.utilPool n |
|
236 |
in (c1/c2, m1/m2, d1/d2, n1/n2) |
|
237 |
) nodes |
|
238 |
in [ mem_cv, dsk_cv, n1_score, res_cv, off_score, cpu_cv |
|
239 |
, varianceCoeff c_load, varianceCoeff m_load |
|
240 |
, varianceCoeff d_load, varianceCoeff n_load] |
|
229 | 241 |
|
230 | 242 |
-- | Compute the /total/ variance. |
231 | 243 |
compCV :: Node.List -> Double |
b/Ganeti/HTools/Node.hs | ||
---|---|---|
158 | 158 |
, mCpu = noLimit |
159 | 159 |
, loDsk = noLimitInt |
160 | 160 |
, hiCpu = noLimitInt |
161 |
, utilPool = T.zeroUtil
|
|
161 |
, utilPool = T.baseUtil
|
|
162 | 162 |
, utilLoad = T.zeroUtil |
163 | 163 |
} |
164 | 164 |
|
b/Ganeti/HTools/Types.hs | ||
---|---|---|
31 | 31 |
, Weight |
32 | 32 |
, DynUtil(..) |
33 | 33 |
, zeroUtil |
34 |
, baseUtil |
|
34 | 35 |
, addUtil |
35 | 36 |
, subUtil |
36 | 37 |
, Placement |
... | ... | |
75 | 76 |
zeroUtil = DynUtil { cpuWeight = 0, memWeight = 0 |
76 | 77 |
, dskWeight = 0, netWeight = 0 } |
77 | 78 |
|
79 |
baseUtil :: DynUtil |
|
80 |
baseUtil = DynUtil { cpuWeight = 1, memWeight = 1 |
|
81 |
, dskWeight = 1, netWeight = 1 } |
|
82 |
|
|
78 | 83 |
addUtil :: DynUtil -> DynUtil -> DynUtil |
79 | 84 |
addUtil (DynUtil a1 a2 a3 a4) (DynUtil b1 b2 b3 b4) = |
80 | 85 |
DynUtil (a1+b1) (a2+b2) (a3+b3) (a4+b4) |
Also available in: Unified diff