From e3043015b75a96058bf0419982f5a6a2ee3a26f3 Mon Sep 17 00:00:00 2001 From: ioito Date: Thu, 16 May 2019 20:00:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E8=99=9A=E6=8B=9F=E6=9C=BA?= =?UTF-8?q?=E5=90=8C=E6=97=B6=E5=88=A0=E9=99=A4lb=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/compute/models/guest_actions.go | 9 +++++++++ 1 file changed, 9 insertions(+) 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) }