Added function to determine the watts value to consider for each task, depending on weather -classMapWatts was enabled and also weather the workload contained a map of power-class to the watts requirement.
This commit is contained in:
parent
e7166420dd
commit
ae2e7eb3d7
1 changed files with 22 additions and 0 deletions
|
@ -3,6 +3,9 @@ package schedulers
|
|||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"bitbucket.org/sunybingcloud/electron/def"
|
||||
mesos "github.com/mesos/mesos-go/mesosproto"
|
||||
"bitbucket.org/sunybingcloud/electron/utilities/offerUtils"
|
||||
)
|
||||
|
||||
func coLocated(tasks map[string]bool) {
|
||||
|
@ -13,3 +16,22 @@ func coLocated(tasks map[string]bool) {
|
|||
|
||||
fmt.Println("---------------------")
|
||||
}
|
||||
|
||||
/*
|
||||
Determine the watts value to consider for each task.
|
||||
|
||||
This value could either be task.Watts or task.ClassToWatts[<power class>]
|
||||
If task.ClassToWatts is not present, then return task.Watts (this would be for workloads which don't have classMapWatts)
|
||||
*/
|
||||
func wattsToConsider(task def.Task, classMapWatts bool, offer *mesos.Offer) float64 {
|
||||
if classMapWatts {
|
||||
// checking if ClassToWatts was present in the workload.
|
||||
if task.ClassToWatts != nil {
|
||||
return task.ClassToWatts[offerUtils.PowerClass(offer)]
|
||||
} else {
|
||||
return task.Watts
|
||||
}
|
||||
} else {
|
||||
return task.Watts
|
||||
}
|
||||
}
|
||||
|
|
Reference in a new issue