From e2f1e5548d9e071d3a666c739962c00803f06968 Mon Sep 17 00:00:00 2001 From: TangBin Date: Thu, 17 Dec 2020 19:20:12 +0800 Subject: [PATCH] fix(region): create vm with eip task fix --- pkg/compute/tasks/guest_create_task.go | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/pkg/compute/tasks/guest_create_task.go b/pkg/compute/tasks/guest_create_task.go index 433709d424..9321674c8a 100644 --- a/pkg/compute/tasks/guest_create_task.go +++ b/pkg/compute/tasks/guest_create_task.go @@ -119,10 +119,12 @@ func (self *GuestCreateTask) OnDeployGuestDescComplete(ctx context.Context, obj { eipId, _ := self.Params.GetString("eip") if len(eipId) > 0 { + var err error self.SetStage("OnDeployEipComplete", nil) eipObj, err := models.ElasticipManager.FetchById(eipId) if err != nil { - log.Errorf("fail to get eip %s %s", eipId, err) + msg := fmt.Sprintf("fail to get eip %s %s", eipId, err) + self.OnDeployEipCompleteFailed(ctx, obj, jsonutils.NewString(msg)) return } @@ -131,10 +133,15 @@ func (self *GuestCreateTask) OnDeployGuestDescComplete(ctx context.Context, obj eipBw, _ := self.Params.Int("eip_bw") if eipBw > 0 { // newly allocated eip, need allocation and associate - eip.AllocateAndAssociateVM(ctx, self.UserCred, guest, self.GetId()) + err = eip.AllocateAndAssociateVM(ctx, self.UserCred, guest, self.GetId()) } else { // existing eip, association only - eip.StartEipAssociateInstanceTask(ctx, self.UserCred, guest, self.GetId()) + err = eip.StartEipAssociateInstanceTask(ctx, self.UserCred, guest, self.GetId()) + } + if err != nil { + msg := fmt.Sprintf("fail to asscociate eip %s %s", eipId, err) + self.OnDeployEipCompleteFailed(ctx, obj, jsonutils.NewString(msg)) + return } return