Comment 0 for bug 1799736

Revision history for this message
Ɓukasz Zemczak (sil2100) wrote :

[Impact]

Ubuntu Core is an all-snap Ubuntu variant that we are building through cdimage. In the past there was only one core series, 16, and all the images we were building were based on that series. Thanks to that all the support for building ubuntu-core images in livecd-rootfs through ubuntu-image was only needed in later series, as all were build using devel. Currently we have two different ubuntu-core image sets based of different bases: core16 and core18 images. As a convention, we have decided that cdimage (and or other components) will be building ubuntu-core images based of the suite that the build is being run for. Since core16 is based on xenial and core18 on bionic, we have decided the following scheme:

 * Suite: xenial -> ubuntu-core 16 image
 * Suite: bionic or later -> ubuntu-core 18 image

For this to work, we need to have all the needed changes in xenial and bionic. livecd-rootfs on xenial is missing all the ubuntu-image build-enablement changes, so these need to be backported. Besides that, both xenial and bionic need to get backports of the per-distro-series core-series selection.

Without these fixes in xenial, no ubuntu-core 16 images can be built anymore. This is needed in case we'd have need for any security-vulnerability fix image re-releases.

[Test Case]

For xenial:

 * On a xenial system install latest xenial-proposed livecd-rootfs
 * Create a temporary directory and cd into it
 * Copy the /usr/share/livecd-rootfs/live-build/auto directory into the current directory
 * sudo PROJECT=ubuntu-core SUITE=xenial ARCH=amd64 PROPOSED=0 IMAGEFORMAT="ubuntu-image" lb config
   -> Make sure that the configured model assertion is for core16
 * sudo PROJECT=ubuntu-core SUITE=xenial ARCH=amd64 PROPOSED=0 IMAGEFORMAT="ubuntu-image" lb build
   -> Make sure the build runs and finishes correctly
 * Boot test the newly created image with kvm
   -> Make sure the image is still bootable

[Regression Potential]

As part of the backport only new code is added - code that is executed in certain code paths only. Most regressions might appear in the ubuntu-core image generation, which was not available for xenial. But in case the code has been added in the wrong way, potentially this might result in livecd-rootfs not being able to generate proper classic images anymore. A run of lb config and lb build for a non ubuntu-image project is recommended.