[ANNOUNCE] charm-helpers project
matthew.wedgwood at canonical.com
Mon May 13 16:42:10 UTC 2013
TL;DR: lp:charm-helpers is now the recommended place to land support
code for charms. Please use it in your charms and contribute!
I've pushed the first version of the python charmhelpers library to
lp:charm-helpers. In its current state, charmhelpers is a conglomeration
of other charm support libraries built by various groups at Canonical.
- The original charmhelpers library written by Clint Byrum
- Imported python module and tests from helpers/python/charmhelpers
- Used in production by Canonical IS and Online services
- Written by myself and Sidnei DaSilva with contributions from others
- Imported all code
- Retained build and test infrastructure
- Retained top-level project layout
- Tools used in the juju-gui charm
- Written by the Juju GUI team
- Imported hooks/utils.py and related tests
- Tools used for Openstack deployment charms
- Written by James Page and Adam Gandelman
Imported code can be found in charmhelpers/contrib/<project_name>. Each
imported project now has an IMPORT file describing the source and
destination of each file that was imported. I imported each project
separately with fixup steps in-between so that required changes can
easily be reviewed by diffing commits.
All existing test pass (although coverage is not 100% and ha-helpers has
no tests), so you *should* be able to use the new project immediately by
copying it into your charm and fixing up imports.
* design a package layout
* set policies
1. Identify duplicate code amongst the contributed projects, choose the
best implementation, and begin building the main modules (outside contrib).
2. Design a maintainable structure for the command-line interface and
begin exposing functionality to shell/non-python charms.
Marco Ceppi may have more to add. I'll follow-up with some proposals on
More information about the Juju