I’m not entirely sure whats happening as I have the snap deb package installed at version 2.25 but running snap version shows it at 2.26.9
This is on a fresh xenial server installation and the only command that was run is
sudo snap install conjure-up --classic --edge
Once that happened thats when my snapd version was updated to 2.26.9 and conjure-up fails to start at all.
Get cloud support with Ubuntu Advantage Cloud Guest:
http://www.ubuntu.com/business/services/cloud
0 packages can be updated. 0 updates are security updates.
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright. Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law.
To run a command as administrator (user "root"), use "sudo <command>". See "man sudo_root" for details.
ubuntu@bobbybooshay:~$ snap info error: the required argument `<snap> (at least 1 argument)` was not provided
ubuntu@bobbybooshay:~$ snap version
snap 2.25
snapd 2.25
series 16
ubuntu 16.04
kernel 4.4.0-83-generic
ubuntu@bobbybooshay:~$ sudo snap install conjure-up --classic --edge
2017-07-17T17:41:05Z INFO cannot auto connect core:core-support-plug to core:core-support: (slot auto-connection), existing connection state "core:core-support-plug core:core-support" in the way
conjure-up (edge) 2.3-alpha1-20170713.0307 from 'canonical' installed
ubuntu@bobbybooshay:~$ snap version
snap 2.26.9
snapd 2.26.9
series 16
ubuntu 16.04
kernel 4.4.0-83-generic
ubuntu@bobbybooshay:~$ conjure-up
Traceback (most recent call last):
File "/snap/conjure-up/557/bin/conjure-up", line 11, in <module>
load_entry_point('conjure-up==2.3a1', 'console_scripts', 'conjure-up')()
File "/snap/conjure-up/557/lib/python3.6/site-packages/conjureup/app.py", line 257, in main
utils.lxd_version(),
File "/snap/conjure-up/557/lib/python3.6/site-packages/conjureup/utils.py", line 269, in lxd_version
raise Exception("Could not determine LXD version.")
Exception: Could not determine LXD version.
ubuntu@bobbybooshay:~$ dpkg -l |grep snap
ii snapd 2.25 amd64 Tool to interact with Ubuntu Core Snappy.
ii ubuntu-core-launcher 2.25 amd64 Transitional package for snapd
ubuntu@bobbybooshay:~$
update with help from @kyrofa I’ve found this error
ubuntu@bobbybooshay:~$ snap run --shell conjure-up.lxd
ubuntu@bobbybooshay:~$ conjure-up.lxd --version
Can not open /var/lib/snapd/seccomp/profiles//snap.conjure-up.lxd (No such file or directory)
aborting: No such file or directory
Conjure up is a classic snap. I suspect there is a bug in the new snap-seccomp and classic confinement (which doesn’t enforce seccomp on the started process). CC @mvo
Now let’s run a shell of a snap with classic confinement:
zyga@fyke:~/go/src/github.com/snapcore/snapd/client$ snap run --shell conjure-up.lxd
zyga@fyke:~/go/src/github.com/snapcore/snapd/client$ snap --version
snap 2.25
snapd 2.26.9
series 16
ubuntu 16.04
kernel 4.8.0-58-generic
What just happened? We are still in the main mount namespace so /usr/bin/snap is the distro version. We have however set SNAP_DID_REEXEC=1 and SNAP_REEXEC= so subsequent invocations of snap will just run from the distro package and never attempt to re-exec into the core snap.
This means that classic confinement snaps will use the wrong snap, the wrong snap-confine and won’t understand snap-seccomp.
There still seems to be a few users that are running into this problem after installing the beta snap:
Can not open /var/lib/snapd/seccomp/profiles//snap.conjure-up.conjure-up (No such file or directory)
aborting: No such file or directory
snap version && snap list
snap 2.26.13
snapd 2.26.13
series 16
ubuntu 16.04
kernel 4.4.0-83-generic
Name Version Rev Developer Notes
conjure-up 2.2.2 549 canonical classic
core 16-2.26.13 2445 canonical -
This doesn’t seem to contain the moment when you run a snap command. Typically we’d see a message like this one lip 19 15:52:58 fyke snap[12619]: cmd.go:118: DEBUG: restarting into "/snap/core/current/usr/bin/snap"