canonical/layer-basic

charmhelpers in wheelhouse of multiple charms on a unit can cause unintended charmhelpers version alignment

afreiberger opened this issue · 1 comments

When investigating https://bugs.launchpad.net/charm-ceph-osd/+bug/1814995 it was discovered that the cs:ubuntu charm uses wheelhouse to distribute charmhelpers-0.18.x which is incompatible with openstack-charms at rev 19.04 which expect charmhelpers-0.19.x which are packed manually into the charm agent directory without the use of wheelhouse.

We need to solve for the case where multiple charms installed on a host (whether principal or subordinate) utilizing the same version of python don't end up overriding the pip-installed version of charmhelpers (or other wheelhouse packed dependencies).

This is exactly why having use_venv set to true is strongly recommended for all reactive charms, and in fact has been the default for over a year. It looks like the Ubuntu charm hasn't been rebuilt / updated in quite some time, and the ceph-osd charm is non-reactive, meaning it would need to handle its own isolation / venv creation.

I'm going to close this issue, since the default experience should already account for this, but feel free to re-open if there is an aspect that I'm not considering. We should also see if we can get the ubuntu charm updated.