diff --git a/ec2-create-ce b/ec2-create-ce index 6d46b0d..6d3efb1 100755 --- a/ec2-create-ce +++ b/ec2-create-ce @@ -251,6 +251,20 @@ ec2-create-image --region "$AWS_REGION" \ AMI_ID="$(awk '/^IMAGE/ {print $2}' $LOGFILE_AMI)" +retry=120 # up to 10 minutes +STATUS="" +while [ "$STATUS" != "available" ] && [ $retry -ne 0 ] ; do + STATUS="$(ec2-describe-images --region ${AWS_REGION} "$AMI_ID" | awk '/^IMAGE/ {print $5}')" + echo "AMI ID $AMI_ID not yet finished (status: ${STATUS}), checking again in 5 seconds ($retry retries left)." + sleep 5 + retry=$(($retry - 1)) +done + +if [ "$STATUS" != "available" ] ; then + echo "No further retries left and couldn't finish creation of AMI ID ${AMI_ID} for instance ID ${INSTANCE_ID}, giving up." >&2 + exit 1 +fi + if [ -n "$AMI_ID" ] ; then echo "Successfully created AMI with ID $AMI_ID" else