mirror of
https://github.com/containers/podman-compose.git
synced 2025-04-22 08:29:18 +02:00
Extract get_net_args_from_network_mode()
Modified-by: Povilas Kanapickas <povilas@radix.lt> Signed-off-by: Songmin Li <lisongmin@protonmail.com>
This commit is contained in:
parent
d803c4c3e8
commit
a023dc145b
@ -877,38 +877,46 @@ async def assert_cnt_nets(compose, cnt):
|
|||||||
await compose.podman.output([], "network", ["exists", net_name])
|
await compose.podman.output([], "network", ["exists", net_name])
|
||||||
|
|
||||||
|
|
||||||
|
def get_net_args_from_network_mode(compose, cnt):
|
||||||
|
net_args = []
|
||||||
|
net = cnt.get("network_mode")
|
||||||
|
|
||||||
|
is_bridge = False
|
||||||
|
if net == "none":
|
||||||
|
net_args.append("--network=none")
|
||||||
|
elif net == "host":
|
||||||
|
net_args.append(f"--network={net}")
|
||||||
|
elif net.startswith("slirp4netns"): # Note: podman-specific network mode
|
||||||
|
net_args.append(f"--network={net}")
|
||||||
|
elif net == "private": # Note: podman-specific network mode
|
||||||
|
net_args.append("--network=private")
|
||||||
|
elif net.startswith("pasta"): # Note: podman-specific network mode
|
||||||
|
net_args.append(f"--network={net}")
|
||||||
|
elif net.startswith("ns:"): # Note: podman-specific network mode
|
||||||
|
net_args.append(f"--network={net}")
|
||||||
|
elif net.startswith("service:"):
|
||||||
|
other_srv = net.split(":", 1)[1].strip()
|
||||||
|
other_cnt = compose.container_names_by_service[other_srv][0]
|
||||||
|
net_args.append(f"--network=container:{other_cnt}")
|
||||||
|
elif net.startswith("container:"):
|
||||||
|
other_cnt = net.split(":", 1)[1].strip()
|
||||||
|
net_args.append(f"--network=container:{other_cnt}")
|
||||||
|
elif net.startswith("bridge"):
|
||||||
|
is_bridge = True
|
||||||
|
else:
|
||||||
|
log.fatal("unknown network_mode [%s]", net)
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
return net_args, is_bridge
|
||||||
|
|
||||||
|
|
||||||
def get_net_args(compose, cnt):
|
def get_net_args(compose, cnt):
|
||||||
service_name = cnt["service_name"]
|
service_name = cnt["service_name"]
|
||||||
net_args = []
|
net_args = []
|
||||||
is_bridge = False
|
|
||||||
mac_address = cnt.get("mac_address")
|
mac_address = cnt.get("mac_address")
|
||||||
net = cnt.get("network_mode")
|
net = cnt.get("network_mode")
|
||||||
if net:
|
if net:
|
||||||
if net == "none":
|
net_args, is_bridge = get_net_args_from_network_mode(compose, cnt)
|
||||||
is_bridge = False
|
|
||||||
net_args.append("--network=none")
|
|
||||||
elif net == "host":
|
|
||||||
net_args.append(f"--network={net}")
|
|
||||||
elif net.startswith("slirp4netns"): # Note: podman-specific network mode
|
|
||||||
net_args.append(f"--network={net}")
|
|
||||||
elif net == "private": # Note: podman-specific network mode
|
|
||||||
net_args.append("--network=private")
|
|
||||||
elif net.startswith("pasta"): # Note: podman-specific network mode
|
|
||||||
net_args.append(f"--network={net}")
|
|
||||||
elif net.startswith("ns:"): # Note: podman-specific network mode
|
|
||||||
net_args.append(f"--network={net}")
|
|
||||||
elif net.startswith("service:"):
|
|
||||||
other_srv = net.split(":", 1)[1].strip()
|
|
||||||
other_cnt = compose.container_names_by_service[other_srv][0]
|
|
||||||
net_args.append(f"--network=container:{other_cnt}")
|
|
||||||
elif net.startswith("container:"):
|
|
||||||
other_cnt = net.split(":", 1)[1].strip()
|
|
||||||
net_args.append(f"--network=container:{other_cnt}")
|
|
||||||
elif net.startswith("bridge"):
|
|
||||||
is_bridge = True
|
|
||||||
else:
|
|
||||||
log.fatal("unknown network_mode [%s]", net)
|
|
||||||
sys.exit(1)
|
|
||||||
else:
|
else:
|
||||||
is_bridge = True
|
is_bridge = True
|
||||||
cnt_nets = cnt.get("networks")
|
cnt_nets = cnt.get("networks")
|
||||||
|
Loading…
Reference in New Issue
Block a user