diff --git a/pkg/compute/models/guest_actions.go b/pkg/compute/models/guest_actions.go index d9f8de34c5..7912628904 100644 --- a/pkg/compute/models/guest_actions.go +++ b/pkg/compute/models/guest_actions.go @@ -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) }