Retry the AWS API when looking for a newly created instance

Sometimes the AWS API responds that it can't find a newly created
instance if you poll it too soon after creation.  Retry a few times
to be sure it really hasn't been created.
pull/2129/head
lokulin 11 years ago
parent 350a5f8cad
commit bda4ef7c65

@ -195,7 +195,16 @@ func (s *StepRunSourceInstance) Run(state multistep.StateBag) multistep.StepActi
instanceId = spotResp.SpotRequestResults[0].InstanceId
}
instanceResp, err := ec2conn.Instances([]string{instanceId}, nil)
var instanceResp, instanceErr = ec2conn.Instances([]string{instanceId}, nil)
for i := 0; i < 10; i++ {
if instanceErr == nil {
err = instanceErr
break
}
time.Sleep(time.Duration(3))
instanceResp, err = ec2conn.Instances([]string{instanceId}, nil)
}
if err != nil {
err := fmt.Errorf("Error finding source instance (%s): %s", instanceId, err)
state.Put("error", err)

Loading…
Cancel
Save