[Container-tools] "atomic projectatomic/helloapache" UX feedback

Nick Coghlan ncoghlan at gmail.com
Thu May 21 05:01:42 UTC 2015


Since I got a new personal laptop recently that didn't have *any* of
the container tech installed yet, I decided to take a look at the
"What's the UX like when you do it wrong?" experience for the Nulecule
helloapache app. System is running the F22 beta release.

I also figure I only get one shot at being a complete Nulecule noob,
so I may as well make the most of it :)

I'm posting my observations here initially in order to get feedback on
what's a bug, what's an RFE, and what I should just turn into a PR for
the helloapache example (e.g. adding a "Prerequisites" section to its
README)

Example I'm (mostly) following:
https://github.com/projectatomic/nulecule/tree/master/examples/helloapache

1. I took "yum install atomic" as implied. All good :)

$ rpm -qa atomic
atomic-0-0.7.gita7ff4cb.fc22.x86_64

2. "atomic run projectatomic/helloapache" fails cryptically and sudo
doesn't help:

$ atomic run projectatomic/helloapache
('Connection aborted.', error(2, 'No such file or directory'))
$ sudo atomic run projectatomic/helloapache
[sudo] password for ncoghlan:
('Connection aborted.', error(2, 'No such file or directory'))

3. Guess likely cause as being the docker daemon not running:

$ systemctl status docker.service
● docker.service - Docker Application Container Engine
  Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled;
vendor preset: disabled)
  Active: inactive (dead)
    Docs: http://docs.docker.com
$ systemctl start docker.service
(This prompted me to escalate privileges appropriately, rather than
just failing)

4. Try again

$ atomic run projectatomic/helloapache
('Connection aborted.', error(13, 'Permission denied'))
$ sudo atomic run projectatomic/helloapache
[This downloads the image and starts running, but...]

The problem here is that this did *not* go into interactive mode as
claimed in the README, but tried to use kubernetes as the default
provider. This a) wasn't going to work anyway (no k8s on this system);
and b) failed with a Python traceback due to an indentation error:

2015-05-21 04:40:39,027 - atomicapp.plugin - DEBUG - Loading providers
from /usr/lib/python2.7/site-packages/atomicapp-0.1-py2.7.e
gg/atomicapp/providers
Traceback (most recent call last):
 File "/usr/bin/atomicapp", line 9, in <module>
   load_entry_point('atomicapp==0.1', 'console_scripts', 'atomicapp')()
 File "/usr/lib/python2.7/site-packages/atomicapp-0.1-py2.7.egg/atomicapp/cli/main.py",
line 110, in main
   cli.run()
 File "/usr/lib/python2.7/site-packages/atomicapp-0.1-py2.7.egg/atomicapp/cli/main.py",
line 92, in run
   args.func(args)
 File "/usr/lib/python2.7/site-packages/atomicapp-0.1-py2.7.egg/atomicapp/cli/main.py",
line 32, in cli_run
   ae = Run(**vars(args))
 File "/usr/lib/python2.7/site-packages/atomicapp-0.1-py2.7.egg/atomicapp/run.py",
line 72, in __init__
   self.plugin.load_plugins()
 File "/usr/lib/python2.7/site-packages/atomicapp-0.1-py2.7.egg/atomicapp/plugin.py",
line 65, in load_plugins
   f_module = imp.load_source(module_name, os.path.join(providers_dir, f))
 File "/usr/lib/python2.7/site-packages/atomicapp-0.1-py2.7.egg/atomicapp/providers/kubernetes.py",
line 60
   if not self.dryrun:
   ^
IndentationError: unexpected indent

The other unexpected-if-you-didn't-watch-the-demo-video behaviour here
was the creation of several files and a subdirectory in the current
directory. It would likely be useful for the demo to explicitly
recommend running from a fresh empty directory.

5. Try turning answers.conf.sample into answers.conf, realise
everything is owned by root because I had to run atomic under sudo to
get docker access

$ mv answers.conf.sample answers.conf
$ sudoedit answers.conf
[Change the provider from kubernetes to docker]

6. Try again, hit the same Indentation Error attempting to import kubernetes.py

7. No image listing command in atomic to check version, so use docker:

$ docker images
FATA[0000] Get http:///var/run/docker.sock/v1.18/images/json: dial
unix /var/run/docker.sock: permission denied. Are you trying to
connect to a TLS-enabled daemon without TLS?
$ sudo docker images
REPOSITORY                  TAG                 IMAGE ID
CREATED             VIRTUAL SIZE
projectatomic/helloapache   latest              a5a07ae9014a        10
hours ago        289.8 MB

I'll move on to try the other examples that were used in the demo, and
report to the list if there are any notable additions to the above
initial experience report.

Regards,
Nick.

-- 
Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia




More information about the Container-tools mailing list