Missing yaml import for charmhelpers on Xenial?
Stuart Bishop
stuart.bishop at canonical.com
Sat Jul 2 12:27:55 UTC 2016
On 2 July 2016 at 03:06, Pete Vander Giessen
<pete.vandergiessen at canonical.com> wrote:
> I wrote:
>> I think that I figured this one out. charmhelpers does have PyYAML and six
>> as dependencies, but the mariadb charm was deploying its own, probably out
>> of date version of charmhelpers. Telling it to install charmhelpers through
>> the juju tools, rather than stuff them into its own source tree should help
>> a lot ...
>
> ... but that was before I did my homework. I understand better now how
> charmhelpers gets integrated into non layered charms, and I see why it's
> bypassing its own setup.py file, and making it tricky to install the missing
> stuff, outside of a supplemental bash script. Hmmm ...
If you resync charm-helpers with an up to date version you should be
right. charm-helpers
bootstraps the dependencies itself (see the ImportError exception
handlers in charmhelpers/__init__.py).
This makefile stanza is the 'standard' way of resyncing charmhelpers:
sync:
@bzr cat \
lp:charm-helpers/tools/charm_helpers_sync/charm_helpers_sync.py \
> .charm_helpers_sync.py
@python .charm_helpers_sync.py -c charm-helpers.yaml
And you need a charm-helpers.yaml desribing the bits that need
embedding in your charm, like the following:
destination: hooks/charmhelpers
branch: lp:charm-helpers
include:
- coordinator
- core
- fetch
- contrib.charmsupport
- contrib.templating.jinja
- contrib.network.ufw
- contrib.benchmark
(this is of course all superseded with charm-tools and reactive
charms, which handles dependencies better).
--
Stuart Bishop <stuart.bishop at canonical.com>
More information about the Juju
mailing list