From f3cd59d5ca9f5d29f570c488d6f4182844b67846 Mon Sep 17 00:00:00 2001 From: Zexi Li Date: Fri, 13 Sep 2024 14:36:54 +0800 Subject: [PATCH] =?UTF-8?q?Automated=20cherry=20pick=20of=20#21079:=201?= =?UTF-8?q?=E3=80=81=E8=A3=B8=E9=87=91=E5=B1=9E=E5=88=A0=E9=99=A4=E6=97=B6?= =?UTF-8?q?=EF=BC=8CGuestUndeployTask=E4=BC=9A=E5=87=BA=E7=8E=B0=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E8=B0=83=E7=94=A8=E4=BB=BB=E5=8A=A1=E5=AE=8C=E6=88=90?= =?UTF-8?q?=E6=96=B9=E6=B3=95OnGuestUndeployComplete=EF=BC=8C=E5=AF=BC?= =?UTF-8?q?=E8=87=B4=E4=BB=BB=E5=8A=A1=E5=8D=A1=E4=BD=8F=E7=9A=84=E6=83=85?= =?UTF-8?q?=E5=86=B5=20(#21231)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 1、裸金属删除时,GuestUndeployTask会出现无法调用任务完成方法OnGuestUndeployComplete,导致任务卡住的情况 2、裸金属删除时,回调用baremetal-agent的sync-config接口不止一次,调用时出现请求参数没有传递server_id情况,导致在OnPXEBoot调用getServer时删除了baremetal的server信息,致使后面的DoEraseDisk方法报错 * 1、裸金属删除时,GuestUndeployTask onInit去掉host不为空时的SetStageComplete函数 --------- Co-authored-by: gj --- pkg/baremetal/manager.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkg/baremetal/manager.go b/pkg/baremetal/manager.go index 4f9eca4c45..3f2ccfa1f9 100644 --- a/pkg/baremetal/manager.go +++ b/pkg/baremetal/manager.go @@ -630,8 +630,10 @@ func (b *SBaremetalInstance) SaveDesc(ctx context.Context, desc jsonutils.JSONOb b.descLock.Lock() defer b.descLock.Unlock() if desc != nil { + if desc != nil && b.desc != nil && b.desc.Contains("server_id") && !desc.Contains("server_id") { + desc.(*jsonutils.JSONDict).Set("server_id", jsonutils.NewString(b.server.GetId())) + } b.desc = desc.(*jsonutils.JSONDict) - if b.desc.Contains("sys_info") { sysInfo := types.SSystemInfo{} err := b.desc.Unmarshal(&sysInfo, "sys_info")