mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-21 06:09:39 +08:00
fix: exclude hosts whose cloud provider's status not in
CLOUD_PROVIDER_VALID_STATUS
This commit is contained in:
@@ -15,6 +15,8 @@
|
||||
package guest
|
||||
|
||||
import (
|
||||
"yunion.io/x/pkg/utils"
|
||||
|
||||
api "yunion.io/x/onecloud/pkg/apis/compute"
|
||||
"yunion.io/x/onecloud/pkg/scheduler/algorithm/predicates"
|
||||
"yunion.io/x/onecloud/pkg/scheduler/core"
|
||||
@@ -68,8 +70,8 @@ func (p *StatusPredicate) Execute(u *core.Unit, c core.Candidater) (bool, []core
|
||||
}
|
||||
|
||||
if hc.Cloudprovider != nil {
|
||||
if hc.Cloudprovider.Status != api.CLOUD_PROVIDER_CONNECTED {
|
||||
h.Exclude2("cloud_provider_status", hc.Cloudprovider.Status, api.CLOUD_PROVIDER_CONNECTED)
|
||||
if !utils.IsInStringArray(hc.Cloudprovider.Status, api.CLOUD_PROVIDER_VALID_STATUS) {
|
||||
h.Exclude2("cloud_provider_status", hc.Cloudprovider.Status, api.CLOUD_PROVIDER_VALID_STATUS)
|
||||
}
|
||||
if hc.Cloudprovider.HealthStatus != api.CLOUD_PROVIDER_HEALTH_NORMAL {
|
||||
h.Exclude2("cloud_provider_health_status", hc.Cloudprovider.HealthStatus, api.CLOUD_PROVIDER_HEALTH_NORMAL)
|
||||
|
||||
Reference in New Issue
Block a user