Auditing the Charm Store

Jorge O. Castro jorge at ubuntu.com
Thu Dec 12 20:48:57 UTC 2013


If you've been seeing us in IRC or the changelogs, you might have
noticed that we have started The Great Charm Audit of 2014. We're
going to rereview every charm in the store prior to promoting them (if
they pass muster) to trusty. This means everything from the README
file, to the metadata, to the icons, and more importantly we're going
to start adding as many tests as we can.

So, to coordinate this effort Marco has been adding some nice features
to charm tools and I've done two so make sure you have charm tools
installed (https://juju.ubuntu.com/docs/tools-charm-tools.html).
Here's how you can help.

As we start to find bugs in these charms I will be posting regular
updates of our bugs tagged with "audit" and asking for expertise in
certain areas. The work spreadsheet is sorted by user downloads so
that we can improve the quality on our most used charms right away.
This is a great opportunity for charm authors to add tests into their
Charms and Canonical will periodically test the charm across all
supported providers to ensure correct deployment. Its a great
opportunity for folks looking to get started with Juju, or to ensure
your charm is deploying as you expected -- feel free to help us fix up
a README to make more sense or to just toss us ideas in #juju. As you
know I love to give away Juju tshirts, so any and all help is
appreciated!

Here are the charm review instructions, we'll keep this up to date on:

https://blueprints.launchpad.net/juju-core/+spec/t-cloud-juju-charm-audit

## Steps

In order to make it easier for people to participate, we've broken
down the top downloaded charms from the charm store and broken out the
tasks based on what needs to happen. If you are comfortable with
hacking and writing tests, you can do that, if you are more
comfortable writing READMEs, checking metadata, or even just running
and learning Juju you can also chip in by running each of these charms
through the wringer as we audit them. Here's how to get started.

- Check out the spreadsheet and pick your charm: http://goo.gl/mmxewQ
- `charm get foo` to get the charm.

### For ~charmers Reviewers

- Rereview the charm with the latest criteria:
https://juju.ubuntu.com/docs/authors-charm-store.html#review_tips
- Rate the charm's features on manage.jujucharms.com <--- needs to be
a charmer to need instructions for non-charmers too.
    - manage.u.c hasn't been updated with the new charm bullets, track
these by hand for now:
https://juju.ubuntu.com/docs/authors-charm-quality.html

### Things anyone can do:

- Ensure README.md is accurate and has good example usage,
    - Use `charm add readme` to add a new README.ex with the new
sections. Adapt the existing README to work inside this template.
- Ensure the description in metadata.yaml is correct and simple. Many
of them are long copy and paste descriptions from websites that look
terrible in the GUI.
- Ensure an icon is avilable and if not follow
https://juju.ubuntu.com/docs/authors-charm-icon.html
- Write tests, and ensure they pass from juju test
    - Docs for getting started writing tests: TBD
- Check that the charm renders properly on jujucharms.com
    - Especially check the description that is parsed from metadata.yaml.

## Final Check and Resubmission

- Must pass `charm proof` again, charm proof has been updated to the
latest charm policies. If you can't fix a warning, file a bug on the
charm and tag it "audit".
- Test the charm on as many providers as possible (this will be
automated in the future). At a minimum test on local provider and put
a comment in the notes section of the spread sheet.
- Submit work back into the charm store
(https://juju.ubuntu.com/docs/authors-charm-store.html#submitting_fix)



More information about the Juju mailing list