Revision 61bbbed7 htools/Ganeti/HTools/Node.hs
b/htools/Ganeti/HTools/Node.hs | ||
---|---|---|
310 | 310 |
removePri t inst = |
311 | 311 |
let iname = Instance.idx inst |
312 | 312 |
new_plist = delete iname (pList t) |
313 |
new_mem = fMem t + Instance.mem inst
|
|
313 |
new_mem = Instance.applyIfOnline inst (+ Instance.mem inst) (fMem t)
|
|
314 | 314 |
new_dsk = fDsk t + Instance.dsk inst |
315 | 315 |
new_mp = fromIntegral new_mem / tMem t |
316 | 316 |
new_dp = fromIntegral new_dsk / tDsk t |
317 | 317 |
new_failn1 = new_mem <= rMem t |
318 |
new_ucpu = uCpu t - Instance.vcpus inst |
|
318 |
new_ucpu = Instance.applyIfOnline inst |
|
319 |
(\x -> x - Instance.vcpus inst) (uCpu t) |
|
319 | 320 |
new_rcpu = fromIntegral new_ucpu / tCpu t |
320 | 321 |
new_load = utilLoad t `T.subUtil` Instance.util inst |
321 | 322 |
in t { pList = new_plist, fMem = new_mem, fDsk = new_dsk |
... | ... | |
374 | 375 |
let iname = Instance.idx inst |
375 | 376 |
uses_disk = Instance.usesLocalStorage inst |
376 | 377 |
cur_dsk = fDsk t |
377 |
new_mem = fMem t - Instance.mem inst |
|
378 |
new_mem = Instance.applyIfOnline inst |
|
379 |
(\x -> x - Instance.mem inst) (fMem t) |
|
378 | 380 |
new_dsk = if uses_disk |
379 | 381 |
then cur_dsk - Instance.dsk inst |
380 | 382 |
else cur_dsk |
381 | 383 |
new_failn1 = new_mem <= rMem t |
382 |
new_ucpu = uCpu t + Instance.vcpus inst
|
|
384 |
new_ucpu = Instance.applyIfOnline inst (+ Instance.vcpus inst) (uCpu t)
|
|
383 | 385 |
new_pcpu = fromIntegral new_ucpu / tCpu t |
384 | 386 |
new_dp = fromIntegral new_dsk / tDsk t |
385 | 387 |
l_cpu = mCpu t |
... | ... | |
415 | 417 |
old_peers = peers t |
416 | 418 |
old_mem = fMem t |
417 | 419 |
new_dsk = fDsk t - Instance.dsk inst |
418 |
secondary_needed_mem = if Instance.autoBalance inst |
|
420 |
secondary_needed_mem = if Instance.autoBalance inst && |
|
421 |
not (Instance.instanceOffline inst) |
|
419 | 422 |
then Instance.mem inst |
420 | 423 |
else 0 |
421 | 424 |
new_peem = P.find pdx old_peers + secondary_needed_mem |
Also available in: Unified diff