The current snap
flavors of conjure-up
:
drpaneas@ubuntu1704:~$ sudo snap info conjure-up
name: conjure-up
summary: "Package runtime for conjure-up spells"
publisher: canonical
contact: https://github.com/conjure-up/conjure-up
description: |
This package provides conjure-up, an interface to installing spells that
provide the user with an end to end walkthrough experience for installing and
using big software.
channels:
latest/stable: 2.2.0 (453) 88MB classic
latest/candidate: 2.2.1-20170619.2006 (461) 92MB classic
latest/beta: 2.2.0 (432) 88MB classic
latest/edge: 2.3-alpha1-20170619.1906 (460) 92MB classic
I am going to install the latest one, which in that context, I mean 2.3-alpha1-20170619.1906.
drpaneas@ubuntu1704:~$ sudo snap install conjure-up --edge
error: This revision of snap "conjure-up" was published using classic confinement and thus may perform
arbitrary system changes outside of the security sandbox that snaps are usually confined to, which
may put your system at risk.
If you understand and want to proceed repeat the command including --classic.
Well, I am pretty OK with ignoring this warning, so let’s roll the dice:
drpaneas@ubuntu1704:~$ sudo snap install conjure-up --edge --classic
2017-06-20T00:14:07+02:00 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
2017-06-20T00:14:07+02:00 INFO Waiting for restart...
2017-06-20T00:14:07+02:00 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-20170619.1906 from 'canonical' installed
So, as you can see, I’ve got it installed, along with core:
drpaneas@ubuntu1704:~$ sudo snap list
Name Version Rev Developer Notes
conjure-up 2.3-alpha1-20170619.1906 460 canonical classic
core 16-2 1689 canonical -
Now let’s try to run it:
drpaneas@ubuntu1704:~$ conjure-up
Traceback (most recent call last):
File "/snap/conjure-up/460/bin/conjure-up", line 11, in <module>
load_entry_point('conjure-up==2.3a1', 'console_scripts', 'conjure-up')()
File "/snap/conjure-up/460/lib/python3.6/site-packages/conjureup/app.py", line 241, in main
utils.lxd_version(),
File "/snap/conjure-up/460/lib/python3.6/site-packages/conjureup/utils.py", line 205, in lxd_version
raise Exception("Could not determine LXD version.")
Exception: Could not determine LXD version.
As you can see, it complains about not able to determine the LXD version – which actually makes sense because I don’t even have LXD installed in my machine:
drpaneas@ubuntu1704:~$ dpkg-query -L lxd
dpkg-query: package 'lxd' is not installed
According to a post from @adam.stokes, this has to be already fixed, but apparently it’s not. In a matter of fact, I’ve installed also the other flavor of it, just to make sure I am not hitting any alpha bug.
So, let’s remove the snap version of conjure-up and try the one from the repository:
drpaneas@ubuntu1704:~$ sudo snap remove conjure-up
conjure-up removed
As you can see it has been successfully removed:
drpaneas@ubuntu1704:~$ sudo snap list
Name Version Rev Developer Notes
core 16-2 1689 canonical -
Now, let’s see what version of conjure-up is avail in our repos (currently running 17.04):
drpaneas@ubuntu1704:~$ sudo apt-cache madison conjure-up
conjure-up | 2.0.1 | http://de.archive.ubuntu.com/ubuntu zesty/universe amd64 Packages
conjure-up | 2.0.1 | http://de.archive.ubuntu.com/ubuntu zesty/universe i386 Packages
So, the 2.0.1 seems to be quite outdated compared to 2.3.alpha, but anyway, let’s give it a shot:
drpaneas@ubuntu1704:~$ sudo apt-get install conjure-up
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
bsdtar distro-info dns-root-data dnsmasq-base ebtables git git-core git-man javascript-common jq juju-2.0 libarchive-tools liberror-perl libgolang-1.7-std1 libgolang-github-gorilla-context1 libgolang-github-gorilla-mux1 libgolang-github-gorilla-websocket1
libgolang-github-gosexy-gettext1 libgolang-github-mattn-go-colorable1 libgolang-github-mattn-go-sqlite3-1 libgolang-github-olekukonko-tablewriter1 libgolang-github-pborman-uuid1 libgolang-gocapability1 libgolang-golang-x-crypto1 libgolang-golang-x-net1
libgolang-golang-x-text1 libgolang-gopkg-flosch-pongo2.v3-1 libgolang-gopkg-inconshreveable-log15.v2-1 libgolang-gopkg-lxc-go-lxc.v2-1 libgolang-gopkg-tomb.v2-1 libgolang-gopkg-yaml.v2-1 libgolang-goprotobuf1 libgolang-petname1 libjq1 libjs-jquery libjs-sphinxdoc
libjs-underscore liblxc1 libonig4 lxc-common lxcfs lxd lxd-client python3-bson python3-bson-ext python3-petname python3-prettytable python3-progressbar python3-requests-oauthlib python3-termcolor python3-urwid python3-ws4py uidmap
Suggested packages:
shunit2 git-daemon-run | git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb git-arch git-cvs git-mediawiki git-svn apache2 | lighttpd | httpd criu lxd-tools python3-cherrypy3 | python3-tornado
The following NEW packages will be installed:
bsdtar conjure-up distro-info dns-root-data dnsmasq-base ebtables git git-core git-man javascript-common jq juju-2.0 libarchive-tools liberror-perl libgolang-1.7-std1 libgolang-github-gorilla-context1 libgolang-github-gorilla-mux1 libgolang-github-gorilla-websocket1
libgolang-github-gosexy-gettext1 libgolang-github-mattn-go-colorable1 libgolang-github-mattn-go-sqlite3-1 libgolang-github-olekukonko-tablewriter1 libgolang-github-pborman-uuid1 libgolang-gocapability1 libgolang-golang-x-crypto1 libgolang-golang-x-net1
libgolang-golang-x-text1 libgolang-gopkg-flosch-pongo2.v3-1 libgolang-gopkg-inconshreveable-log15.v2-1 libgolang-gopkg-lxc-go-lxc.v2-1 libgolang-gopkg-tomb.v2-1 libgolang-gopkg-yaml.v2-1 libgolang-goprotobuf1 libgolang-petname1 libjq1 libjs-jquery libjs-sphinxdoc
libjs-underscore liblxc1 libonig4 lxc-common lxcfs lxd lxd-client python3-bson python3-bson-ext python3-petname python3-prettytable python3-progressbar python3-requests-oauthlib python3-termcolor python3-urwid python3-ws4py uidmap
0 upgraded, 54 newly installed, 0 to remove and 3 not upgraded.
Need to get 48,1 MB of archives.
After this operation, 264 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
As you can see, lxd seems to be a valid dependency in this case, so it makes sense that it is going to be installed. After the installation got finished, there was some kind of interesting output during the post installation scripts of the individual packages that were installed (as part of the conjure-up dependencies):
ebtables:
Setting up ebtables (2.0.10.4-3.5ubuntu1.17.04.1) ...
Created symlink /etc/systemd/system/multi-user.target.wants/ebtables.service → /lib/systemd/system/ebtables.service.
update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
^ Do you think I have to file a bug for this warning? Seems pretty unharmed, but it’s kind of ugly, isn’t?
lxcfs:
Setting up lxcfs (2.0.7-0ubuntu1~17.04.1) ...
Created symlink /etc/systemd/system/multi-user.target.wants/lxcfs.service → /lib/systemd/system/lxcfs.service.
lxd-containers:
Setting up lxd (2.12-0ubuntu3) ...
Created symlink /etc/systemd/system/multi-user.target.wants/lxd-containers.service → /lib/systemd/system/lxd-containers.service.
Created symlink /etc/systemd/system/sockets.target.wants/lxd.socket → /lib/systemd/system/lxd.socket.
Setting up lxd dnsmasq configuration.
To go through the initial LXD configuration, run: lxd init
conjure-up:
Setting up conjure-up (2.0.1) ...
Created symlink /etc/systemd/system/multi-user.target.wants/conjure-up.service → /lib/systemd/system/conjure-up.service.
So, let’s check if the aforementioned systemd-services are active or not:
drpaneas@ubuntu1704:~$ sudo systemctl status ebtables.service
â—Ź ebtables.service - ebtables ruleset management
Loaded: loaded (/lib/systemd/system/ebtables.service; enabled; vendor preset: enabled)
Active: active (exited) since Tue 2017-06-20 00:29:42 CEST; 8min ago
Main PID: 3982 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/ebtables.service
Jun 20 00:29:42 ubuntu1704 systemd[1]: Starting ebtables ruleset management...
Jun 20 00:29:42 ubuntu1704 systemd[1]: Started ebtables ruleset management.
drpaneas@ubuntu1704:~$ sudo systemctl status lxcfs.service
â—Ź lxcfs.service - FUSE filesystem for LXC
Loaded: loaded (/lib/systemd/system/lxcfs.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2017-06-20 00:29:43 CEST; 7min ago
Docs: man:lxcfs(1)
Main PID: 4050 (lxcfs)
CGroup: /system.slice/lxcfs.service
└─4050 /usr/bin/lxcfs /var/lib/lxcfs/
Jun 20 00:29:43 ubuntu1704 lxcfs[4050]: 1: fd: 6: freezer
Jun 20 00:29:43 ubuntu1704 lxcfs[4050]: 2: fd: 7: pids
Jun 20 00:29:43 ubuntu1704 lxcfs[4050]: 3: fd: 8: cpuset
Jun 20 00:29:43 ubuntu1704 lxcfs[4050]: 4: fd: 9: perf_event
Jun 20 00:29:43 ubuntu1704 lxcfs[4050]: 5: fd: 10: memory
Jun 20 00:29:43 ubuntu1704 lxcfs[4050]: 6: fd: 11: blkio
Jun 20 00:29:43 ubuntu1704 lxcfs[4050]: 7: fd: 12: net_cls,net_prio
Jun 20 00:29:43 ubuntu1704 lxcfs[4050]: 8: fd: 13: devices
Jun 20 00:29:43 ubuntu1704 lxcfs[4050]: 9: fd: 14: cpu,cpuacct
Jun 20 00:29:43 ubuntu1704 lxcfs[4050]: 10: fd: 15: name=systemd
drpaneas@ubuntu1704:~$ sudo systemctl status lxd-containers.service
â—Ź lxd-containers.service - LXD - container startup/shutdown
Loaded: loaded (/lib/systemd/system/lxd-containers.service; enabled; vendor preset: enabled)
Active: active (exited) since Tue 2017-06-20 00:29:45 CEST; 9min ago
Docs: man:lxd(1)
Main PID: 7192 (code=exited, status=0/SUCCESS)
CPU: 30ms
CGroup: /system.slice/lxd-containers.service
Jun 20 00:29:45 ubuntu1704 systemd[1]: Starting LXD - container startup/shutdown...
Jun 20 00:29:45 ubuntu1704 systemd[1]: Started LXD - container startup/shutdown.
drpaneas@ubuntu1704:~$ sudo systemctl status conjure-up.service
â—Ź conjure-up.service - conjure-up - network bridge
Loaded: loaded (/lib/systemd/system/conjure-up.service; enabled; vendor preset: enabled)
Active: active (exited) since Tue 2017-06-20 00:29:46 CEST; 9min ago
Docs: man:conjure-up(1)
Main PID: 7379 (code=exited, status=0/SUCCESS)
CPU: 6ms
CGroup: /system.slice/conjure-up.service
Jun 20 00:29:46 ubuntu1704 systemd[1]: Starting conjure-up - network bridge...
Jun 20 00:29:46 ubuntu1704 systemd[1]: Started conjure-up - network bridge.
Well, all of them seems to be both active and enabled. So, let’s run conjure-up
again:
drpaneas@ubuntu1704:~$ conjure-up
[info] No spells found, syncing from registry, please wait.
Choose from this list of recommended spells
Apache Hadoop + Apache Kafka Cluster
Apache Hadoop + Apache Spark Cluster
Apache Hadoop Cluster
Apache Hadoop/Spark/Zeppelin Realtime Syslog Analytics
Apache Spark Cluster
HA Ghost with MySQL
Kubernetes Core
Landscape
OpenStack with NovaKVM
OpenStack with NovaLXD
The Canonical Distribution of Kubernetes
Ah, as u can see, it works perfectly.
So, it seems that the snap version of conjure-up is kind of broken. Am I right, or I missed something?
PS: I am not sure if this place (forum) is the correct one for posting bugs. Is it OK to post it here or you guys would prefer it in github issues?
Greetings, Panos