From 2322d3ae6bde7d91af77c137601a7492cb3ae5e4 Mon Sep 17 00:00:00 2001 From: Anthony Dong Date: Thu, 25 Jun 2020 10:48:24 +0200 Subject: [PATCH] aws: retry fetching blockdevicemapping if empty --- builder/amazon/common/step_run_spot_instance.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/builder/amazon/common/step_run_spot_instance.go b/builder/amazon/common/step_run_spot_instance.go index 0f9e65aaf..a07aad5e5 100644 --- a/builder/amazon/common/step_run_spot_instance.go +++ b/builder/amazon/common/step_run_spot_instance.go @@ -324,6 +324,9 @@ func (s *StepRunSpotInstance) Run(ctx context.Context, state multistep.StateBag) describeOutput, err = ec2conn.DescribeInstances(&ec2.DescribeInstancesInput{ InstanceIds: []*string{aws.String(instanceId)}, }) + if len(describeOutput.Reservations) > 0 && len(describeOutput.Reservations[0].Instances) > 0 && len(describeOutput.Reservations[0].Instances[0].BlockDeviceMappings) == 0 { + return fmt.Errorf("Instance has no block devices") + } return err }) if err != nil || len(describeOutput.Reservations) == 0 || len(describeOutput.Reservations[0].Instances) == 0 {