Comment 5 for bug 1397134

Revision history for this message
Stuart Bishop (stub) wrote :

Bug #1398023 seems to have identified the problem, in a round about fashion.

charm-helpers-sync.py does not pull in charmhelpers/__init__.py unless you specifically ask for it. The work around for now is to add '__init__' to your charm-helpersyaml and resync:

branch: lp:charm-helpers
destination: hooks/charmhelpers
include:
    - __init__
    - core
    - fetch
    - contrib.network.ip

I doubt any existing charms would specify __init__.py, as it previously was empty. Many charms will not pick up the omission, as six is likely installed as a dependency already in their test environment. This will cause charms to fail when deployed to cleaner environments where six is not pulled in as a dependency.

The least annoying fix I can come up with is for charm-helpers-sync to implicitly sync charmhelpers/__init__.py. This way, charms will always get the bootstrap code and will find six and yaml available when it is needed (and I imagine this list of packages will expand over time)