From fb0bbd6fe15dafb1e3f3d61878b23be789e812d7 Mon Sep 17 00:00:00 2001 From: Songmin Li Date: Wed, 18 Dec 2024 19:59:31 +0200 Subject: [PATCH] Cleanup network alias processing Modified-by: Povilas Kanapickas Signed-off-by: Songmin Li --- podman_compose.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/podman_compose.py b/podman_compose.py index 5664ff9..d156ca8 100755 --- a/podman_compose.py +++ b/podman_compose.py @@ -936,13 +936,13 @@ def get_net_args_from_networks(compose, cnt): mac_address = cnt.get("mac_address") service_name = cnt["service_name"] - aliases = [service_name] + aliases_on_container = [service_name] # NOTE: from podman manpage: # NOTE: A container will only have access to aliases on the first network # that it joins. This is a limitation that will be removed in a later # release. - if cnt.get("_aliases"): - aliases.extend(cnt.get("_aliases")) + aliases_on_container.extend(cnt.get("_aliases", [])) + aliases_on_net = [] # TODO: add support for per-interface aliases # See https://docs.docker.com/compose/compose-file/compose-file-v3/#aliases @@ -983,7 +983,7 @@ def get_net_args_from_networks(compose, cnt): ipv6 = net_config_.get("ipv6_address") # custom extension; not supported by docker-compose v3 mac = net_config_.get("x-podman.mac_address") - aliases.extend(norm_as_list(net_config_.get("aliases"))) + aliases_on_net = norm_as_list(net_config_.get("aliases", [])) # if a mac_address was specified on the container level, apply it to the first network # This works for Python > 3.6, because dict insert ordering is preserved, so we are @@ -1023,7 +1023,7 @@ def get_net_args_from_networks(compose, cnt): net_config = list(multiple_nets.values())[0] ipv4 = net_config.get("ipv4_address") ipv6 = net_config.get("ipv6_address") - aliases.extend(norm_as_list(net_config.get("aliases"))) + aliases_on_net = norm_as_list(net_config.get("aliases")) if ipv4: net_args.append(f"--ip={ipv4}") if ipv6: @@ -1031,8 +1031,8 @@ def get_net_args_from_networks(compose, cnt): if mac_address: net_args.append(f"--mac-address={mac_address}") - for alias in aliases: - net_args.extend([f"--network-alias={alias}"]) + net_args.extend([f"--network-alias={alias}" for alias in aliases_on_container]) + net_args.extend([f"--network-alias={alias}" for alias in aliases_on_net]) return net_args