aboutsummaryrefslogtreecommitdiff
path: root/linaro-ami/linaro_ami.py
diff options
context:
space:
mode:
Diffstat (limited to 'linaro-ami/linaro_ami.py')
-rw-r--r--linaro-ami/linaro_ami.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/linaro-ami/linaro_ami.py b/linaro-ami/linaro_ami.py
index ac9aaec..91c3375 100644
--- a/linaro-ami/linaro_ami.py
+++ b/linaro-ami/linaro_ami.py
@@ -5,6 +5,7 @@ import time
from aws_controller import AwsController, InstanceRunFailedError
from remote_executor import RemoteExecutor, RemoteCommandFailedError
+from remote_executor import AuthenticationException
def iso_timestamp():
@@ -69,8 +70,16 @@ class LinaroAMI:
self.aws.import_key_pair(key_name, self.executor.get_public_key())
instance = self.aws.run_instance_and_wait(base_ami,
key_name, instance_type)
- self.log.info("Started instance: %s", instance.public_dns_name)
- self.executor.connect(instance.public_dns_name, self.username, self.key_filename)
+ self.log.info("Started instance: %s (%s)", instance.public_dns_name, instance.id)
+ for i in xrange(5):
+ try:
+ self.executor.connect(instance.public_dns_name, self.username, self.key_filename)
+ break
+ except AuthenticationException, e:
+ if i == 4:
+ raise e
+ self.log.debug("Could not login to instance so far, retrying")
+ time.sleep(2)
self.log.debug("Connected to instance")
self.log.info("Installing bzr.")