From f46cd32869c74f41c03e233b415783f54bc6c0ff Mon Sep 17 00:00:00 2001 From: Pradyumna Kaushik Date: Sun, 8 Jan 2017 18:58:39 -0800 Subject: [PATCH] Bug fix to start capping when the first task fits an offer. --- schedulers/bpMaxMinPistonCapping.go | 6 ++++++ schedulers/bpswClassMapWattsPistonCapping.go | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/schedulers/bpMaxMinPistonCapping.go b/schedulers/bpMaxMinPistonCapping.go index ee05c3b..edc27d8 100644 --- a/schedulers/bpMaxMinPistonCapping.go +++ b/schedulers/bpMaxMinPistonCapping.go @@ -229,6 +229,12 @@ func (s *BPMaxMinPistonCapping) CheckFit(i int, (offerCPU >= (*totalCPU + task.CPU)) && (offerRAM >= (*totalRAM + task.RAM)) { + // Start piston capping if haven't started yet + if !s.isCapping { + s.isCapping = true + s.startCapping() + } + *totalWatts += task.Watts *totalCPU += task.CPU *totalRAM += task.RAM diff --git a/schedulers/bpswClassMapWattsPistonCapping.go b/schedulers/bpswClassMapWattsPistonCapping.go index 20c5e61..5079980 100644 --- a/schedulers/bpswClassMapWattsPistonCapping.go +++ b/schedulers/bpswClassMapWattsPistonCapping.go @@ -271,6 +271,12 @@ func (s *BPSWClassMapWattsPistonCapping) ResourceOffers(driver sched.SchedulerDr (offerCPU >= (totalCPU + task.CPU)) && (offerRAM >= (totalRAM + task.RAM)) { + // Start piston capping if haven't started yet + if !s.isCapping { + s.isCapping = true + s.startCapping() + } + fmt.Println("Watts being used: ", task.ClassToWatts[nodeClass]) taken = true totalWatts += task.ClassToWatts[nodeClass]