diff --git a/builder/amazonebs/builder.go b/builder/amazonebs/builder.go index b5ddb8ced..6b1ac9edb 100644 --- a/builder/amazonebs/builder.go +++ b/builder/amazonebs/builder.go @@ -35,6 +35,7 @@ type config struct { type Builder struct { config config + runner multistep.Runner } func (b *Builder) Prepare(raw interface{}) (err error) { @@ -98,12 +99,16 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook) packer.Artifact { } // Run! - runner := &multistep.BasicRunner{Steps: steps} - runner.Run(state) + b.runner = &multistep.BasicRunner{Steps: steps} + b.runner.Run(state) // Build the artifact and return it return &artifact{state["amis"].(map[string]string)} } func (b *Builder) Cancel() { + if b.runner != nil { + log.Println("Cancelling the step runner...") + b.runner.Cancel() + } }