From 5eaed4e45c6c57e995ac7438016fad545716e596 Mon Sep 17 00:00:00 2001
From: Jeremy Derr <jcderr@radius.com>
Date: Thu, 26 Nov 2015 19:25:13 -0800
Subject: [PATCH] [SPARK-11991] fixes

If `--private-ips` is required but not provided, spark_ec2.py may behave inappropriately, including attempting to ssh to localhost in attempts to verify ssh connectivity to the cluster.

This fixes that behavior by raising a `UsageError` exception if `get_dns_name` is unable to determine a hostname as a result.

Author: Jeremy Derr <jcderr@radius.com>

Closes #9975 from jcderr/SPARK-11991/ec_spark.py_hostname_check.
---
 ec2/spark_ec2.py | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/ec2/spark_ec2.py b/ec2/spark_ec2.py
index 9fd652a3df..84a950c9f6 100755
--- a/ec2/spark_ec2.py
+++ b/ec2/spark_ec2.py
@@ -1242,6 +1242,10 @@ def get_ip_address(instance, private_ips=False):
 def get_dns_name(instance, private_ips=False):
     dns = instance.public_dns_name if not private_ips else \
         instance.private_ip_address
+    if not dns:
+        raise UsageError("Failed to determine hostname of {0}.\n"
+                         "Please check that you provided --private-ips if "
+                         "necessary".format(instance))
     return dns
 
 
-- 
GitLab