删除虚拟机同时删除lb相关记录

This commit is contained in:
ioito
2019-05-18 20:10:25 +08:00
parent e12bc97e4a
commit e3043015b7
+9
View File
@@ -2060,6 +2060,15 @@ func (self *SGuest) DoPendingDelete(ctx context.Context, userCred mcclient.Token
self.DetachDisk(ctx, disk, userCred)
}
}
backends := []SLoadbalancerBackend{}
q := LoadbalancerBackendManager.Query().Equals("backend_id", self.Id).IsFalse("pending_deleted")
err := db.FetchModelObjects(LoadbalancerBackendManager, q, &backends)
if err != nil {
log.Errorf("failed to get backends for guest %s(%s)", self.Name, self.Id)
}
for i := 0; i < len(backends); i++ {
backends[i].DoPendingDelete(ctx, userCred)
}
self.SVirtualResourceBase.DoPendingDelete(ctx, userCred)
}