Skip to content

Commit

Permalink
Merge pull request #5773 from hashicorp/fix5705
Browse files Browse the repository at this point in the history
Use SDK's InstanceReady waiter
  • Loading branch information
mwhooker committed Jan 11, 2018
2 parents fb730cf + f5ea1e8 commit 2ce3ca1
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 8 deletions.
9 changes: 4 additions & 5 deletions builder/amazon/common/step_run_source_instance.go
Original file line number Diff line number Diff line change
Expand Up @@ -175,19 +175,18 @@ func (s *StepRunSourceInstance) Run(state multistep.StateBag) multistep.StepActi
ui.Message(fmt.Sprintf("Instance ID: %s", instanceId))
ui.Say(fmt.Sprintf("Waiting for instance (%v) to become ready...", instanceId))

describeInstanceStatus := &ec2.DescribeInstanceStatusInput{
describeInstance := &ec2.DescribeInstancesInput{
InstanceIds: []*string{aws.String(instanceId)},
}
if err := ec2conn.WaitUntilInstanceStatusOk(describeInstanceStatus); err != nil {
if err := ec2conn.WaitUntilInstanceRunning(describeInstance); err != nil {
err := fmt.Errorf("Error waiting for instance (%s) to become ready: %s", instanceId, err)
state.Put("error", err)
ui.Error(err.Error())
return multistep.ActionHalt
}

r, err := ec2conn.DescribeInstances(&ec2.DescribeInstancesInput{
InstanceIds: []*string{aws.String(instanceId)},
})
r, err := ec2conn.DescribeInstances(describeInstance)

if err != nil || len(r.Reservations) == 0 || len(r.Reservations[0].Instances) == 0 {
err := fmt.Errorf("Error finding source instance.")
state.Put("error", err)
Expand Down
4 changes: 2 additions & 2 deletions builder/amazon/common/step_run_spot_instance.go
Original file line number Diff line number Diff line change
Expand Up @@ -231,10 +231,10 @@ func (s *StepRunSpotInstance) Run(state multistep.StateBag) multistep.StepAction

ui.Message(fmt.Sprintf("Instance ID: %s", instanceId))
ui.Say(fmt.Sprintf("Waiting for instance (%v) to become ready...", instanceId))
describeInstanceStatus := &ec2.DescribeInstanceStatusInput{
describeInstance := &ec2.DescribeInstancesInput{
InstanceIds: []*string{aws.String(instanceId)},
}
if err := ec2conn.WaitUntilInstanceStatusOk(describeInstanceStatus); err != nil {
if err := ec2conn.WaitUntilInstanceRunning(describeInstance); err != nil {
err := fmt.Errorf("Error waiting for instance (%s) to become ready: %s", instanceId, err)
state.Put("error", err)
ui.Error(err.Error())
Expand Down
1 change: 0 additions & 1 deletion website/source/docs/builders/amazon.html.md
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,6 @@ Packer to work:
"ec2:DeregisterImage",
"ec2:DescribeImageAttribute",
"ec2:DescribeImages",
"ec2:DescribeInstanceStatus",
"ec2:DescribeInstances",
"ec2:DescribeRegions",
"ec2:DescribeSecurityGroups",
Expand Down

0 comments on commit 2ce3ca1

Please sign in to comment.