Monday 17 September 2018

Re: Transition of LXD from deb to snap

On Wed, Sep 12, 2018 at 02:42:00PM -0400, Stéphane Graber wrote:
> On Tue, Aug 21, 2018 at 04:39:46PM -0400, Stéphane Graber wrote:
> > On Tue, Aug 21, 2018 at 03:35:11PM -0400, Stéphane Graber wrote:
> > > On Tue, Aug 21, 2018 at 12:25:33PM -0700, Steve Langasek wrote:
> > > > On Tue, Aug 21, 2018 at 03:03:48PM -0400, Stéphane Graber wrote:
> > > > > > > A branch of the stable channel of those tracks will be created and
> > > > > > > closed per policy on seeded snaps (allowing to push emergency snaps to
> > > > > > > those users bypassing the upstream).
> > > >
> > > > > > Excellent!
> > > >
> > > > > I actually had a question about that part, the wiki says to create an
> > > > > ubuntu-18.10 branch and use that during snap installation.
> > > >
> > > > > But then what's responsible for switching this to a ubuntu-19.04 branch
> > > > > during the next upgrade?
> > > >
> > > > Support for this has landed in ubuntu-release-upgrader 1:18.10.8 in cosmic;
> > > > LP: #1748581. Note that this is based on a whitelist of known seeded snaps
> > > > that are encoded in u-r-u as part of the quirks handling (which is not ideal
> > > > since it duplicates the package seeds), so this will need to be updated to
> > > > include the lxd snap here.
> > >
> > > Hmm, interesting, though it looks like the logic in the upgrader here is
> > > a bit lacking and may lead to data corruption or at least broken snaps.
> > >
> > > It appears to just run "snap refresh <name>
> > > --channel=stable/ubuntu-18.10" which means a potential track switch and
> > > channel switch for users that have seen decided to switch to another
> > > channel or track.
> > >
> > >
> > > Commented in the bug, I suspect this bug needs to be re-open and the
> > > logic revisited.
> > >
> > > https://bugs.launchpad.net/ubuntu/+source/ubuntu-release-upgrader/+bug/1748581
> > >
> > > > > Since the same version of the snap will be pushed to all Ubuntu series,
> > > > > wouldn't it make more sense to have it just be "ubuntu", saving us the
> > > > > trouble of having to figure out what to do on Ubuntu release upgrades
> > > > > and reflecting the fact that the snap is the same for all series.
> > > >
> > > > This escape hatch exists precisely for the case that the upstream stable
> > > > snap does not integrate correctly in a release-agnostic fashion and
> > > > per-Ubuntu-release quirking is needed. Better to have it and never use it
> > > > than to need it and not have it.
> > >
> > > Yeah, if we fix the upgrader to handle the above properly
> > > (and as suggested in the LP bug), then that should be fine.
> >
> >
> > I've now updated the PPA with version ~ppa5.
> >
> > This includes:
> > - Using the ubuntu-XX.XX branches (created and closed)
> > - Debconf prompts are now high except for the unreachable store one
> > which is critical
> > - Added logic to select the "3.0" track for LTS releaes
> > - Added noninteractive logic to print a message a 0, 10 and 20 minutes,
> > trying connection every minute and giving up after 30.
> > - Stop & disable the old systemd services to avoid any conflicts
> >
> > I've validated all combinations of those variables:
> > - series: 18.04 and 18.10
> > - debconf: interactive (curses), interactive (text) and noninteractive
> > - connectivity: available, unavailable, available after a few minutes
>
> All rdepends of lxd and lxd-client have been tested to behave properly
> with the LXD snap and our deb shim.
>
> I will now be uploading the transitional LXD deb to the archive, holding
> it in -proposed until Monday so anyone interested can test it that way
> and we can sort out any autopkgtest issue that may arise.
>
> On Monday, I'll remove the blocker tag which should have it migrate to
> the release pocket, I'll land a seed change at the same time, removing
> lxd and lxd-client from the supported server seed and replacing lxd with
> snap:lxd in the server ship seed.
>
>
> This will then cause our images to start shipping the LXD snap rather
> than the deb, we can then sort out any issue that show up as a result
> of that change (should there be any).
>
>
> Note that at this time, the LXD snap isn't using socket activation yet.
> We have code in place for that in the edge channel but want to do more
> tests on it before we roll it out to all our users. This means that
> starting on Monday, LXD will be starting up unconditionally on 18.10
> images. This is a temporary situation and will be corrected by release.

The package is now in the release pocket and the seeds have been updated.

--
Stéphane Graber
Ubuntu developer
http://www.ubuntu.com