aboutsummaryrefslogtreecommitdiff
path: root/ec2/spark_ec2.py
diff options
context:
space:
mode:
authorHolden Karau <holden@pigscanfly.ca>2013-04-09 21:37:02 -0700
committerHolden Karau <holden@pigscanfly.ca>2013-04-09 21:37:02 -0700
commit9bf24e1d61a629b410183dfc4296bba994f0a79e (patch)
treedf4702bc639e2a5c3cd8b552bb24894982c7e8c9 /ec2/spark_ec2.py
parentff2130a0ad17388036b66fcdf2b1848e208fa0f8 (diff)
downloadspark-9bf24e1d61a629b410183dfc4296bba994f0a79e.tar.gz
spark-9bf24e1d61a629b410183dfc4296bba994f0a79e.tar.bz2
spark-9bf24e1d61a629b410183dfc4296bba994f0a79e.zip
Just use a loop for retries
Diffstat (limited to 'ec2/spark_ec2.py')
-rwxr-xr-xec2/spark_ec2.py23
1 files changed, 17 insertions, 6 deletions
diff --git a/ec2/spark_ec2.py b/ec2/spark_ec2.py
index aa2d360fbb..9f2daad2b6 100755
--- a/ec2/spark_ec2.py
+++ b/ec2/spark_ec2.py
@@ -22,7 +22,6 @@ from __future__ import with_statement
import logging
import os
import random
-from retry_decorator import retry
import shutil
import subprocess
import sys
@@ -541,12 +540,24 @@ def scp(host, opts, local_file, dest_file):
(opts.identity_file, local_file, opts.user, host, dest_file), shell=True)
-# Run a command on a host through ssh, throwing an exception if ssh fails
-@retry(subprocess.CalledProcessError, tries=3, delay=30)
+# Run a command on a host through ssh, retrying up to two times
+# and then throwing an exception if ssh continues to fail.
def ssh(host, opts, command):
- subprocess.check_call(
- "ssh -t -o StrictHostKeyChecking=no -i %s %s@%s '%s'" %
- (opts.identity_file, opts.user, host, command), shell=True)
+ tries = 0
+ while True:
+ try:
+ return subprocess.check_call(
+ "ssh -t -o StrictHostKeyChecking=no -i %s %s@%s '%s'" %
+ (opts.identity_file, opts.user, host, command), shell=True)
+ except subprocess.CalledProcessError as e:
+ if (tries > 2):
+ raise e
+ print "Error connecting to host {0}, sleeping 30".format(e)
+ time.sleep(30)
+ tries = tries + 1
+
+
+
# Gets a list of zones to launch instances in