diff --git a/python/ray/autoscaler/autoscaler.py b/python/ray/autoscaler/autoscaler.py index 047907d55..f946acd73 100644 --- a/python/ray/autoscaler/autoscaler.py +++ b/python/ray/autoscaler/autoscaler.py @@ -582,7 +582,7 @@ class StandardAutoscaler(object): if successful_updated and self.config.get("restart_only", False): init_commands = self.config["worker_start_ray_commands"] elif successful_updated and self.config.get("no_restart", False): - init_commands = (self.config["worker_setup_commands"]) + init_commands = self.config["worker_setup_commands"] else: init_commands = (self.config["worker_setup_commands"] + self.config["worker_start_ray_commands"]) @@ -623,9 +623,8 @@ class StandardAutoscaler(object): self.launch_queue.put((config, count)) def workers(self): - return self.provider.non_terminated_nodes(tag_filters={ - TAG_RAY_NODE_TYPE: "worker" - }) + return self.provider.non_terminated_nodes( + tag_filters={TAG_RAY_NODE_TYPE: "worker"}) def log_info_string(self, nodes): logger.info("StandardAutoscaler: {}".format(self.info_string(nodes))) @@ -713,10 +712,10 @@ def fillout_defaults(config): def merge_setup_commands(config): - config["head_setup_commands"] = config["setup_commands"] + \ - config["head_setup_commands"] - config["worker_setup_commands"] = config["setup_commands"] + \ - config["worker_setup_commands"] + config["head_setup_commands"] = ( + config["setup_commands"] + config["head_setup_commands"]) + config["worker_setup_commands"] = ( + config["setup_commands"] + config["worker_setup_commands"]) return config diff --git a/python/ray/autoscaler/commands.py b/python/ray/autoscaler/commands.py index 6c819c19d..9a89261be 100644 --- a/python/ray/autoscaler/commands.py +++ b/python/ray/autoscaler/commands.py @@ -226,7 +226,7 @@ def get_or_create_head_node(config, config_file, no_restart, restart_only, yes, if restart_only: init_commands = config["head_start_ray_commands"] elif no_restart: - init_commands = (config["head_setup_commands"]) + init_commands = config["head_setup_commands"] else: init_commands = (config["head_setup_commands"] + config["head_start_ray_commands"]) diff --git a/python/ray/autoscaler/docker.py b/python/ray/autoscaler/docker.py index 4bf233cb6..7f91a8096 100644 --- a/python/ray/autoscaler/docker.py +++ b/python/ray/autoscaler/docker.py @@ -45,15 +45,14 @@ def dockerize_if_needed(config): docker_mounts, cname, run_options + worker_run_options) - config["head_setup_commands"] = head_docker_start + \ - with_docker_exec(config["head_setup_commands"], - container_name=cname) + config["head_setup_commands"] = head_docker_start + (with_docker_exec( + config["head_setup_commands"], container_name=cname)) config["head_start_ray_commands"] = ( docker_autoscaler_setup(cname) + with_docker_exec( config["head_start_ray_commands"], container_name=cname)) - config["worker_setup_commands"] = worker_docker_start + \ - with_docker_exec(config["worker_setup_commands"], container_name=cname) + config["worker_setup_commands"] = worker_docker_start + (with_docker_exec( + config["worker_setup_commands"], container_name=cname)) config["worker_start_ray_commands"] = with_docker_exec( config["worker_start_ray_commands"], container_name=cname, diff --git a/python/ray/tests/test_autoscaler.py b/python/ray/tests/test_autoscaler.py index 3760236a1..98cda7e4a 100644 --- a/python/ray/tests/test_autoscaler.py +++ b/python/ray/tests/test_autoscaler.py @@ -538,7 +538,11 @@ class AutoscalingTest(unittest.TestCase): self.waitForNodes(2, tag_filters={TAG_RAY_NODE_STATUS: "up-to-date"}) def testReportsConfigFailures(self): - config_path = self.write_config(SMALL_CLUSTER) + config = copy.deepcopy(SMALL_CLUSTER) + config['provider']['type'] = 'external' + config = fillout_defaults(config) + config['provider']['type'] = 'mock' + config_path = self.write_config(config) self.provider = MockProvider() runner = MockProcessRunner(fail_cmds=["cmd1"]) autoscaler = StandardAutoscaler(