LXD snap to transition to core18 next week

The current LXD snap is based off the original core base, that’s effectively a minimal Ubuntu 16.04 build.

We’ve long been planning on moving to a more recent base, core18 which is based off Ubuntu 18.04 and in the next 6 months, move again to the latest core20 base which is going to be based off Ubuntu 20.04.

The main benefit is much more recent versions of the various tools shipping the snap, including LVM, Ceph, various other filesystem and system tools as well as benefiting from the newer C library and its associated features.

The migration hasn’t been particularly easy due to hitting bugs in both snapd itself, related to switching base snaps on running systems as well as differences in filesystem structure causing some of our confinement profiles to fail, breaking LXD. All of those have been sorted out for a few months now and we’ve successfully been running our edge and beta channels on core18 for a while now.

We’re doing one last update to the stable LXD snap now, still based on core, then will merge the core18 support into the candidate snap and keep it that way over the weekend, if nobody running candidate reports regressions, we’ll go on with pushing it to stable on Monday or Tuesday.

If you have some time and are using some of the less common features of the LXD snap, it’d be great if you could refresh onto beta and help us test this.

Some of the potential area of concerns that we’d like to see confirmation on:

☒ VM support on x86_64
☒ VM support on aarch64
☒ LVM + volume resize on ext4, btrfs and xfs
☒ Open vSwitch with internal daemon
☒ Open vSwitch with external daemon
☒ nvidia-container
☒ nftables + network isolation
☒ xtables + network isolation
☒ squashfs compressed image creation
☒ squashfs compressed backups export/import
☒ criu (checkpoint/restore)

If you have a chance to test some of those, please post below the following information:

  • What you tested
  • lxc info output
  • snap list

To switch: snap refresh lxd --beta
To switch back: snap refresh lxd --stable


1 Like

I’ve performed all the tests listed above and everything seems okay here.

If you’re using some less common features, I’d still strongly recommend testing the beta channel to help us make this migration as smooth as possible next week.

And I’ve now pushed the change that will switch over candidate to core18, this should hit people within the next 2 hours or so.

stable remains on core until Monday or Tuesday.

I switched to latest/candidate and got the new core18 LXD.

To verify,

$ grep '^base:' /snap/lxd/current/meta/snap.yaml 
base: core18

The current build on candidate, while on core18 was built with a mix of core packages, a new build is happening now which will correct that.