Public bug reported:

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

** Affects: lxc (Ubuntu)
     Importance: High
         Status: New

** Changed in: lxc (Ubuntu)
   Importance: Undecided => High

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to lxc in Ubuntu.
https://bugs.launchpad.net/bugs/1967620

Title:
  [FFe] LXC 5.0 LTS

Status in lxc package in Ubuntu:
  New

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

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


-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to