Retrofitted all the schedulers to now call the offerutils.AddHostIfNew(..) utility function which will dynamically populate the constants.Hosts and constants.PowerClasses.
This commit is contained in:
parent
841c7d5ee8
commit
b4f9a989cb
16 changed files with 37 additions and 75 deletions
|
@ -1,7 +1,6 @@
|
||||||
package schedulers
|
package schedulers
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bitbucket.org/sunybingcloud/electron/constants"
|
|
||||||
"bitbucket.org/sunybingcloud/electron/def"
|
"bitbucket.org/sunybingcloud/electron/def"
|
||||||
"bitbucket.org/sunybingcloud/electron/utilities/mesosUtils"
|
"bitbucket.org/sunybingcloud/electron/utilities/mesosUtils"
|
||||||
"bitbucket.org/sunybingcloud/electron/utilities/offerUtils"
|
"bitbucket.org/sunybingcloud/electron/utilities/offerUtils"
|
||||||
|
@ -128,10 +127,7 @@ func (s *BinPackSortedWattsSortedOffers) ResourceOffers(driver sched.SchedulerDr
|
||||||
log.Println("Sorted Offers:")
|
log.Println("Sorted Offers:")
|
||||||
for i := 0; i < len(offers); i++ {
|
for i := 0; i < len(offers); i++ {
|
||||||
offer := offers[i]
|
offer := offers[i]
|
||||||
if _, ok := constants.Hosts[offer.GetHostname()]; !ok {
|
offerUtils.AddHostIfNew(offer)
|
||||||
log.Printf("New host found. Adding host [%s]", offer.GetHostname())
|
|
||||||
constants.Hosts[offer.GetHostname()] = struct{}{}
|
|
||||||
}
|
|
||||||
offerCPU, _, _ := offerUtils.OfferAgg(offer)
|
offerCPU, _, _ := offerUtils.OfferAgg(offer)
|
||||||
log.Printf("Offer[%s].CPU = %f\n", offer.GetHostname(), offerCPU)
|
log.Printf("Offer[%s].CPU = %f\n", offer.GetHostname(), offerCPU)
|
||||||
}
|
}
|
||||||
|
|
|
@ -210,10 +210,7 @@ func (s *BinPackedPistonCapper) ResourceOffers(driver sched.SchedulerDriver, off
|
||||||
|
|
||||||
// retrieving the total power for each host in the offers
|
// retrieving the total power for each host in the offers
|
||||||
for _, offer := range offers {
|
for _, offer := range offers {
|
||||||
if _, ok := constants.Hosts[offer.GetHostname()]; !ok {
|
offerUtils.AddHostIfNew(offer)
|
||||||
log.Printf("New host found. Adding host [%s]", offer.GetHostname())
|
|
||||||
constants.Hosts[offer.GetHostname()] = struct{}{}
|
|
||||||
}
|
|
||||||
if _, ok := s.totalPower[*offer.Hostname]; !ok {
|
if _, ok := s.totalPower[*offer.Hostname]; !ok {
|
||||||
_, _, offerWatts := offerUtils.OfferAgg(offer)
|
_, _, offerWatts := offerUtils.OfferAgg(offer)
|
||||||
s.totalPower[*offer.Hostname] = offerWatts
|
s.totalPower[*offer.Hostname] = offerWatts
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
package schedulers
|
package schedulers
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bitbucket.org/sunybingcloud/electron/constants"
|
|
||||||
"bitbucket.org/sunybingcloud/electron/def"
|
"bitbucket.org/sunybingcloud/electron/def"
|
||||||
"bitbucket.org/sunybingcloud/electron/utilities/mesosUtils"
|
"bitbucket.org/sunybingcloud/electron/utilities/mesosUtils"
|
||||||
"bitbucket.org/sunybingcloud/electron/utilities/offerUtils"
|
"bitbucket.org/sunybingcloud/electron/utilities/offerUtils"
|
||||||
|
@ -121,10 +120,7 @@ func (s *BinPackSortedWatts) ResourceOffers(driver sched.SchedulerDriver, offers
|
||||||
log.Printf("Received %d resource offers", len(offers))
|
log.Printf("Received %d resource offers", len(offers))
|
||||||
|
|
||||||
for _, offer := range offers {
|
for _, offer := range offers {
|
||||||
if _, ok := constants.Hosts[offer.GetHostname()]; !ok {
|
offerUtils.AddHostIfNew(offer)
|
||||||
log.Printf("New host found. Adding host [%s]", offer.GetHostname())
|
|
||||||
constants.Hosts[offer.GetHostname()] = struct{}{}
|
|
||||||
}
|
|
||||||
select {
|
select {
|
||||||
case <-s.Shutdown:
|
case <-s.Shutdown:
|
||||||
log.Println("Done scheduling tasks: declining offer on [", offer.GetHostname(), "]")
|
log.Println("Done scheduling tasks: declining offer on [", offer.GetHostname(), "]")
|
||||||
|
|
|
@ -282,10 +282,7 @@ func (s *BottomHeavy) ResourceOffers(driver sched.SchedulerDriver, offers []*mes
|
||||||
offersLightPowerClasses := []*mesos.Offer{}
|
offersLightPowerClasses := []*mesos.Offer{}
|
||||||
|
|
||||||
for _, offer := range offers {
|
for _, offer := range offers {
|
||||||
if _, ok := constants.Hosts[offer.GetHostname()]; !ok {
|
offerUtils.AddHostIfNew(offer)
|
||||||
log.Printf("New host found. Adding host [%s]", offer.GetHostname())
|
|
||||||
constants.Hosts[offer.GetHostname()] = struct{}{}
|
|
||||||
}
|
|
||||||
select {
|
select {
|
||||||
case <-s.Shutdown:
|
case <-s.Shutdown:
|
||||||
log.Println("Done scheduling tasks: declining offer on [", offer.GetHostname(), "]")
|
log.Println("Done scheduling tasks: declining offer on [", offer.GetHostname(), "]")
|
||||||
|
@ -296,13 +293,19 @@ func (s *BottomHeavy) ResourceOffers(driver sched.SchedulerDriver, offers []*mes
|
||||||
default:
|
default:
|
||||||
}
|
}
|
||||||
|
|
||||||
if constants.PowerClasses["A"][*offer.Hostname] ||
|
if _, ok := constants.PowerClasses["A"][*offer.Hostname]; ok{
|
||||||
constants.PowerClasses["B"][*offer.Hostname] {
|
|
||||||
offersHeavyPowerClasses = append(offersHeavyPowerClasses, offer)
|
offersHeavyPowerClasses = append(offersHeavyPowerClasses, offer)
|
||||||
} else if constants.PowerClasses["C"][*offer.Hostname] ||
|
|
||||||
constants.PowerClasses["D"][*offer.Hostname] {
|
|
||||||
offersLightPowerClasses = append(offersLightPowerClasses, offer)
|
|
||||||
}
|
}
|
||||||
|
if _, ok := constants.PowerClasses["B"][*offer.Hostname]; ok{
|
||||||
|
offersHeavyPowerClasses = append(offersHeavyPowerClasses, offer)
|
||||||
|
}
|
||||||
|
if _, ok := constants.PowerClasses["C"][*offer.Hostname]; ok{
|
||||||
|
offersHeavyPowerClasses = append(offersLightPowerClasses, offer)
|
||||||
|
}
|
||||||
|
if _, ok := constants.PowerClasses["D"][*offer.Hostname]; ok{
|
||||||
|
offersHeavyPowerClasses = append(offersLightPowerClasses, offer)
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
log.Println("Packing Large tasks into ClassAB offers:")
|
log.Println("Packing Large tasks into ClassAB offers:")
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
package schedulers
|
package schedulers
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bitbucket.org/sunybingcloud/electron/constants"
|
|
||||||
"bitbucket.org/sunybingcloud/electron/def"
|
"bitbucket.org/sunybingcloud/electron/def"
|
||||||
"bitbucket.org/sunybingcloud/electron/utilities/mesosUtils"
|
"bitbucket.org/sunybingcloud/electron/utilities/mesosUtils"
|
||||||
"bitbucket.org/sunybingcloud/electron/utilities/offerUtils"
|
"bitbucket.org/sunybingcloud/electron/utilities/offerUtils"
|
||||||
|
@ -165,10 +164,7 @@ func (s *BPSWMaxMinWatts) ResourceOffers(driver sched.SchedulerDriver, offers []
|
||||||
log.Printf("Received %d resource offers", len(offers))
|
log.Printf("Received %d resource offers", len(offers))
|
||||||
|
|
||||||
for _, offer := range offers {
|
for _, offer := range offers {
|
||||||
if _, ok := constants.Hosts[offer.GetHostname()]; !ok {
|
offerUtils.AddHostIfNew(offer)
|
||||||
log.Printf("New host found. Adding host [%s]", offer.GetHostname())
|
|
||||||
constants.Hosts[offer.GetHostname()] = struct{}{}
|
|
||||||
}
|
|
||||||
select {
|
select {
|
||||||
case <-s.Shutdown:
|
case <-s.Shutdown:
|
||||||
log.Println("Done scheduling tasks: declining offer on [", offer.GetHostname(), "]")
|
log.Println("Done scheduling tasks: declining offer on [", offer.GetHostname(), "]")
|
||||||
|
|
|
@ -261,10 +261,7 @@ func (s *BPSWMaxMinPistonCapping) ResourceOffers(driver sched.SchedulerDriver, o
|
||||||
log.Printf("Received %d resource offers", len(offers))
|
log.Printf("Received %d resource offers", len(offers))
|
||||||
|
|
||||||
for _, offer := range offers {
|
for _, offer := range offers {
|
||||||
if _, ok := constants.Hosts[offer.GetHostname()]; !ok {
|
offerUtils.AddHostIfNew(offer)
|
||||||
log.Printf("New host found. Adding host [%s]", offer.GetHostname())
|
|
||||||
constants.Hosts[offer.GetHostname()] = struct{}{}
|
|
||||||
}
|
|
||||||
select {
|
select {
|
||||||
case <-s.Shutdown:
|
case <-s.Shutdown:
|
||||||
log.Println("Done scheduling tasks: declining offer on [", offer.GetHostname(), "]")
|
log.Println("Done scheduling tasks: declining offer on [", offer.GetHostname(), "]")
|
||||||
|
|
|
@ -300,10 +300,7 @@ func (s *BPSWMaxMinProacCC) ResourceOffers(driver sched.SchedulerDriver, offers
|
||||||
|
|
||||||
// retrieving the available power for all the hosts in the offers.
|
// retrieving the available power for all the hosts in the offers.
|
||||||
for _, offer := range offers {
|
for _, offer := range offers {
|
||||||
if _, ok := constants.Hosts[offer.GetHostname()]; !ok {
|
offerUtils.AddHostIfNew(offer)
|
||||||
log.Printf("New host found. Adding host [%s]", offer.GetHostname())
|
|
||||||
constants.Hosts[offer.GetHostname()] = struct{}{}
|
|
||||||
}
|
|
||||||
_, _, offerWatts := offerUtils.OfferAgg(offer)
|
_, _, offerWatts := offerUtils.OfferAgg(offer)
|
||||||
s.availablePower[*offer.Hostname] = offerWatts
|
s.availablePower[*offer.Hostname] = offerWatts
|
||||||
// setting total power if the first time
|
// setting total power if the first time
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
package schedulers
|
package schedulers
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bitbucket.org/sunybingcloud/electron/constants"
|
|
||||||
"bitbucket.org/sunybingcloud/electron/def"
|
"bitbucket.org/sunybingcloud/electron/def"
|
||||||
"bitbucket.org/sunybingcloud/electron/utilities/mesosUtils"
|
"bitbucket.org/sunybingcloud/electron/utilities/mesosUtils"
|
||||||
"bitbucket.org/sunybingcloud/electron/utilities/offerUtils"
|
"bitbucket.org/sunybingcloud/electron/utilities/offerUtils"
|
||||||
|
@ -120,10 +119,7 @@ func (s *FirstFit) ResourceOffers(driver sched.SchedulerDriver, offers []*mesos.
|
||||||
log.Printf("Received %d resource offers", len(offers))
|
log.Printf("Received %d resource offers", len(offers))
|
||||||
|
|
||||||
for _, offer := range offers {
|
for _, offer := range offers {
|
||||||
if _, ok := constants.Hosts[offer.GetHostname()]; !ok {
|
offerUtils.AddHostIfNew(offer)
|
||||||
log.Printf("New host found. Adding host [%s]", offer.GetHostname())
|
|
||||||
constants.Hosts[offer.GetHostname()] = struct{}{}
|
|
||||||
}
|
|
||||||
select {
|
select {
|
||||||
case <-s.Shutdown:
|
case <-s.Shutdown:
|
||||||
log.Println("Done scheduling tasks: declining offer on [", offer.GetHostname(), "]")
|
log.Println("Done scheduling tasks: declining offer on [", offer.GetHostname(), "]")
|
||||||
|
|
|
@ -233,10 +233,7 @@ func (s *FirstFitProacCC) ResourceOffers(driver sched.SchedulerDriver, offers []
|
||||||
|
|
||||||
// retrieving the available power for all the hosts in the offers.
|
// retrieving the available power for all the hosts in the offers.
|
||||||
for _, offer := range offers {
|
for _, offer := range offers {
|
||||||
if _, ok := constants.Hosts[offer.GetHostname()]; !ok {
|
offerUtils.AddHostIfNew(offer)
|
||||||
log.Printf("New host found. Adding host [%s]", offer.GetHostname())
|
|
||||||
constants.Hosts[offer.GetHostname()] = struct{}{}
|
|
||||||
}
|
|
||||||
_, _, offer_watts := offerUtils.OfferAgg(offer)
|
_, _, offer_watts := offerUtils.OfferAgg(offer)
|
||||||
s.availablePower[*offer.Hostname] = offer_watts
|
s.availablePower[*offer.Hostname] = offer_watts
|
||||||
// setting total power if the first time.
|
// setting total power if the first time.
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
package schedulers
|
package schedulers
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bitbucket.org/sunybingcloud/electron/constants"
|
|
||||||
"bitbucket.org/sunybingcloud/electron/def"
|
"bitbucket.org/sunybingcloud/electron/def"
|
||||||
"bitbucket.org/sunybingcloud/electron/utilities/mesosUtils"
|
"bitbucket.org/sunybingcloud/electron/utilities/mesosUtils"
|
||||||
"bitbucket.org/sunybingcloud/electron/utilities/offerUtils"
|
"bitbucket.org/sunybingcloud/electron/utilities/offerUtils"
|
||||||
|
@ -127,10 +126,7 @@ func (s *FirstFitSortedOffers) ResourceOffers(driver sched.SchedulerDriver, offe
|
||||||
log.Println("Sorted Offers:")
|
log.Println("Sorted Offers:")
|
||||||
for i := 0; i < len(offers); i++ {
|
for i := 0; i < len(offers); i++ {
|
||||||
offer := offers[i]
|
offer := offers[i]
|
||||||
if _, ok := constants.Hosts[offer.GetHostname()]; !ok {
|
offerUtils.AddHostIfNew(offer)
|
||||||
log.Printf("New host found. Adding host [%s]", offer.GetHostname())
|
|
||||||
constants.Hosts[offer.GetHostname()] = struct{}{}
|
|
||||||
}
|
|
||||||
offerCPU, _, _ := offerUtils.OfferAgg(offer)
|
offerCPU, _, _ := offerUtils.OfferAgg(offer)
|
||||||
log.Printf("Offer[%s].CPU = %f\n", offer.GetHostname(), offerCPU)
|
log.Printf("Offer[%s].CPU = %f\n", offer.GetHostname(), offerCPU)
|
||||||
}
|
}
|
||||||
|
|
|
@ -246,10 +246,7 @@ func (s *FirstFitSortedWattsProacCC) ResourceOffers(driver sched.SchedulerDriver
|
||||||
|
|
||||||
// retrieving the available power for all the hosts in the offers.
|
// retrieving the available power for all the hosts in the offers.
|
||||||
for _, offer := range offers {
|
for _, offer := range offers {
|
||||||
if _, ok := constants.Hosts[offer.GetHostname()]; !ok {
|
offerUtils.AddHostIfNew(offer)
|
||||||
log.Printf("New host found. Adding host [%s]", offer.GetHostname())
|
|
||||||
constants.Hosts[offer.GetHostname()] = struct{}{}
|
|
||||||
}
|
|
||||||
_, _, offer_watts := offerUtils.OfferAgg(offer)
|
_, _, offer_watts := offerUtils.OfferAgg(offer)
|
||||||
s.availablePower[*offer.Hostname] = offer_watts
|
s.availablePower[*offer.Hostname] = offer_watts
|
||||||
// setting total power if the first time.
|
// setting total power if the first time.
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
package schedulers
|
package schedulers
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bitbucket.org/sunybingcloud/electron/constants"
|
|
||||||
"bitbucket.org/sunybingcloud/electron/def"
|
"bitbucket.org/sunybingcloud/electron/def"
|
||||||
"bitbucket.org/sunybingcloud/electron/utilities/mesosUtils"
|
"bitbucket.org/sunybingcloud/electron/utilities/mesosUtils"
|
||||||
"bitbucket.org/sunybingcloud/electron/utilities/offerUtils"
|
"bitbucket.org/sunybingcloud/electron/utilities/offerUtils"
|
||||||
|
@ -129,10 +128,7 @@ func (s *FirstFitSortedWattsSortedOffers) ResourceOffers(driver sched.SchedulerD
|
||||||
log.Println("Sorted Offers:")
|
log.Println("Sorted Offers:")
|
||||||
for i := 0; i < len(offers); i++ {
|
for i := 0; i < len(offers); i++ {
|
||||||
offer := offers[i]
|
offer := offers[i]
|
||||||
if _, ok := constants.Hosts[offer.GetHostname()]; !ok {
|
offerUtils.AddHostIfNew(offer)
|
||||||
log.Printf("New host found. Adding host [%s]", offer.GetHostname())
|
|
||||||
constants.Hosts[offer.GetHostname()] = struct{}{}
|
|
||||||
}
|
|
||||||
offerCPU, _, _ := offerUtils.OfferAgg(offer)
|
offerCPU, _, _ := offerUtils.OfferAgg(offer)
|
||||||
log.Printf("Offer[%s].CPU = %f\n", offer.GetHostname(), offerCPU)
|
log.Printf("Offer[%s].CPU = %f\n", offer.GetHostname(), offerCPU)
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
package schedulers
|
package schedulers
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bitbucket.org/sunybingcloud/electron/constants"
|
|
||||||
"bitbucket.org/sunybingcloud/electron/def"
|
"bitbucket.org/sunybingcloud/electron/def"
|
||||||
"bitbucket.org/sunybingcloud/electron/utilities/mesosUtils"
|
"bitbucket.org/sunybingcloud/electron/utilities/mesosUtils"
|
||||||
"bitbucket.org/sunybingcloud/electron/utilities/offerUtils"
|
"bitbucket.org/sunybingcloud/electron/utilities/offerUtils"
|
||||||
|
@ -123,10 +122,7 @@ func (s *FirstFitSortedWatts) ResourceOffers(driver sched.SchedulerDriver, offer
|
||||||
log.Printf("Received %d resource offers", len(offers))
|
log.Printf("Received %d resource offers", len(offers))
|
||||||
|
|
||||||
for _, offer := range offers {
|
for _, offer := range offers {
|
||||||
if _, ok := constants.Hosts[offer.GetHostname()]; !ok {
|
offerUtils.AddHostIfNew(offer)
|
||||||
log.Printf("New host found. Adding host [%s]", offer.GetHostname())
|
|
||||||
constants.Hosts[offer.GetHostname()] = struct{}{}
|
|
||||||
}
|
|
||||||
select {
|
select {
|
||||||
case <-s.Shutdown:
|
case <-s.Shutdown:
|
||||||
log.Println("Done scheduling tasks: declining offer on [", offer.GetHostname(), "]")
|
log.Println("Done scheduling tasks: declining offer on [", offer.GetHostname(), "]")
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
package schedulers
|
package schedulers
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bitbucket.org/sunybingcloud/electron/constants"
|
|
||||||
"bitbucket.org/sunybingcloud/electron/def"
|
"bitbucket.org/sunybingcloud/electron/def"
|
||||||
"bitbucket.org/sunybingcloud/electron/utilities/mesosUtils"
|
"bitbucket.org/sunybingcloud/electron/utilities/mesosUtils"
|
||||||
"bitbucket.org/sunybingcloud/electron/utilities/offerUtils"
|
"bitbucket.org/sunybingcloud/electron/utilities/offerUtils"
|
||||||
|
@ -113,10 +112,7 @@ func (s *FirstFitWattsOnly) ResourceOffers(driver sched.SchedulerDriver, offers
|
||||||
log.Printf("Received %d resource offers", len(offers))
|
log.Printf("Received %d resource offers", len(offers))
|
||||||
|
|
||||||
for _, offer := range offers {
|
for _, offer := range offers {
|
||||||
if _, ok := constants.Hosts[offer.GetHostname()]; !ok {
|
offerUtils.AddHostIfNew(offer)
|
||||||
log.Printf("New host found. Adding host [%s]", offer.GetHostname())
|
|
||||||
constants.Hosts[offer.GetHostname()] = struct{}{}
|
|
||||||
}
|
|
||||||
select {
|
select {
|
||||||
case <-s.Shutdown:
|
case <-s.Shutdown:
|
||||||
log.Println("Done scheduling tasks: declining offer on [", offer.GetHostname(), "]")
|
log.Println("Done scheduling tasks: declining offer on [", offer.GetHostname(), "]")
|
||||||
|
|
|
@ -18,7 +18,7 @@ func coLocated(tasks map[string]bool) {
|
||||||
// Get the powerClass of the given hostname
|
// Get the powerClass of the given hostname
|
||||||
func hostToPowerClass(hostName string) string {
|
func hostToPowerClass(hostName string) string {
|
||||||
for powerClass, hosts := range constants.PowerClasses {
|
for powerClass, hosts := range constants.PowerClasses {
|
||||||
if ok := hosts[hostName]; ok {
|
if _, ok := hosts[hostName]; ok {
|
||||||
return powerClass
|
return powerClass
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -281,6 +281,7 @@ func (s *TopHeavy) ResourceOffers(driver sched.SchedulerDriver, offers []*mesos.
|
||||||
offersLightPowerClasses := []*mesos.Offer{}
|
offersLightPowerClasses := []*mesos.Offer{}
|
||||||
|
|
||||||
for _, offer := range offers {
|
for _, offer := range offers {
|
||||||
|
offerUtils.AddHostIfNew(offer)
|
||||||
select {
|
select {
|
||||||
case <-s.Shutdown:
|
case <-s.Shutdown:
|
||||||
log.Println("Done scheduling tasks: declining offer on [", offer.GetHostname(), "]")
|
log.Println("Done scheduling tasks: declining offer on [", offer.GetHostname(), "]")
|
||||||
|
@ -291,12 +292,17 @@ func (s *TopHeavy) ResourceOffers(driver sched.SchedulerDriver, offers []*mesos.
|
||||||
default:
|
default:
|
||||||
}
|
}
|
||||||
|
|
||||||
if constants.PowerClasses["A"][*offer.Hostname] ||
|
if _, ok := constants.PowerClasses["A"][*offer.Hostname]; ok{
|
||||||
constants.PowerClasses["B"][*offer.Hostname] {
|
|
||||||
offersHeavyPowerClasses = append(offersHeavyPowerClasses, offer)
|
offersHeavyPowerClasses = append(offersHeavyPowerClasses, offer)
|
||||||
} else if constants.PowerClasses["C"][*offer.Hostname] ||
|
}
|
||||||
constants.PowerClasses["D"][*offer.Hostname] {
|
if _, ok := constants.PowerClasses["B"][*offer.Hostname]; ok{
|
||||||
offersLightPowerClasses = append(offersLightPowerClasses, offer)
|
offersHeavyPowerClasses = append(offersHeavyPowerClasses, offer)
|
||||||
|
}
|
||||||
|
if _, ok := constants.PowerClasses["C"][*offer.Hostname]; ok{
|
||||||
|
offersHeavyPowerClasses = append(offersLightPowerClasses, offer)
|
||||||
|
}
|
||||||
|
if _, ok := constants.PowerClasses["D"][*offer.Hostname]; ok{
|
||||||
|
offersHeavyPowerClasses = append(offersLightPowerClasses, offer)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Reference in a new issue