You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: telco-ran/configuration/extra-manifests-builder/01-container-mount-ns-and-kubelet-conf/container-mount-namespace.service
Copy file name to clipboardExpand all lines: telco-ran/configuration/kube-compare-reference/machine-config/kubelet-configuration-and-container-mount-hiding/01-container-mount-ns-and-kubelet-conf-master.yaml
+11Lines changed: 11 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -36,6 +36,17 @@ spec:
36
36
ExecStartPre=touch ${BIND_POINT}
37
37
ExecStart=unshare --mount=${BIND_POINT} --propagation slave mount --make-rshared /
38
38
ExecStop=umount -R ${RUNTIME_DIRECTORY}
39
+
40
+
# Initialize /run/netns as a shared mount point to prevent shadowing race condition
41
+
# This must happen before CRI-O starts to ensure all namespace bind mounts have
42
+
# the correct parent mount. Without this, 'ip netns add' (called later by network
43
+
# components) would create the mount point and shadow any earlier namespace mounts
44
+
# created by CRI-O's pinns, causing pods to fail with 'setns: Invalid argument'.
45
+
# Creating and deleting a temporary netns retains the side-effect of creating the
46
+
# /run/netns mountpoint (but base exit code solely on whether the mountpoint is
Copy file name to clipboardExpand all lines: telco-ran/configuration/kube-compare-reference/machine-config/kubelet-configuration-and-container-mount-hiding/01-container-mount-ns-and-kubelet-conf-worker.yaml
+11Lines changed: 11 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -36,6 +36,17 @@ spec:
36
36
ExecStartPre=touch ${BIND_POINT}
37
37
ExecStart=unshare --mount=${BIND_POINT} --propagation slave mount --make-rshared /
38
38
ExecStop=umount -R ${RUNTIME_DIRECTORY}
39
+
40
+
# Initialize /run/netns as a shared mount point to prevent shadowing race condition
41
+
# This must happen before CRI-O starts to ensure all namespace bind mounts have
42
+
# the correct parent mount. Without this, 'ip netns add' (called later by network
43
+
# components) would create the mount point and shadow any earlier namespace mounts
44
+
# created by CRI-O's pinns, causing pods to fail with 'setns: Invalid argument'.
45
+
# Creating and deleting a temporary netns retains the side-effect of creating the
46
+
# /run/netns mountpoint (but base exit code solely on whether the mountpoint is
0 commit comments