Retrofitted all schedulers to now pick the hostname from the offer and add it to constants.Hosts
This commit is contained in:
parent
f85ed944f4
commit
aed4fd1073
14 changed files with 70 additions and 6 deletions
|
@ -1,6 +1,7 @@
|
||||||
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,6 +128,10 @@ 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 {
|
||||||
|
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,6 +210,10 @@ 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 {
|
||||||
|
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,6 +1,7 @@
|
||||||
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,6 +121,10 @@ 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 {
|
||||||
|
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,6 +282,10 @@ 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 {
|
||||||
|
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,6 +1,7 @@
|
||||||
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"
|
||||||
|
@ -164,6 +165,10 @@ 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 {
|
||||||
|
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,6 +261,10 @@ 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 {
|
||||||
|
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(), "]")
|
||||||
|
|
|
@ -164,7 +164,7 @@ func (s *BPSWMaxMinProacCC) startCapping() {
|
||||||
// updating cap value
|
// updating cap value
|
||||||
bpMaxMinProacCCCapValue = bpMaxMinProacCCNewCapValue
|
bpMaxMinProacCCCapValue = bpMaxMinProacCCNewCapValue
|
||||||
if bpMaxMinProacCCCapValue > 0.0 {
|
if bpMaxMinProacCCCapValue > 0.0 {
|
||||||
for _, host := range constants.Hosts {
|
for host, _ := range constants.Hosts {
|
||||||
// Rounding cap value to nearest int
|
// Rounding cap value to nearest int
|
||||||
if err := rapl.Cap(host, "rapl", float64(int(math.Floor(bpMaxMinProacCCCapValue+0.5)))); err != nil {
|
if err := rapl.Cap(host, "rapl", float64(int(math.Floor(bpMaxMinProacCCCapValue+0.5)))); err != nil {
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
|
@ -190,7 +190,7 @@ func (s *BPSWMaxMinProacCC) startRecapping() {
|
||||||
bpMaxMinProacCCMutex.Lock()
|
bpMaxMinProacCCMutex.Lock()
|
||||||
// If stopped performing cluster-wide capping, then we need to recap.
|
// If stopped performing cluster-wide capping, then we need to recap.
|
||||||
if s.isRecapping && bpMaxMinProacCCRecapValue > 0.0 {
|
if s.isRecapping && bpMaxMinProacCCRecapValue > 0.0 {
|
||||||
for _, host := range constants.Hosts {
|
for host, _ := range constants.Hosts {
|
||||||
// Rounding the recap value to the nearest int
|
// Rounding the recap value to the nearest int
|
||||||
if err := rapl.Cap(host, "rapl", float64(int(math.Floor(bpMaxMinProacCCRecapValue+0.5)))); err != nil {
|
if err := rapl.Cap(host, "rapl", float64(int(math.Floor(bpMaxMinProacCCRecapValue+0.5)))); err != nil {
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
|
@ -300,6 +300,10 @@ 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 {
|
||||||
|
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,6 +1,7 @@
|
||||||
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"
|
||||||
|
@ -119,6 +120,10 @@ 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 {
|
||||||
|
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(), "]")
|
||||||
|
|
|
@ -164,7 +164,7 @@ func (s *FirstFitProacCC) startCapping() {
|
||||||
// Need to cap the cluster to the fcfsCurrentCapValue.
|
// Need to cap the cluster to the fcfsCurrentCapValue.
|
||||||
fcfsMutex.Lock()
|
fcfsMutex.Lock()
|
||||||
if fcfsCurrentCapValue > 0.0 {
|
if fcfsCurrentCapValue > 0.0 {
|
||||||
for _, host := range constants.Hosts {
|
for host, _ := range constants.Hosts {
|
||||||
// Rounding curreCapValue to the nearest int.
|
// Rounding curreCapValue to the nearest int.
|
||||||
if err := rapl.Cap(host, "rapl", float64(int(math.Floor(fcfsCurrentCapValue+0.5)))); err != nil {
|
if err := rapl.Cap(host, "rapl", float64(int(math.Floor(fcfsCurrentCapValue+0.5)))); err != nil {
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
|
@ -188,7 +188,7 @@ func (s *FirstFitProacCC) startRecapping() {
|
||||||
fcfsMutex.Lock()
|
fcfsMutex.Lock()
|
||||||
// If stopped performing cluster wide capping then we need to explicitly cap the entire cluster.
|
// If stopped performing cluster wide capping then we need to explicitly cap the entire cluster.
|
||||||
if s.isRecapping && fcfsRecapValue > 0.0 {
|
if s.isRecapping && fcfsRecapValue > 0.0 {
|
||||||
for _, host := range constants.Hosts {
|
for host, _ := range constants.Hosts {
|
||||||
// Rounding curreCapValue to the nearest int.
|
// Rounding curreCapValue to the nearest int.
|
||||||
if err := rapl.Cap(host, "rapl", float64(int(math.Floor(fcfsRecapValue+0.5)))); err != nil {
|
if err := rapl.Cap(host, "rapl", float64(int(math.Floor(fcfsRecapValue+0.5)))); err != nil {
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
|
@ -233,6 +233,10 @@ 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 {
|
||||||
|
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,6 +1,7 @@
|
||||||
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"
|
||||||
|
@ -126,6 +127,10 @@ 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 {
|
||||||
|
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)
|
||||||
}
|
}
|
||||||
|
|
|
@ -177,7 +177,7 @@ func (s *FirstFitSortedWattsProacCC) startCapping() {
|
||||||
// Need to cap the cluster to the rankedCurrentCapValue.
|
// Need to cap the cluster to the rankedCurrentCapValue.
|
||||||
rankedMutex.Lock()
|
rankedMutex.Lock()
|
||||||
if rankedCurrentCapValue > 0.0 {
|
if rankedCurrentCapValue > 0.0 {
|
||||||
for _, host := range constants.Hosts {
|
for host, _ := range constants.Hosts {
|
||||||
// Rounding currentCapValue to the nearest int.
|
// Rounding currentCapValue to the nearest int.
|
||||||
if err := rapl.Cap(host, "rapl", float64(int(math.Floor(rankedCurrentCapValue+0.5)))); err != nil {
|
if err := rapl.Cap(host, "rapl", float64(int(math.Floor(rankedCurrentCapValue+0.5)))); err != nil {
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
|
@ -201,7 +201,7 @@ func (s *FirstFitSortedWattsProacCC) startRecapping() {
|
||||||
rankedMutex.Lock()
|
rankedMutex.Lock()
|
||||||
// If stopped performing cluster wide capping then we need to explicitly cap the entire cluster.
|
// If stopped performing cluster wide capping then we need to explicitly cap the entire cluster.
|
||||||
if s.isRecapping && rankedRecapValue > 0.0 {
|
if s.isRecapping && rankedRecapValue > 0.0 {
|
||||||
for _, host := range constants.Hosts {
|
for host, _ := range constants.Hosts {
|
||||||
// Rounding currentCapValue to the nearest int.
|
// Rounding currentCapValue to the nearest int.
|
||||||
if err := rapl.Cap(host, "rapl", float64(int(math.Floor(rankedRecapValue+0.5)))); err != nil {
|
if err := rapl.Cap(host, "rapl", float64(int(math.Floor(rankedRecapValue+0.5)))); err != nil {
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
|
@ -246,6 +246,10 @@ 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 {
|
||||||
|
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,6 +1,7 @@
|
||||||
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,6 +129,10 @@ 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 {
|
||||||
|
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,6 +1,7 @@
|
||||||
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"
|
||||||
|
@ -122,6 +123,10 @@ 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 {
|
||||||
|
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,6 +1,7 @@
|
||||||
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"
|
||||||
|
@ -112,6 +113,10 @@ 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 {
|
||||||
|
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(), "]")
|
||||||
|
|
Reference in a new issue