New Charm - Docker

Bug #1413775 reported by Charles Butler
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Juju Charms Collection
Fix Released
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

Revision history for this message
Review Queue (review-queue) wrote : Automated Test Results: New Charm - Docker

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

Revision history for this message
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

Revision history for this message
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

Revision history for this message
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

Revision history for this message
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

Revision history for this message
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)

Revision history for this message
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()`.

Revision history for this message
Cory Johns (johnsca) wrote :

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

Revision history for this message
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!

Revision history for this message
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)
Changed in charms:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.