** Description changed:

  [Impact]
  
-  * Allow setting lower pid_max on per namespace basis, to support legacy
+  * Allow setting lower pid_max on per namespace basis, to support legacy
  workloads on modern hosts.
  
-  * Cherrypick patches from
+  * Cherrypick patches from
  https://gitlab.com/brauner/linux/-/commits/pid_max_namespacing/
  
  [Test Plan]
  
-  * Launch lxd container and lower pid_max in the container by doing echo
- 65536 > /path/to/proc/in/c0/mnt/namespace/proc/sys/kernel/pid_max from
- outside of the container
+ Setup:
  
-  * Observe that pid_max is lowered inside the container relative the
- host
+ cat <<EOF | sudo tee /var/snap/lxd/common/set-pid-max 
+ #!/bin/sh
+ echo 65536 > "\${LXC_ROOTFS_MOUNT}"/proc/sys/kernel/pid_max
+ EOF
+ 
+ sudo chmod +x /var/snap/lxd/common/set-pid-max
+ 
+ echo "lxc.hook.mount=\$SNAP_COMMON/set-pid-max" | sudo tee
+ /var/snap/lxd/common/set-pid-max.config
+ 
+ lxc launch -c raw.lxc="lxc.include = /var/snap/lxd/common/set-pid-
+ max.config" ubuntu-daily:jammy
+ 
+ lxc launch -c raw.lxc="lxc.include = /var/snap/lxd/common/set-pid-
+ max.config" ubuntu-daily:jammy small-pid-container
+ 
+ == Test Results ==
+ Large value on the host:
+ 
+ sudo sysctl -a | grep pid_max
+ kernel.pid_max = 4194304
+ 
+ Small value in the container:
+ lxc exec small-pid-container -- sysctl -a 2>/dev/null | grep pid_max
+ Expected value: kernel.pid_max = 65536
  
  
  [Where problems could occur]
  
-  * These are out-of-the-tree sauce patches not yet applied upstream,
+  * These are out-of-the-tree sauce patches not yet applied upstream,
  there appear to be permissions issues inside user namespaces of being
  able to self-lower the limit without being cap_sysadmin in the parent
  namespace. Implementation upstream may change, with different
  permissions and semantics. By default, currently pid_max is very large,
  and thus it shouldn't be needed to lower that at all on the host.

** Description changed:

  [Impact]
  
   * Allow setting lower pid_max on per namespace basis, to support legacy
  workloads on modern hosts.
  
   * Cherrypick patches from
  https://gitlab.com/brauner/linux/-/commits/pid_max_namespacing/
  
  [Test Plan]
  
  Setup:
  
- cat <<EOF | sudo tee /var/snap/lxd/common/set-pid-max 
+ cat <<EOF | sudo tee /var/snap/lxd/common/set-pid-max
  #!/bin/sh
  echo 65536 > "\${LXC_ROOTFS_MOUNT}"/proc/sys/kernel/pid_max
  EOF
  
  sudo chmod +x /var/snap/lxd/common/set-pid-max
  
  echo "lxc.hook.mount=\$SNAP_COMMON/set-pid-max" | sudo tee
  /var/snap/lxd/common/set-pid-max.config
- 
- lxc launch -c raw.lxc="lxc.include = /var/snap/lxd/common/set-pid-
- max.config" ubuntu-daily:jammy
  
  lxc launch -c raw.lxc="lxc.include = /var/snap/lxd/common/set-pid-
  max.config" ubuntu-daily:jammy small-pid-container
  
  == Test Results ==
  Large value on the host:
  
  sudo sysctl -a | grep pid_max
  kernel.pid_max = 4194304
  
  Small value in the container:
  lxc exec small-pid-container -- sysctl -a 2>/dev/null | grep pid_max
  Expected value: kernel.pid_max = 65536
  
- 
  [Where problems could occur]
  
   * These are out-of-the-tree sauce patches not yet applied upstream,
  there appear to be permissions issues inside user namespaces of being
  able to self-lower the limit without being cap_sysadmin in the parent
  namespace. Implementation upstream may change, with different
  permissions and semantics. By default, currently pid_max is very large,
  and thus it shouldn't be needed to lower that at all on the host.

** Description changed:

  [Impact]
  
   * Allow setting lower pid_max on per namespace basis, to support legacy
  workloads on modern hosts.
  
   * Cherrypick patches from
  https://gitlab.com/brauner/linux/-/commits/pid_max_namespacing/
  
  [Test Plan]
  
  Setup:
  
  cat <<EOF | sudo tee /var/snap/lxd/common/set-pid-max
  #!/bin/sh
  echo 65536 > "\${LXC_ROOTFS_MOUNT}"/proc/sys/kernel/pid_max
  EOF
  
  sudo chmod +x /var/snap/lxd/common/set-pid-max
  
  echo "lxc.hook.mount=\$SNAP_COMMON/set-pid-max" | sudo tee
  /var/snap/lxd/common/set-pid-max.config
  
  lxc launch -c raw.lxc="lxc.include = /var/snap/lxd/common/set-pid-
  max.config" ubuntu-daily:jammy small-pid-container
  
  == Test Results ==
  Large value on the host:
  
  sudo sysctl -a | grep pid_max
  kernel.pid_max = 4194304
  
  Small value in the container:
  lxc exec small-pid-container -- sysctl -a 2>/dev/null | grep pid_max
- Expected value: kernel.pid_max = 65536
+ kernel.pid_max = 65536
  
  [Where problems could occur]
  
   * These are out-of-the-tree sauce patches not yet applied upstream,
  there appear to be permissions issues inside user namespaces of being
  able to self-lower the limit without being cap_sysadmin in the parent
  namespace. Implementation upstream may change, with different
  permissions and semantics. By default, currently pid_max is very large,
  and thus it shouldn't be needed to lower that at all on the host.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1968886

Title:
  Provide pid_max namespace support

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1968886/+subscriptions


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to