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:
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)
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)