From a1a914d8b2e415f891d9efcea5733c95ecf43f14 Mon Sep 17 00:00:00 2001 From: Zexi Date: Wed, 28 Aug 2019 21:10:43 +0800 Subject: [PATCH 1/2] baremetal: auto prepare when pxe boot --- pkg/baremetal/handler/handlers.go | 9 +++++++-- pkg/compute/tasks/baremetal_unconvert_hypervisor_task.go | 1 + 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/pkg/baremetal/handler/handlers.go b/pkg/baremetal/handler/handlers.go index 325f4b5b88..abf552bceb 100644 --- a/pkg/baremetal/handler/handlers.go +++ b/pkg/baremetal/handler/handlers.go @@ -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() } diff --git a/pkg/compute/tasks/baremetal_unconvert_hypervisor_task.go b/pkg/compute/tasks/baremetal_unconvert_hypervisor_task.go index 7c2c40d473..508d73cf0e 100644 --- a/pkg/compute/tasks/baremetal_unconvert_hypervisor_task.go +++ b/pkg/compute/tasks/baremetal_unconvert_hypervisor_task.go @@ -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") } From 9932ee64cc3596d37b724e5efdd914928eb8dfe0 Mon Sep 17 00:00:00 2001 From: wanyaoqi Date: Mon, 2 Sep 2019 13:47:29 +0800 Subject: [PATCH 2/2] fix glance update mindisk --- pkg/image/models/images.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/image/models/images.go b/pkg/image/models/images.go index e03ae3839a..49df498bd6 100644 --- a/pkg/image/models/images.go +++ b/pkg/image/models/images.go @@ -1107,7 +1107,7 @@ func (self *SImage) DoCheckStatus(ctx context.Context, userCred mcclient.TokenCr if len(format) > 0 { self.DiskFormat = format } - if virtualSizeMB > 0 { + if virtualSizeMB > 0 && self.MinDiskMB < virtualSizeMB { self.MinDiskMB = virtualSizeMB } return nil