`charm` path defined tests/bundles/<bundle>.yaml enforces outer directory name
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Ceph OSD Charm |
Triaged
|
Low
|
Unassigned |
Bug Description
Functional test bundles in tests/bundles/
excerpt from bionic-queens.yaml:
series: bionic
applications:
ceph-osd:
charm: ../../../ceph-osd
This means that if outer directory of ceph-osd code is not called 'ceph-osd' the functional tests will fail/hang with message:
2020-10-08 14:26:17 [INFO] ERROR cannot deploy bundle: the provided bundle has the following errors:
2020-10-08 14:26:17 [INFO] charm path in application "ceph-osd" does not exist: /home/ubuntu/
Steps to reproduce:
* clone ceph-osd charm repository https:/
* cd ./charm-ceph-osd
* tox -e func
* functional tests will hang with the error above
Proposal: rather than going 3x up, and then back into `ceph-osd/`, can't we just go 2x up ?
I think this is done this way so that it works as well with reactive charms, i.e. charms that require to be built with 'tox -e build'. In this case the built charm ends up in build/... and the path "3 levels up, one level down" also magically works there.
I agree that this is a problem with at least all classic charms as the git repo name is different from the charm name and this hits every single new joiner.