mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-24 16:03:43 +08:00
Automatic merge from release/2.1.0 -> release/2.2.0
* commit '7bab92d0114a5152e5f5488bb2a84c1a0d404f2a': 同步完成后清理调度缓存
This commit is contained in:
@@ -8,14 +8,14 @@ import (
|
||||
|
||||
"yunion.io/x/jsonutils"
|
||||
"yunion.io/x/log"
|
||||
"yunion.io/x/onecloud/pkg/httperrors"
|
||||
"yunion.io/x/onecloud/pkg/mcclient"
|
||||
"yunion.io/x/pkg/util/timeutils"
|
||||
"yunion.io/x/pkg/utils"
|
||||
|
||||
"yunion.io/x/onecloud/pkg/cloudcommon/db"
|
||||
"yunion.io/x/onecloud/pkg/cloudcommon/db/taskman"
|
||||
"yunion.io/x/onecloud/pkg/cloudprovider"
|
||||
"yunion.io/x/onecloud/pkg/httperrors"
|
||||
"yunion.io/x/onecloud/pkg/mcclient"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -71,6 +71,18 @@ func (self *SCloudprovider) ValidateDeleteCondition(ctx context.Context) error {
|
||||
return self.SEnabledStatusStandaloneResourceBase.ValidateDeleteCondition(ctx)
|
||||
}
|
||||
|
||||
func (self *SCloudprovider) CleanSchedCache() {
|
||||
hosts := []SHost{}
|
||||
q := HostManager.Query().Equals("manager_id", self.Id)
|
||||
if err := db.FetchModelObjects(HostManager, q, &hosts); err != nil {
|
||||
log.Errorf("failed to get hosts for cloudprovider %s error: %v", self.Name, err)
|
||||
return
|
||||
}
|
||||
for _, host := range hosts {
|
||||
host.ClearSchedDescCache()
|
||||
}
|
||||
}
|
||||
|
||||
func (self *SCloudprovider) GetGuestCount() int {
|
||||
sq := HostManager.Query("id").Equals("manager_id", self.Id)
|
||||
return GuestManager.Query().In("host_id", sq).Count()
|
||||
|
||||
@@ -80,6 +80,7 @@ func (self *CloudProviderSyncInfoTask) OnInit(ctx context.Context, obj db.IStand
|
||||
}
|
||||
|
||||
provider.SetStatus(self.UserCred, models.CLOUD_PROVIDER_CONNECTED, "")
|
||||
provider.CleanSchedCache()
|
||||
self.SetStageComplete(ctx, nil)
|
||||
logclient.AddActionLog(provider, getAction(self.Params), body, self.UserCred, true)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user