Friday, 8 May 2020

Re: deb2snap transitional packages and channel tracking

Hi Julian,

I agree with everything you write. The rationale for including the Ubuntu
release in the channel name for snaps installed via Ubuntu applies equally
whether that snap is preinstalled via an image, or pulled in via a
transitional deb; and whether the user is on an LTS release or not.

So I don't think they should be considering separate channel names only for
the LTS releases, but should instead be doing this for all releases.

Now, I think there may be a practical issue here; as I recall, trying to
install from a closed channel will automatically fall back to latest/stable,
but the maas team want to put users on 2.7/stable. That probably needs to
be a conversation with the Snap Store Team; but barring a solution for this,
I don't think it's appropriate to force the maas deb to put people on
latest/stable where that's not the MAAS Team's intent, and it's also not
particularly friendly to make the MAAS Team actively manage
2.7/stable/ubuntu-$release channels across all supported releases and require
that they be kept in sync with 2.7/stable.

If the MAAS Team /are/ willing to manage publication on their side so that
2.7/stable/ubuntu-20.10, etc. are all kept in sync with 2.7/stable, then
that would be the best technical outcome for our users. But if this isn't
pratical, then until a store-side solution is available, it is better to
have the deb installing 2.7/stable instead of tracking
2.7/stable/ubuntu-20.10 and having this fall through to latest/stable.

On Fri, May 08, 2020 at 03:59:59PM +0200, Julian Andres Klode wrote:
> I've been reviewing some of ack's changes for the maas deb2snap
> transitional package, and in the latest merge request
> -
> -
> a topic came up that I don't think we've discussed before.
> Currently, the maas deb installs maas 2.7/stable/ubuntu-$release
> (or other versions of maas instead of 2.7). They'd like to add a
> fallback that if the /ubuntu-$release channel is not there, it
> would install 2.7/stable instead, and then maybe only have the
> /ubuntu-$release channels for LTS releases.
> Now, I don't think this makes a lot of sense. I'd argue that
> the same policies as for seeded snaps should also apply to
> deb2snap transitions, as the rationale is the same - we can,
> if necessary, roll out fixes specific to an Ubuntu release.
> It also creates less confusion if people install the Ubuntu devel
> release while no such channel exists yet - people who install early
> in the 22.04 cycle would track 2.7/stable, people who install
> late would get 2.7/stable/ubuntu-22.04.
> So I don't think we currently have a progress for deb2snap transitions
> where the snap is not seeded. I think it should be the same as
> for seeded snaps:
> * deb2snap target snaps should always track /ubuntu-$release channels
> * deb2snap target snaps should be notified to create such channels
> on archive opening
> This ensures that people get a consistent experience for snaps
> they get pre-installed, and snaps they get upgraded from debs,
> or if they install a new deb that installs a snap.

Steve Langasek Give me a lever long enough and a Free OS
Debian Developer to set it on, and I can move the world.
Ubuntu Developer