Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to core20 #2011

Open
pachulo opened this issue Feb 23, 2022 · 15 comments
Open

Update to core20 #2011

pachulo opened this issue Feb 23, 2022 · 15 comments
Labels
feature New feature or request help wanted

Comments

@pachulo
Copy link
Member

pachulo commented Feb 23, 2022

Well, we still have 14 months of support for core18, but I guess it's time to start the discussion about this, or maybe not yet @kyrofa ?

On the other hand, I don't see any particular benefit from upgrading...anyone knows of any?

@kyrofa kyrofa added the feature New feature or request label Feb 23, 2022
@kyrofa
Copy link
Member

kyrofa commented Feb 23, 2022

Definitely worth starting the discussion, thanks @pachulo! I also don't know offhand of any benefits to upgrading. That along with the fact that snapcraft and launchpad tend to

  1. Lag pretty significantly in supporting new bases, and
  2. Hide breaking changes behind the use of a particular base

means I prefer to wait until nearly the last possible moment to do that kind of upgrade.

@kyrofa kyrofa changed the title Update snap to core20 Update to core20 Feb 23, 2022
@pachulo
Copy link
Member Author

pachulo commented Mar 15, 2023

OK, so here we are. Next month "standard" support for Ubuntu 18.04 ends, and I don't really know how that is gonna affect core18-based snaps, but I get the feeling that we should be prioritising this...

(I'm sorry, but I don't currently have time to check anything more complex than dependencies bumping)

@XSpielinbox
Copy link

Updating the base would seem advisable to me. At least from what I heard from other snaps that should be pretty straight forward, but I of course cannot guarantee the same here, but trying should not hurt and be very easy, right?

@kyrofa
Copy link
Member

kyrofa commented Apr 7, 2023

Sadly no. Snapcraft hides (or at least tries to hide) all of its breaking changes behind base changes. It's always a tremendously painful experience. We need to figure out what to do about our plugins-- I think they've gotten rid of that functionality altogether, although we might still be able to use some legacy APIs. But as @pachulo points out, it's time. I'll see if I can look into this next week.

@airlink75
Copy link

Hello,
Any news about this ?
Many thanks.

@XSpielinbox
Copy link

After all, Ubuntu 18.04 and with it core18 went end of standard support two weeks ago.

@airlink75
Copy link

After all, Ubuntu 18.04 and with it core18 went end of standard support two weeks ago.

Yeah obviously 😅. I was asking about news for a core20 update cause for me it's a security issue to stay with core18.

@kyrofa
Copy link
Member

kyrofa commented Jun 12, 2023

it's a security issue to stay with core18

This isn't actually true, folks. Ubuntu Core 18, built on top of the core18 snap, is supported for ten years. I'd still like to get onto core20, but it's not a burning need.

@airlink75
Copy link

For me it is, cause i'm running nextcloud-snap inside a LXC container.
Currently I can't update my LXC container further than ubuntu 18.04 cause of nextcloud-snap staying in core18.
If I upgrade my LXC container I am facing issues with apparmor cause the core18 kernel doesn't support it.

So definitely for me it's an issue cause I need to keep my Ubuntu 18.04 container. I see 3 options :

  1. Switch to Nextcloud standard version (but i need to update each new version manually => I don't want to do this.
  2. Don't use LXC => Means I need to migrate my Nextcloud database and that I lose the flexibility of my container. Not ideal.
  3. Wait for an update to core20.

@kyrofa
Copy link
Member

kyrofa commented Jun 12, 2023

Currently I can't update my LXC container further than ubuntu 18.04 cause of nextcloud-snap staying in core18.
If I upgrade my LXC container I am facing issues with apparmor cause the core18 kernel doesn't support it.

I'm not following. Even the core snap based on Ubuntu 16.04 is still installable. Later versions of Ubuntu should happily be able to install the core18 snap without issue. I regularly develop this core18-based snap on 20.04, for example. The "core18 kernel" is not a thing here-- you shouldn't have a kernel snap on a classic Ubuntu install.

@XSpielinbox
Copy link

XSpielinbox commented Jun 12, 2023

This isn't actually true, folks. Ubuntu Core 18, built on top of the core18 snap, is supported for ten years. I'd still like to get onto core20, but it's not a burning need.

When Ubuntu 16.04 reached EOL, Canocical stated the following for the core snap (corresponding to it, as core18 corresponds to Ubuntu 18.04):
"To remain secure and supported, these snaps will need to either:

  • migrate the snap to a later supported base
  • use the Extended Security Maintenance (ESM) programme"

I don't know any reason, why this should be different for core18 and Canonical should give away the support for free (ignoring the special cases, where you are entitled for ESM for free).

So of course, these older versions will still work and be installable, but will not be supported anymore, unless one has ESM.
I don't know whether you have ESM support for building the Nextcloud snap, at least I know many people including myself that don't have ESM for the systems, they install snaps on.
As far as I can tell, seperate ESM would be needed for building and installing the snap.

The base currently recommended by Canonical for building snaps is core22. If there are specific dependencies that cannot be easily met with core22 then core20 is a valid and supported alternative.

@kyrofa
Copy link
Member

kyrofa commented Jun 12, 2023

I don't know any reason, why this should be different for core18 and Canonical should give away the support for free (ignoring the special cases, where you are entitled for ESM for free).

Well, think about it. Ubuntu Core is supported for ten years. What is Ubuntu Core? It's a Linux distribution made up of a few specific snaps:

  • A gadget
  • A kernel
  • A base (e.g. core18 on Ubuntu Core 18)
  • Snapd
  • Application snaps

The base snap, core18, is the same core18 we're building on. You don't need ESM to use Ubuntu Core, but it's supported for ten years. If that's true, they need to continue releasing core18 updates to those existing Ubuntu Core devices. Ergo, they need to continue releasing core18 updates to everyone. That includes us. There's no other way to do it, as far as I can tell, without somehow authenticating every Ubuntu Core device and only providing updates to it. They didn't have that ability (or desire) last I checked.

@kyrofa
Copy link
Member

kyrofa commented Jun 12, 2023

As an example, note that the core snap, again based on 16.04, was updated recently:

$ snap info core
name:      core
<snip>
channels:
  latest/stable:    16-2.58.3                   2023-03-22 (14946) 122MB -

Looks like they're cooking a new core18 release:

$ snap info core18
name:      core18
<snip>
channels:
  latest/candidate: 20230530 2023-06-09 (2785) 58MB -

@XSpielinbox
Copy link

Hm, maybe. I must admit that I don't know much about Ubuntu Core.

Nevertheless, I find Canonicals Documentation on snaps insufficient, highly confusing and definitely out of date in significant parts, especially what lifecycle and support is concerned. I would therefor rather err on the side of caution.

@kyrofa
Copy link
Member

kyrofa commented Jun 12, 2023

I find Canonicals Documentation on snaps insufficient, highly confusing

Oh yes, no debate there.

I would therefor rather err on the side of caution.

Feel free to take a crack at this and propose a PR! Definitely not trying to argue against this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New feature or request help wanted
Projects
None yet
Development

No branches or pull requests

4 participants