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