fix(baremetal): clean UEFI info for baremetal host (#14957)

This commit is contained in:
Zexi Li
2022-09-12 18:20:03 +08:00
committed by GitHub
parent 1fa3ba7e4f
commit 58568f4ddc
+20 -7
View File
@@ -1608,7 +1608,7 @@ func (b *SBaremetalInstance) adjustUEFIWrapper(cli *ssh.Client, f func() error)
return errors.Wrap(err, "Check is uefi boot")
}
if !isUEFI {
return nil
return b.CleanUEFIInfo()
}
return f()
}
@@ -1626,13 +1626,8 @@ func (b *SBaremetalInstance) AdjustUEFICurrentBootOrder(hostCli *ssh.Client) err
})
}
func (b *SBaremetalInstance) SendUEFIInfo(mgr *uefi.BootMgr) error {
info, err := mgr.ToEFIBootMgrInfo()
if err != nil {
return err
}
func (b *SBaremetalInstance) updateUEFIInfo(uefiData jsonutils.JSONObject) error {
desc := b.desc
uefiData := jsonutils.Marshal(info)
desc.Add(uefiData, "uefi_info")
if err := b.SaveDesc(desc); err != nil {
return errors.Wrap(err, "Save uefi_info")
@@ -1645,6 +1640,24 @@ func (b *SBaremetalInstance) SendUEFIInfo(mgr *uefi.BootMgr) error {
return nil
}
func (b *SBaremetalInstance) CleanUEFIInfo() error {
if err := b.updateUEFIInfo(jsonutils.NewDict()); err != nil {
return errors.Wrap(err, "CleanUEFIInfo")
}
return nil
}
func (b *SBaremetalInstance) SendUEFIInfo(mgr *uefi.BootMgr) error {
info, err := mgr.ToEFIBootMgrInfo()
if err != nil {
return err
}
if err := b.updateUEFIInfo(jsonutils.Marshal(info)); err != nil {
return errors.Wrap(err, "SendUEFIInfo")
}
return nil
}
func (b *SBaremetalInstance) adjustServerUEFIBootOrder(srvCli *ssh.Client) error {
return b.adjustUEFIWrapper(srvCli, func() error {
info, err := b.GetUEFIInfo()