[FFe] LXC 5.0 LTS

Bug #1967620 reported by Stéphane Graber
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
lxc (Ubuntu)
Fix Released
High
Unassigned

Bug Description

LXC 5.0 LTS will very soon be released.
The upstream release has been held up due to an incomplete port to meson (and deprecation of autotools), it's otherwise been ready to go for a few months.

As far as LXC releases go, it's a very light one. Comparing it to current 4.0.12, we have:

 - No liblxc API changes at all (no new symbols or changes to headers)
 - Addition of a few configuration keys:
   - lxc.cgroup.dir.monitor.pivot
   - lxc.cgroup.dir.monitor
   - lxc.cgroup.dir.container.inner
   - lxc.cgroup.dir.container
   - lxc.time.offset.boot
   - lxc.time.offset.monotonic
   - veth.n_rxqueues
   - veth.n_txqueues
   - veth.vlan.id
   - veth.vlan.tagged.id
 - Port to meson (replacing autotools)

Diffstat:
```
stgraber@dakara:~/data/code/lxc/lxc (lxc/master)$ git diff lxc-4.0.12.. . | diffstat
 .gitignore | 1
 config/init/systemd/Makefile.am | 10 +
 config/init/systemd/lxc-net.service.in | 1
 configure.ac | 5
 doc/api-extensions.md | 9 +
 doc/ja/lxc.container.conf.sgml.in | 129 ++++++++++++++++++++-
 doc/lxc.container.conf.sgml.in | 98 ++++++++++++++++
 lxc.spec.in | 1
 meson.build | 4
 src/lxc/api_extensions.h | 3
 src/lxc/cgroups/cgfsng.c | 93 +++++++++++----
 src/lxc/cmd/lxc-checkconfig.in | 6 -
 src/lxc/cmd/lxc_monitord.c | 59 +++++----
 src/lxc/cmd/lxc_user_nic.c | 2
 src/lxc/conf.c | 11 +
 src/lxc/confile.c | 664 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
 src/lxc/network.c | 18 ++-
 src/lxc/network.h | 4
 src/lxc/terminal.c | 1
 src/lxc/terminal.h | 3
 src/lxc/tools/lxc_autostart.c | 8 +
 src/lxc/utils.c | 3
 src/tests/aa.c | 2
 src/tests/config_jump_table.c | 2
 src/tests/containertests.c | 2
 src/tests/get_item.c | 90 ++++++++++++++-
 src/tests/getkeys.c | 2
 src/tests/locktests.c | 2
 src/tests/lxc-test-utils.c | 16 +-
 src/tests/meson.build | 534 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/tests/mount_injection.c | 2
 src/tests/parse_config_file.c | 17 ++
 src/tests/reboot.c | 2
 src/tests/share_ns.c | 4
 src/tests/snapshot.c | 2
 35 files changed, 1676 insertions(+), 134 deletions(-)
```

LXC 4.0.12 which we released on Feb 1st has all the bugfixes and other non-feature changes from LXC 5.0, making this quite a small and generally safe delta.

The new features can be roughly categorized as:
 - Improve flexibility in cgroup configuration (make naming of /sys/fs/cgroup directories configurable)
 - Add support for the time namespace (clock offset)
 - Add support for configuring (basic sysctl) the number of veth queues
 - Add support for bridge VLAN filtering on veth devices

LXC 5.0 will be an upstream LTS with a support duration matching that of Ubuntu 22.04 or until June 2027. Jammy currently ships LXC 4.0.12 which is only supported until June 2025 and will not see new bugfix releases after LXC 5.0 comes out (only security).

LXC is unseeded and in universe these days. The main goal of putting the new LTS in the release is to reduce the maintenance cost for the Ubuntu LTS and to satisfy some of Canonical's customers that are directly using those packages and would expect a consistent set of LTS releases.

LXCFS 5.0 is already in jammy and LXD 5.0 has similarly been released, though that one ships exclusively as a snap.

If we can get general agreement that getting this LXC release in Ubuntu 22.04 is fine, what I can do to fast track things a bit is upload a 5.0~git-hash version which still relies on autotools, get that do clear autopkgtest and CI and then follow that up with the final 5.0 with the meson port as soon as it's complete on our side (expecting about a week, just got two directories to port).

As a reminder, this is all unseeded and in universe, so overall impact should be quite low.

Full upstream diff (4.0.12 to 5.0): https://gist.github.com/5c76aefcc8643e37a3e1b81a7a37a6f9

Changed in lxc (Ubuntu):
importance: Undecided → High
Revision history for this message
Stefano Rivera (stefanor) wrote :

LGTM, approved.

Changed in lxc (Ubuntu):
status: New → Confirmed
Changed in lxc (Ubuntu):
status: Confirmed → Triaged
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package lxc - 1:5.0.0~git2209-g5a7b9ce67-0ubuntu1

---------------
lxc (1:5.0.0~git2209-g5a7b9ce67-0ubuntu1) jammy; urgency=medium

  * Pre-release snapshot of LXC 5.0 LTS (LP: #1967620)
    - New configuration keys:
      - lxc.cgroup.dir.monitor.pivot
      - lxc.cgroup.dir.monitor
      - lxc.cgroup.dir.container.inner
      - lxc.cgroup.dir.container
      - lxc.time.offset.boot
      - lxc.time.offset.monotonic
      - veth.n_rxqueues
      - veth.n_txqueues
      - veth.vlan.id
      - veth.vlan.tagged.id
  * Drop patches (now upstreamed):
    - 0002-lxc-checkconfig-Fix-bashism.patch
    - 0003-doc-Fix-reverse-allowlist-denylist.patch
  * Update lintian overrides for current lintian version
  * debian/control: Switch to debhelper-compat

 -- Stéphane Graber <email address hidden> Tue, 05 Apr 2022 18:07:22 -0400

Changed in lxc (Ubuntu):
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.