Monday 11 May 2020

Re: deb2snap transitional packages and channel tracking

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEoIn7Nqr72tWswTJQafeQFxohCYQFAl64+bYACgkQafeQFxoh
CYQWGA//UnGbpG2P+eJKYraQXeldsIuo7fmPfgRNIGQ8eUn4UukEsvDFlKK4jtsS
qhAgc+obtVLZpgEUT7LLlosVWyDR1Y969hJ1L7fw2l/rb8ik5NaXXIsXUBN4lvIy
4ekaI1gLOKLSl3I+CYHOVM2RqgNgZ9ynXcmjMOQgofsdJoaHAKf05AHxIFlx5jnK
rnaOaAsMzbSfjVtzEIwfuQ+VxiRS0nUT/dfL4HFxIZY3tAqqYtW08DF4WUPFqgTV
zRyM++KWjMf+1DIXEVkbcoas7S6D3r48x6YIDolZc0sQmIiKkTsvrs4Aud9NXNu/
GIrkBMgffzG3eisJTctyFAk6GXI+rciiEvKcQG7Oap0+pzYjF+SOypm7PQrBfH2z
TlzVgcQmmPHqrQfVL+rQXBiPK7jiX4CUSz7BGIIWLhIicl8bxs6i9j7Mm+NslUJK
Dux/xaF04ita81hljzDSSN2Ht024S4oHpy0B+2RBRkcFQvv3fx8s+yyhYVVgc+8R
7wCDZaUICw8CYYu9gW8uDiTvwTZ7Pp5s4eMPaLrYXS73PIbUVmNwF4WVFFpx6PiF
Rr0bH3AsvhV2h/+9i3pYEBKA1TXcQD+HpaeQudU5F3wu8sS3m+ra1TsshrA1IxEF
BkbCOafKc5FULFGIjtjskFNNzptJNkyfk7eQqUnFD9FqH9lzw2Q=
=Xrou
-----END PGP SIGNATURE-----
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.

William.

> 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
>>
>> -
>> https://code.launchpad.net/~ack/ubuntu/+source/maas/+git/maas/+merge/383411
>> -
>>
>> 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.
>
>