Remove redundant step and its usage
StepTagEBSVolumes is no longer needed, since this functionality is now taken over by StepRunSourceInstance and StepRunSpotInstance. So remove this functionality from the codebase.
This commit is contained in:
parent
2661fd7869
commit
dbb3c76032
|
@ -302,8 +302,6 @@ func (s *StepRunSpotInstance) Run(state multistep.StateBag) multistep.StepAction
|
||||||
return multistep.ActionHalt
|
return multistep.ActionHalt
|
||||||
}
|
}
|
||||||
|
|
||||||
return multistep.ActionContinue
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if s.Debug {
|
if s.Debug {
|
||||||
|
|
|
@ -1,65 +0,0 @@
|
||||||
package common
|
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
|
|
||||||
"github.com/aws/aws-sdk-go/service/ec2"
|
|
||||||
"github.com/hashicorp/packer/packer"
|
|
||||||
"github.com/hashicorp/packer/template/interpolate"
|
|
||||||
"github.com/mitchellh/multistep"
|
|
||||||
)
|
|
||||||
|
|
||||||
type StepTagEBSVolumes struct {
|
|
||||||
VolumeRunTags map[string]string
|
|
||||||
Ctx interpolate.Context
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *StepTagEBSVolumes) Run(state multistep.StateBag) multistep.StepAction {
|
|
||||||
ec2conn := state.Get("ec2").(*ec2.EC2)
|
|
||||||
instance := state.Get("instance").(*ec2.Instance)
|
|
||||||
sourceAMI := state.Get("source_image").(*ec2.Image)
|
|
||||||
ui := state.Get("ui").(packer.Ui)
|
|
||||||
|
|
||||||
if len(s.VolumeRunTags) == 0 {
|
|
||||||
return multistep.ActionContinue
|
|
||||||
}
|
|
||||||
|
|
||||||
volumeIds := make([]*string, 0)
|
|
||||||
for _, v := range instance.BlockDeviceMappings {
|
|
||||||
if ebs := v.Ebs; ebs != nil {
|
|
||||||
volumeIds = append(volumeIds, ebs.VolumeId)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if len(volumeIds) == 0 {
|
|
||||||
return multistep.ActionContinue
|
|
||||||
}
|
|
||||||
|
|
||||||
ui.Say("Adding tags to source EBS Volumes")
|
|
||||||
tags, err := ConvertToEC2Tags(s.VolumeRunTags, *ec2conn.Config.Region, *sourceAMI.ImageId, s.Ctx)
|
|
||||||
if err != nil {
|
|
||||||
err := fmt.Errorf("Error tagging source EBS Volumes on %s: %s", *instance.InstanceId, err)
|
|
||||||
state.Put("error", err)
|
|
||||||
ui.Error(err.Error())
|
|
||||||
return multistep.ActionHalt
|
|
||||||
}
|
|
||||||
|
|
||||||
ReportTags(ui, tags)
|
|
||||||
|
|
||||||
_, err = ec2conn.CreateTags(&ec2.CreateTagsInput{
|
|
||||||
Resources: volumeIds,
|
|
||||||
Tags: tags,
|
|
||||||
})
|
|
||||||
if err != nil {
|
|
||||||
err := fmt.Errorf("Error tagging source EBS Volumes on %s: %s", *instance.InstanceId, err)
|
|
||||||
state.Put("error", err)
|
|
||||||
ui.Error(err.Error())
|
|
||||||
return multistep.ActionHalt
|
|
||||||
}
|
|
||||||
|
|
||||||
return multistep.ActionContinue
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *StepTagEBSVolumes) Cleanup(state multistep.StateBag) {
|
|
||||||
// No cleanup...
|
|
||||||
}
|
|
|
@ -111,11 +111,9 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe
|
||||||
var instanceStep multistep.Step
|
var instanceStep multistep.Step
|
||||||
|
|
||||||
if b.config.SpotPrice == "" || b.config.SpotPrice == "0" {
|
if b.config.SpotPrice == "" || b.config.SpotPrice == "0" {
|
||||||
instanceStep = &awscommon.StepRunSpotInstance{
|
instanceStep = &awscommon.StepRunSourceInstance{
|
||||||
Debug: b.config.PackerDebug,
|
Debug: b.config.PackerDebug,
|
||||||
ExpectedRootDevice: "ebs",
|
ExpectedRootDevice: "ebs",
|
||||||
SpotPrice: b.config.SpotPrice,
|
|
||||||
SpotPriceProduct: b.config.SpotPriceAutoProduct,
|
|
||||||
InstanceType: b.config.InstanceType,
|
InstanceType: b.config.InstanceType,
|
||||||
UserData: b.config.UserData,
|
UserData: b.config.UserData,
|
||||||
UserDataFile: b.config.UserDataFile,
|
UserDataFile: b.config.UserDataFile,
|
||||||
|
@ -132,9 +130,11 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe
|
||||||
InstanceInitiatedShutdownBehavior: b.config.InstanceInitiatedShutdownBehavior,
|
InstanceInitiatedShutdownBehavior: b.config.InstanceInitiatedShutdownBehavior,
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
instanceStep = &awscommon.StepRunSourceInstance{
|
instanceStep = &awscommon.StepRunSpotInstance{
|
||||||
Debug: b.config.PackerDebug,
|
Debug: b.config.PackerDebug,
|
||||||
ExpectedRootDevice: "ebs",
|
ExpectedRootDevice: "ebs",
|
||||||
|
SpotPrice: b.config.SpotPrice,
|
||||||
|
SpotPriceProduct: b.config.SpotPriceAutoProduct,
|
||||||
InstanceType: b.config.InstanceType,
|
InstanceType: b.config.InstanceType,
|
||||||
UserData: b.config.UserData,
|
UserData: b.config.UserData,
|
||||||
UserDataFile: b.config.UserDataFile,
|
UserDataFile: b.config.UserDataFile,
|
||||||
|
|
|
@ -125,11 +125,9 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe
|
||||||
var instanceStep multistep.Step
|
var instanceStep multistep.Step
|
||||||
|
|
||||||
if b.config.SpotPrice == "" || b.config.SpotPrice == "0" {
|
if b.config.SpotPrice == "" || b.config.SpotPrice == "0" {
|
||||||
instanceStep = &awscommon.StepRunSpotInstance{
|
instanceStep = &awscommon.StepRunSourceInstance{
|
||||||
Debug: b.config.PackerDebug,
|
Debug: b.config.PackerDebug,
|
||||||
ExpectedRootDevice: "ebs",
|
ExpectedRootDevice: "ebs",
|
||||||
SpotPrice: b.config.SpotPrice,
|
|
||||||
SpotPriceProduct: b.config.SpotPriceAutoProduct,
|
|
||||||
InstanceType: b.config.InstanceType,
|
InstanceType: b.config.InstanceType,
|
||||||
UserData: b.config.UserData,
|
UserData: b.config.UserData,
|
||||||
UserDataFile: b.config.UserDataFile,
|
UserDataFile: b.config.UserDataFile,
|
||||||
|
@ -146,9 +144,11 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe
|
||||||
InstanceInitiatedShutdownBehavior: b.config.InstanceInitiatedShutdownBehavior,
|
InstanceInitiatedShutdownBehavior: b.config.InstanceInitiatedShutdownBehavior,
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
instanceStep = &awscommon.StepRunSourceInstance{
|
instanceStep = &awscommon.StepRunSpotInstance{
|
||||||
Debug: b.config.PackerDebug,
|
Debug: b.config.PackerDebug,
|
||||||
ExpectedRootDevice: "ebs",
|
ExpectedRootDevice: "ebs",
|
||||||
|
SpotPrice: b.config.SpotPrice,
|
||||||
|
SpotPriceProduct: b.config.SpotPriceAutoProduct,
|
||||||
InstanceType: b.config.InstanceType,
|
InstanceType: b.config.InstanceType,
|
||||||
UserData: b.config.UserData,
|
UserData: b.config.UserData,
|
||||||
UserDataFile: b.config.UserDataFile,
|
UserDataFile: b.config.UserDataFile,
|
||||||
|
@ -192,10 +192,6 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe
|
||||||
VpcId: b.config.VpcId,
|
VpcId: b.config.VpcId,
|
||||||
},
|
},
|
||||||
instanceStep,
|
instanceStep,
|
||||||
&awscommon.StepTagEBSVolumes{
|
|
||||||
VolumeRunTags: b.config.VolumeRunTags,
|
|
||||||
Ctx: b.config.ctx,
|
|
||||||
},
|
|
||||||
&awscommon.StepGetPassword{
|
&awscommon.StepGetPassword{
|
||||||
Debug: b.config.PackerDebug,
|
Debug: b.config.PackerDebug,
|
||||||
Comm: &b.config.RunConfig.Comm,
|
Comm: &b.config.RunConfig.Comm,
|
||||||
|
|
|
@ -104,11 +104,9 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe
|
||||||
var instanceStep multistep.Step
|
var instanceStep multistep.Step
|
||||||
|
|
||||||
if b.config.SpotPrice == "" || b.config.SpotPrice == "0" {
|
if b.config.SpotPrice == "" || b.config.SpotPrice == "0" {
|
||||||
instanceStep = &awscommon.StepRunSpotInstance{
|
instanceStep = &awscommon.StepRunSourceInstance{
|
||||||
Debug: b.config.PackerDebug,
|
Debug: b.config.PackerDebug,
|
||||||
ExpectedRootDevice: "ebs",
|
ExpectedRootDevice: "ebs",
|
||||||
SpotPrice: b.config.SpotPrice,
|
|
||||||
SpotPriceProduct: b.config.SpotPriceAutoProduct,
|
|
||||||
InstanceType: b.config.InstanceType,
|
InstanceType: b.config.InstanceType,
|
||||||
UserData: b.config.UserData,
|
UserData: b.config.UserData,
|
||||||
UserDataFile: b.config.UserDataFile,
|
UserDataFile: b.config.UserDataFile,
|
||||||
|
@ -123,9 +121,11 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe
|
||||||
InstanceInitiatedShutdownBehavior: b.config.InstanceInitiatedShutdownBehavior,
|
InstanceInitiatedShutdownBehavior: b.config.InstanceInitiatedShutdownBehavior,
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
instanceStep = &awscommon.StepRunSourceInstance{
|
instanceStep = &awscommon.StepRunSpotInstance{
|
||||||
Debug: b.config.PackerDebug,
|
Debug: b.config.PackerDebug,
|
||||||
ExpectedRootDevice: "ebs",
|
ExpectedRootDevice: "ebs",
|
||||||
|
SpotPrice: b.config.SpotPrice,
|
||||||
|
SpotPriceProduct: b.config.SpotPriceAutoProduct,
|
||||||
InstanceType: b.config.InstanceType,
|
InstanceType: b.config.InstanceType,
|
||||||
UserData: b.config.UserData,
|
UserData: b.config.UserData,
|
||||||
UserDataFile: b.config.UserDataFile,
|
UserDataFile: b.config.UserDataFile,
|
||||||
|
@ -163,10 +163,6 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe
|
||||||
VpcId: b.config.VpcId,
|
VpcId: b.config.VpcId,
|
||||||
},
|
},
|
||||||
instanceStep,
|
instanceStep,
|
||||||
&stepTagEBSVolumes{
|
|
||||||
VolumeMapping: b.config.VolumeMappings,
|
|
||||||
Ctx: b.config.ctx,
|
|
||||||
},
|
|
||||||
&awscommon.StepGetPassword{
|
&awscommon.StepGetPassword{
|
||||||
Debug: b.config.PackerDebug,
|
Debug: b.config.PackerDebug,
|
||||||
Comm: &b.config.RunConfig.Comm,
|
Comm: &b.config.RunConfig.Comm,
|
||||||
|
|
|
@ -196,11 +196,9 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe
|
||||||
var instanceStep multistep.Step
|
var instanceStep multistep.Step
|
||||||
|
|
||||||
if b.config.SpotPrice == "" || b.config.SpotPrice == "0" {
|
if b.config.SpotPrice == "" || b.config.SpotPrice == "0" {
|
||||||
instanceStep = &awscommon.StepRunSpotInstance{
|
instanceStep = &awscommon.StepRunSourceInstance{
|
||||||
Debug: b.config.PackerDebug,
|
Debug: b.config.PackerDebug,
|
||||||
ExpectedRootDevice: "ebs",
|
ExpectedRootDevice: "ebs",
|
||||||
SpotPrice: b.config.SpotPrice,
|
|
||||||
SpotPriceProduct: b.config.SpotPriceAutoProduct,
|
|
||||||
InstanceType: b.config.InstanceType,
|
InstanceType: b.config.InstanceType,
|
||||||
UserData: b.config.UserData,
|
UserData: b.config.UserData,
|
||||||
UserDataFile: b.config.UserDataFile,
|
UserDataFile: b.config.UserDataFile,
|
||||||
|
@ -216,9 +214,11 @@ func (b *Builder) Run(ui packer.Ui, hook packer.Hook, cache packer.Cache) (packe
|
||||||
InstanceInitiatedShutdownBehavior: b.config.InstanceInitiatedShutdownBehavior,
|
InstanceInitiatedShutdownBehavior: b.config.InstanceInitiatedShutdownBehavior,
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
instanceStep = &awscommon.StepRunSourceInstance{
|
instanceStep = &awscommon.StepRunSpotInstance{
|
||||||
Debug: b.config.PackerDebug,
|
Debug: b.config.PackerDebug,
|
||||||
ExpectedRootDevice: "ebs",
|
ExpectedRootDevice: "ebs",
|
||||||
|
SpotPrice: b.config.SpotPrice,
|
||||||
|
SpotPriceProduct: b.config.SpotPriceAutoProduct,
|
||||||
InstanceType: b.config.InstanceType,
|
InstanceType: b.config.InstanceType,
|
||||||
UserData: b.config.UserData,
|
UserData: b.config.UserData,
|
||||||
UserDataFile: b.config.UserDataFile,
|
UserDataFile: b.config.UserDataFile,
|
||||||
|
|
Loading…
Reference in New Issue