mirror of
https://github.com/yunionio/cloudpods.git
synced 2026-09-21 14:19:49 +08:00
fix(baremetal): clean UEFI info for baremetal host (#14957)
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user