From ba082711865d351bd02786f0f19bf49870718a03 Mon Sep 17 00:00:00 2001 From: Lloyd Hilaiel <lloyd@hilaiel.com> Date: Wed, 1 Feb 2012 14:55:06 -0700 Subject: [PATCH] fix provisioning failure where DescribeInstance doesn't find an instance immediately after provisioning --- scripts/deploy/vm.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/scripts/deploy/vm.js b/scripts/deploy/vm.js index 3556bd871..f6efc45e6 100644 --- a/scripts/deploy/vm.js +++ b/scripts/deploy/vm.js @@ -84,6 +84,13 @@ exports.waitForInstance = function(id, cb) { InstanceId: id }, function(r) { if (!r) return cb('no response from ec2'); + // we're waiting and amazon might not have created the image yet! that's + // not an error, just an api timing quirk + var waiting = jsel.match('.Error .Code:val("InvalidInstanceID.NotFound")', r); + if (waiting.length) { + return setTimeout(function(){ exports.waitForInstance(id, cb); }, 1000); + } + if (!r.instanceStatusSet) return cb('malformed response from ec2' + JSON.stringify(r, null, 2)); if (Object.keys(r.instanceStatusSet).length) { var deets = extractInstanceDeets(r.instanceStatusSet.item); -- GitLab