diff --git a/deploy-cluster-aws/awsdeploy.sh b/deploy-cluster-aws/awsdeploy.sh index caed6c9c..a6d068b8 100755 --- a/deploy-cluster-aws/awsdeploy.sh +++ b/deploy-cluster-aws/awsdeploy.sh @@ -44,7 +44,8 @@ echo "IMAGE_ID = "$IMAGE_ID echo "INSTANCE_TYPE = "$INSTANCE_TYPE echo "SECURITY_GROUP = "$SECURITY_GROUP echo "USING_EBS = "$USING_EBS -if [ "$USING_EBS" = True ]; then +# Treat booleans as strings which must be either "True" or "False" +if [ "$USING_EBS" == "True" ]; then echo "EBS_VOLUME_SIZE = "$EBS_VOLUME_SIZE echo "EBS_OPTIMIZED = "$EBS_OPTIMIZED fi @@ -117,7 +118,11 @@ fab upgrade_setuptools if [ "$WHAT_TO_DEPLOY" == "servers" ]; then # (Re)create the RethinkDB configuration file conf/rethinkdb.conf - python create_rethinkdb_conf.py --bind-http-to-localhost $BIND_HTTP_TO_LOCALHOST + if [ "$BIND_HTTP_TO_LOCALHOST" == "True" ]; then + python create_rethinkdb_conf.py --bind-http-to-localhost + else + python create_rethinkdb_conf.py + fi # Rollout RethinkDB and start it fab prep_rethinkdb_storage:$USING_EBS fab install_rethinkdb diff --git a/deploy-cluster-aws/create_rethinkdb_conf.py b/deploy-cluster-aws/create_rethinkdb_conf.py index 9f0c6889..1f01f288 100644 --- a/deploy-cluster-aws/create_rethinkdb_conf.py +++ b/deploy-cluster-aws/create_rethinkdb_conf.py @@ -13,14 +13,14 @@ from hostlist import public_dns_names # Parse the command-line arguments parser = argparse.ArgumentParser() -parser.add_argument("--bind-http-to-localhost", - help="should RethinkDB web interface be bound to localhost?", - required=True) +# The next line isn't strictly necessary, but it clarifies the default case: +parser.set_defaults(bind_http_to_localhost=False) +parser.add_argument('--bind-http-to-localhost', + action='store_true', + help='should RethinkDB web interface be bound to localhost?') args = parser.parse_args() bind_http_to_localhost = args.bind_http_to_localhost -print('bind_http_to_localhost = {}'.format(bind_http_to_localhost)) - # cwd = current working directory old_cwd = os.getcwd() os.chdir('conf')