New Charm - Docker

Bug #1413775 reported by Charles Butler on 2015-01-22
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Juju Charms Collection
Undecided
Unassigned

Bug Description

I have written a new charm that I feel is a good submission for a reference charm utilizing docker.

What this charm provides:

A docker container runtime with switchable binary installation locations (ubuntu package archive, and docker maintained ppa for latest upstream)

it has a stub relationship for exposing the running containers that is not presently implemented - but has plans on being consumed as further integration points are added to the ecosystem.

It supports cross host container networking over a UDP connection leveraging flannel, which is encapsulated in a flannel-docker charm. lp:~lazypower/charms/trusty/flannel-docker/trunk

The tests are scoped strictly to docker, and it comes with full documentation on the development focus repository on Github here: http://chuckbutler.github.io/docker-charm/

I look forward to any feedback you might have

Related branches

Review Queue (review-queue) wrote :

This items has failed automated testing! Results available here http://reports.vapour.ws/charm-tests/charm-bundle-test-10993-results

Review Queue (review-queue) wrote :

This items has failed automated testing! Results available here http://reports.vapour.ws/charm-tests/charm-bundle-test-11026-results

Review Queue (review-queue) wrote :

This items has failed automated testing! Results available here http://reports.vapour.ws/charm-tests/charm-bundle-test-11042-results

Charles Butler (lazypower) wrote :

http://reports.vapour.ws/charm-tests/lp%3A~lazypower%252Fcharms%252Ftrusty%252Fdocker%252Ftrunk - this charm will 100% of the time fail on LXC - so the report is a false positive. We have greens on all the proper substrates

amir sanjar (asanjar) wrote :

+1 on amazon
(.venv)sanjar@sanjar-acer:~/development/charms/trusty/docker$ bundletester -v
docker
    charm-proof PASS
    make lint PASS
    00-setup PASS
    10-deploy-test PASS

PASS: 4 Total: 4 (442.567517 sec)

Cory Johns (johnsca) wrote :

Charles,

Thank you for this contribution, and this is an exciting step toward getting better Docker integration with Juju. I had a couple of minor notes, but overall this seems good. +1

* The deployment instructions in the README are out of date and still direct to install --to flannel

* The Amulet tests contain `amulet.raise_status()` statements, which don't play well with the unittest.TestCase pattern. Those should be changed to `self.assertEqual()` or at least `self.fail()`.

Cory Johns (johnsca) wrote :

One other note: the start hook symlink is missing, which could cause issues if the unit is restarted.

Charles Butler (lazypower) wrote :

@Amir - Very much appreciate the validation :)

@Cory Thanks for the feedback! I've opened a bug against the charm to track the status of the missing start hook. As we don't have a clearly defined path for Juju representing the containers deployed on the host, I'm not 100% positive on how to proceed forward with a start hook.

The docker service ships with an upstart job so we can be assured that the flannel networking + docker host will come back up during a server restart, however the containers running in the environment are essentially nuked and would need to be started back up via Juju run at present.

Once we have a clear path forward on what methods we are going to support for container delivery, I'll move that issue forward and welcome your feedback on it.

I've refactored the README a bit and we should be closer in alignment with the site-docs now.

Cheers!

Matt Bruzek (mbruzek) wrote :

Hello Charles,

Thank you for the submission of the docker charm! I am excited to have an easy way to deploy docker from within Juju.

I deployed this charm manually and tested the configuration, everything worked as expected. No immutable configuration here!

The README is well written and convertes to Markdown cleanly. I noticed a link to external documentation, that is awesome and will help adoption of this charm.

# charm proof

$ charm proof
I: relation docker-containers has no hooks
I: relation logging has no hooks
I: missing recommended hook start
I: missing recommended hook stop

# bundletester

PASS: 4 Total: 4 (457.653221 sec)

All the tests passed on bundletester for the HP public cloud! Very well written charm. I would have the same comment about the setUpClass class method as I did in the flannel-docker review, but this one seems to run fine.

Thanks for putting the time and effort into this charm. I am happy to promote charms of this quality it to the charm store!

Matt Bruzek (mbruzek) on 2015-03-17
Changed in charms:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers