From 293c6c7aa08f340270741f182233cbf57f849d4f Mon Sep 17 00:00:00 2001 From: Tristan Rice Date: Mon, 20 Mar 2023 10:00:01 -0700 Subject: [PATCH] Batch: use specified network IP address (#6095) --- moto/batch/models.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/moto/batch/models.py b/moto/batch/models.py index 97ea23945..5aaeab2a1 100644 --- a/moto/batch/models.py +++ b/moto/batch/models.py @@ -724,6 +724,9 @@ class Job(threading.Thread, BaseModel, DockerModel, ManagedState): else {} ) + network_mode = settings.moto_network_mode() + network_name = settings.moto_network_name() + for kwargs in container_kwargs: environment = kwargs["environment"] environment["MOTO_HOST"] = settings.moto_server_host() @@ -732,8 +735,6 @@ class Job(threading.Thread, BaseModel, DockerModel, ManagedState): "MOTO_HTTP_ENDPOINT" ] = f'{environment["MOTO_HOST"]}:{environment["MOTO_PORT"]}' - network_name = settings.moto_network_name() - network_mode = settings.moto_network_mode() if network_name: kwargs["network"] = network_name elif network_mode: @@ -753,7 +754,12 @@ class Job(threading.Thread, BaseModel, DockerModel, ManagedState): for kwargs in container_kwargs: if len(containers) > 0: env = kwargs["environment"] - ip = containers[0].attrs["NetworkSettings"]["IPAddress"] + network_settings = containers[0].attrs["NetworkSettings"] + networks = network_settings["Networks"] + if network_name in networks: + ip = networks[network_name]["IPAddress"] + else: + ip = network_settings["IPAddress"] env["AWS_BATCH_JOB_MAIN_NODE_PRIVATE_IPV4_ADDRESS"] = ip container = self.docker_client.containers.run( detach=True,