baremetal: ensure power up add retries

This commit is contained in:
Zexi Li
2020-04-22 22:16:44 +08:00
parent 849756946b
commit d8f1cd5bf6
2 changed files with 9 additions and 2 deletions
+8 -1
View File
@@ -306,7 +306,13 @@ func (self *SBaremetalTaskBase) EnsurePowerUp() error {
if err != nil {
return errors.Wrapf(err, "Get power status")
}
maxTries := 10
count := 0
for status == "" || status == types.POWER_STATUS_OFF {
if count > maxTries {
break
}
log.Infof("Try power on %d times, pxe boot %v", count+1, self.PxeBoot)
if status == types.POWER_STATUS_OFF {
if self.PxeBoot {
err = self.Baremetal.DoPXEBoot()
@@ -314,7 +320,7 @@ func (self *SBaremetalTaskBase) EnsurePowerUp() error {
err = self.Baremetal.DoRedfishPowerOn()
}
if err != nil {
return errors.Wrapf(err, "Do boot power on")
log.Warningf("Do boot power on error: %v", err)
}
}
status, err = self.Baremetal.GetPowerStatus()
@@ -328,6 +334,7 @@ func (self *SBaremetalTaskBase) EnsurePowerUp() error {
return err
}
}
count++
}
if status != types.POWER_STATUS_ON {
return fmt.Errorf("Baremetal invalid restart status: %s", status)
+1 -1
View File
@@ -549,7 +549,7 @@ func GetDiskSpecV2(storages []*BaremetalStorage) api.DiskDriverSpec {
if len(driverStorages) == 0 {
continue
}
spec[driver] = getSpec(storages)
spec[driver] = getSpec(driverStorages)
}
return spec
}