Monday, 11 May 2020

Re: deb2snap transitional packages and channel tracking


On 9/5/20 5:51 am, Steve Langasek wrote:
> 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.

Hi Steve, Julian,

The recollection above is, fortunately, inaccurate. A closed or expired
branch always falls back to its parent channel; 2.7/stable/ubuntu-20.04
will fall back to 2.7/stable, not latest/stable. So the MAAS team should
just need to ensure that all series branches are created on all tracks
at least once, and that would be my preferred solution here.


> 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.