Skip to content

Commit f02cbeb

Browse files
committed
Backport containers#525 to v4.8.2
feat: expose *ns keys to consumers, see: containers#525
1 parent dbcad6e commit f02cbeb

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

podman/domain/containers_create.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -406,6 +406,11 @@ def _render_payload(kwargs: MutableMapping[str, Any]) -> Dict[str, Any]:
406406
def pop(k):
407407
return args.pop(k, None)
408408

409+
def normalize_nsmode(mode: Union[str, Dict[str, str]]) -> Dict[str, str]:
410+
if isinstance(mode, dict):
411+
return mode
412+
return {"nsmode": mode}
413+
409414
def to_bytes(size: Union[int, str, None]) -> Union[int, None]:
410415
"""
411416
Converts str or int to bytes.
@@ -694,22 +699,22 @@ def parse_host_port(_container_port, _protocol, _host):
694699
params["secret_env"] = args.pop("secret_env", {})
695700

696701
if "cgroupns" in args:
697-
params["cgroupns"] = {"nsmode": args.pop("cgroupns")}
702+
params["cgroupns"] = normalize_nsmode(args.pop("cgroupns"))
698703

699704
if "ipc_mode" in args:
700-
params["ipcns"] = {"nsmode": args.pop("ipc_mode")}
705+
params["ipcns"] = normalize_nsmode(args.pop("ipc_mode"))
701706

702707
if "network_mode" in args:
703-
params["netns"] = {"nsmode": args.pop("network_mode")}
708+
params["netns"] = normalize_nsmode(args.pop("network_mode"))
704709

705710
if "pid_mode" in args:
706-
params["pidns"] = {"nsmode": args.pop("pid_mode")}
711+
params["pidns"] = normalize_nsmode(args.pop("pid_mode"))
707712

708713
if "userns_mode" in args:
709-
params["userns"] = {"nsmode": args.pop("userns_mode")}
714+
params["userns"] = normalize_nsmode(args.pop("userns_mode"))
710715

711716
if "uts_mode" in args:
712-
params["utsns"] = {"nsmode": args.pop("uts_mode")}
717+
params["utsns"] = normalize_nsmode(args.pop("uts_mode"))
713718

714719
if len(args) > 0:
715720
raise TypeError(

0 commit comments

Comments
 (0)