LXDUpdates
This document describes the policy for updating the lxd-agent-loader and lxd-installer packages in a stable supported distro.
Basically those 2 packages have received several small usability improvements and will likely receive more over time so it would provide a better user experience if those could be made available to users of prior releases and not only those using the most recent Ubuntu release.
Process
The aim is to backport current latest versions of those 2 packages to older LTS releases.
To do this we will:
- File a bug to cover the upgrade.
- Upload the latest upstream version of the packages to the current development series of Ubuntu.
- Once they have migrated, they can then be uploaded with minimal necessary changes to the SRU queue of the supported Ubuntu releases.
We will reuse the upgrade bug for the SRU but this does not include detailed test case or regression potential sections (it should link to this page for the sake of the SRU team member doing the review!).
QA
Before a new version of lxd-agent-loader is uploaded to -proposed, the following will be done:
Create a test VM and copy the built package into it:
$ lxc launch ubuntu-daily:24.04 v1 --vm $ sleep 30 $ lxc file push lxd-agent-loader_0.6_all.deb v1/tmp/ $ lxc exec v1 -- apt-get install /tmp/lxd-agent-loader_0.6_all.deb Reading package lists... Building dependency tree... Reading state information... The following packages will be upgraded: lxd-agent-loader 1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. ... Unpacking lxd-agent-loader (0.6) over (0.5) ... Setting up lxd-agent-loader (0.6) ... ...
Confirm lxc exec still works:
$ lxc exec v1 -- hostname v1
Reboot the test VM and confirm lxc exec still works:
$ lxc restart v1 $ sleep 30 $ lxc exec v1 -- hostname v1
Other examples of lxd-agent-loader manual tests can be found in merge proposals (like prepare-0.6 and noble-bug-fixes) if desired.
Before a new version of lxd-installer is uploaded to -proposed, the following will be done:
- new autopkgtests will be added to cover new testable functionality (if any)
- manual QA will be done
For the manual QA, create a test container and copy the built package into it:
$ lxc launch ubuntu-minimal-daily:24.10 c1 $ lxc file push /tmp/lxd-installer_6_all.deb c1/dev/shm/ $ lxc exec c1 -- apt-get install /dev/shm/lxd-installer_6_all.deb Reading package lists... Done Building dependency tree... Done Reading state information... Done Note, selecting 'lxd-installer' instead of '/dev/shm/lxd-installer_6_all.deb' The following packages will be upgraded: lxd-installer 1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. ... Setting up lxd-installer (6) ...
Test invoking lxd-installer:
$ lxc exec c1 -- lxc list Would you like to install LXD snap now (Y/n)? Installing LXD snap, please be patient. If this is your first time running LXD on this machine, you should also run: lxd init To start your first container, try: lxc launch ubuntu:24.04 Or for a virtual machine: lxc launch ubuntu:24.04 --vm +------+-------+------+------+------+-----------+ | NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS | +------+-------+------+------+------+-----------+ ```
Check the list of snap installed by lxd-installer:
$ lxc exec c1 -- snap list Name Version Rev Tracking Publisher Notes core22 20240904 1621 latest/stable canonical✓ base lxd 5.21.2-2f4ba6b 30131 5.21/stable/… canonical✓ - snapd 2.63 21759 latest/stable canonical✓ snapd
Confirm the automatic channel picked is the expected one:
$ lxc exec c1 -- snap info lxd | grep '^tracking:' tracking: 5.21/stable/ubuntu-24.10
Other examples of lxd-installer manual tests can be found in merge proposals (like version-6 and prompt-before-installing-lp2073941).
This QA should happen both for the -proposed -> -release migration in the devel series and again as part of the SRU verification.
SRU Template
== Begin SRU Template == [Impact] This release contains both bug-fixes and new features and we would like to make sure all of our supported customers have access to these improvements. The notable ones are: * <TODO: list any LP: # included> See the changelog entry below for a full list of changes and bugs. [Test Case] The following development and SRU process was followed: https://wiki.ubuntu.com/LXDUpdates All the test cases listed in the QA section of the above page should be manually executed + autopkgtest should be passing. == End SRU Template ==
LXDUpdates (last edited 2024-10-22 20:42:39 by sdeziel)