Ubuntu-core vs core snaps

We frequently run into users trying to install our rocketchat-server snap that encounter issues while installing. These range from installs via an iso they downloaded of 16.04 to a VPS provider.

Some times the solution is to do apt update && apt upgrade.

Other times members of the community have suggested they attempt to install the ubuntu-core snap instead of the core snap. This fixes the problem more often then not. Some times when they do a snap install rocketchat-server it seems to install ubuntu-core still. On those it seems fairly consistent that it just works.

What’s the difference between the ubuntu-core and core snaps? Is this a matter of the ubuntu-core containing more then the core snap for being installed on non-ubuntu systems?

So I guess two questions.

  1. What’s the difference?
  2. Why does installing ubuntu-core solve for some?

The ubuntu-core snap was an unfortunate misnomer that we didn’t have time to fix in time for 16.04, and had to live with it for a few months until we introduced the core snap around October last year. The former still lived for a little longer while we figured out the details of migrating from one to the other, but by now this is all sorted and the core snap is all we ever work on and update, and the only thing a recent enough snapd will attempt to install by itself.

In general, I wouldn’t recommend people fiddle manually with either of these snaps, though, because then one needs to worry about which snapd is in used and whatnot to tell for sure what needs to be installed. Instead, just install rocket chat itself, and it’ll bring along the correct core.

Another idea we may play with is this: declare in your snap’s snapcraft.yaml the following statement:

assumes: [snapd2.23]

The reason I say play is because we haven’t exercised this code path much in production, but it’s worth a try. That statement should force people to be on a recent-enough snapd before installing RocketChat, which is likely where your actual problems come from.

Then, please do let us know when you face issues. We’ll be happy to give a hand if things aren’t working as they should, and fix problems when necessary.

Ok so Ubuntu-core is dead. Will note and spread the word to not fiddle and make sure on core. Any idea why any installs would be installing that snap still? Is it just because certain vps providers are running the with the original 16.04 image?

Is this live? What would be the UX if they tried to pull and they aren’t on a new enough version of snapd?

The “ubuntu-core” snap is dead, because Ubuntu Core is actually the name of a particular product based on snapd and snaps, which is not itself a snap at all. As I said, it was a very poor choice that we didn’t have time to fix before 16.04 was due.

Yes, for a surprisingly long while. :slight_smile:

$ sudo snap install mysnap.snap
error: cannot perform the following tasks:
- Mount snap "mysnap" (unset) (snap "mysnap" assumes unsupported features:
snapd2.99 (try to update snapd and refresh the core snap))

Makes sense. I’m just glad snaps made it into 16.04. We love them :grin:

I’ll go ahead and add that for the next release and see if that helps. Thanks!

1 Like