aboutsummaryrefslogtreecommitdiff
path: root/ec2
diff options
context:
space:
mode:
authorPatrick Wendell <pwendell@gmail.com>2013-05-08 22:50:53 -0700
committerPatrick Wendell <pwendell@gmail.com>2013-05-08 22:50:53 -0700
commit36c117a1f11252d6892c55f7f012745bf67b74df (patch)
treebf172ded0380209f825253520eb6975cd49fb27c /ec2
parentf6c965a98b2852d4f9b3cb3c00216cf750ff9738 (diff)
downloadspark-36c117a1f11252d6892c55f7f012745bf67b74df.tar.gz
spark-36c117a1f11252d6892c55f7f012745bf67b74df.tar.bz2
spark-36c117a1f11252d6892c55f7f012745bf67b74df.zip
Slight change to AMI versioning
Diffstat (limited to 'ec2')
-rwxr-xr-xec2/spark_ec2.py24
1 files changed, 13 insertions, 11 deletions
diff --git a/ec2/spark_ec2.py b/ec2/spark_ec2.py
index c45e08809f..a8b9b07507 100755
--- a/ec2/spark_ec2.py
+++ b/ec2/spark_ec2.py
@@ -64,9 +64,9 @@ def parse_args():
help="Availability zone to launch instances in, or 'all' to spread " +
"slaves across multiple (an additional $0.01/Gb for bandwidth" +
"between zones applies)")
- parser.add_option("-a", "--ami", default="0.7.0",
- help="Amazon Machine Image ID to use, or 'latest' to use latest " +
- "available AMI (default: latest)")
+ parser.add_option("-a", "--ami", default="v0.7.0",
+ help="Amazon Machine Image ID to use, or 'vX.Y.Z' to use version " +
+ "X.Y.Z of Spark (default: v0.7.0)")
parser.add_option("-D", metavar="[ADDRESS:]PORT", dest="proxy_port",
help="Use SSH dynamic port forwarding to create a SOCKS proxy at " +
"the given local address (for use with login)")
@@ -159,7 +159,7 @@ def is_active(instance):
# Attempt to resolve an appropriate AMI given the architecture and
# region of the request.
def get_spark_ami(opts):
- version_prefix = opts.ami
+ version = opts.ami
instance_types = {
"m1.small": "pvm",
"m1.medium": "pvm",
@@ -186,13 +186,15 @@ def get_spark_ami(opts):
instance_type = "pvm"
print >> stderr,\
"Don't recognize %s, assuming type is pvm" % opts.instance_type
- if version_prefix != "latest":
+ if version != "v0.7.0":
print >> stderr, \
- "Don't know how to resolve AMI for version: %s" % version_prefix
-
+ "Don't know how to resolve AMI for version: %s" % version
+ # TODO(pwendell) Once we have multiple Spark AMI versions, we should let
+ # people give a version flag here in place of just saying 'latest'.
+ version = version[1:]
parts = opts.region.split("-")
- region = "-".join(parts[0], parts[1], parts[2][0]) # strip any avail. zone
- ami_path = "%s/%s/%s/%s" % (AMI_PREFIX, version_prefix, region, instance_type)
+ region = "-".join([parts[0], parts[1], parts[2][0]]) # strip any avail. zone
+ ami_path = "%s/%s/%s/%s" % (AMI_PREFIX, version, region, instance_type)
try:
ami = urllib2.urlopen(ami_path).read().strip()
print "Spark AMI: " + ami
@@ -252,8 +254,8 @@ def launch_cluster(conn, opts, cluster_name):
"group %s, %s or %s" % (master_group.name, slave_group.name, zoo_group.name))
sys.exit(1)
- # Figure out the latest AMI from our static URL
- if opts.ami == "latest":
+ # Figure out Spark AMI
+ if opts.ami[0] == "v":
opts.ami = get_spark_ami(opts)
print "Launching instances..."