Merge pull request #2676 from zexi/feature/baremetal-pxe-tasks

baremetal: auto prepare when pxe boot
This commit is contained in:
yunion-ci-robot
2019-09-02 15:29:14 +08:00
committed by GitHub
2 changed files with 8 additions and 2 deletions
+7 -2
View File
@@ -24,6 +24,8 @@ import (
"yunion.io/x/onecloud/pkg/appsrv"
"yunion.io/x/onecloud/pkg/baremetal"
baremetalstatus "yunion.io/x/onecloud/pkg/baremetal/status"
"yunion.io/x/onecloud/pkg/baremetal/tasks"
baremetaltypes "yunion.io/x/onecloud/pkg/baremetal/types"
"yunion.io/x/onecloud/pkg/httperrors"
"yunion.io/x/onecloud/pkg/mcclient/auth"
@@ -97,9 +99,12 @@ func handleBaremetalNotify(ctx *Context, bm *baremetal.SBaremetalInstance) {
// execute BaremetalServerPrepareTask
task := bm.GetTask()
if task != nil {
task.SSHExecute(task, remoteAddr, key, nil)
if task == nil {
task = tasks.NewBaremetalServerPrepareTask(bm)
bm.SyncStatus(baremetalstatus.PREPARE, "")
}
log.Infof("Get notify from pxe rom os, start exec task: %s", task.GetName())
task.SSHExecute(task, remoteAddr, key, nil)
ctx.ResponseOk()
}
@@ -74,6 +74,7 @@ func (self *BaremetalUnconvertHypervisorTask) OnGuestDeleteCompleteFailed(ctx co
func (self *BaremetalUnconvertHypervisorTask) OnPrepareComplete(ctx context.Context, baremetal *models.SHost, body jsonutils.JSONObject) {
self.SetStageComplete(ctx, nil)
}
func (self *BaremetalUnconvertHypervisorTask) OnFailSyncstatusComplete(ctx context.Context, baremetal *models.SHost, body jsonutils.JSONObject) {
self.SetStageFailed(ctx, "Delete server failed")
}