From eb56b1b70e38b3c0dd3f0850321a3ab0822cd37c Mon Sep 17 00:00:00 2001 From: Edouard BONLIEU Date: Fri, 21 Jul 2017 12:26:20 +0200 Subject: [PATCH] Fix terminate error --- builder/scaleway/builder.go | 7 ++++-- builder/scaleway/step_create_server.go | 5 +++- builder/scaleway/step_terminate.go | 34 -------------------------- 3 files changed, 9 insertions(+), 37 deletions(-) delete mode 100644 builder/scaleway/step_terminate.go diff --git a/builder/scaleway/builder.go b/builder/scaleway/builder.go index 14fee93a0..f2266576e 100644 --- a/builder/scaleway/builder.go +++ b/builder/scaleway/builder.go @@ -33,7 +33,11 @@ func (b *Builder) Prepare(raws ...interface{}) ([]string, error) { } func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packer.Artifact, error) { - client, _ := api.NewScalewayAPI(b.config.Organization, b.config.Token, b.config.UserAgent, b.config.Region) + client, err := api.NewScalewayAPI(b.config.Organization, b.config.Token, b.config.UserAgent, b.config.Region) + + if err != nil { + return nil, err + } state := new(multistep.BasicStateBag) state.Put("config", b.config) @@ -58,7 +62,6 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe new(stepShutdown), new(stepSnapshot), new(stepImage), - new(stepTerminate), } b.runner = common.NewRunner(steps, b.config.PackerConfig, ui) diff --git a/builder/scaleway/step_create_server.go b/builder/scaleway/step_create_server.go index 11fe284ab..ddd06fdf5 100644 --- a/builder/scaleway/step_create_server.go +++ b/builder/scaleway/step_create_server.go @@ -66,9 +66,12 @@ func (s *stepCreateServer) Cleanup(state multistep.StateBag) { ui := state.Get("ui").(packer.Ui) ui.Say("Destroying server...") - err := client.PostServerAction(s.serverID, "terminate") + + err := client.DeleteServerForce(s.serverID) + if err != nil { ui.Error(fmt.Sprintf( "Error destroying server. Please destroy it manually: %s", err)) } + } diff --git a/builder/scaleway/step_terminate.go b/builder/scaleway/step_terminate.go deleted file mode 100644 index 154750931..000000000 --- a/builder/scaleway/step_terminate.go +++ /dev/null @@ -1,34 +0,0 @@ -package scaleway - -import ( - "fmt" - - "github.com/hashicorp/packer/packer" - "github.com/mitchellh/multistep" - "github.com/scaleway/scaleway-cli/pkg/api" -) - -type stepTerminate struct{} - -func (s *stepTerminate) Run(state multistep.StateBag) multistep.StepAction { - client := state.Get("client").(*api.ScalewayAPI) - ui := state.Get("ui").(packer.Ui) - serverID := state.Get("server_id").(string) - - ui.Say("Terminating server...") - - err := client.DeleteServerForce(serverID) - - if err != nil { - err := fmt.Errorf("Error terminating server: %s", err) - state.Put("error", err) - ui.Error(err.Error()) - return multistep.ActionHalt - } - - return multistep.ActionContinue -} - -func (s *stepTerminate) Cleanup(state multistep.StateBag) { - // no cleanup -}