charm compose collides with libs when they are shared among layers
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Juju Charm Tools |
Fix Committed
|
Critical
|
Unassigned |
Bug Description
When building a charm from resulting compose layers that appear to have shared dependencies, composer fails w/ "library already exists"
http://
Relevent snippet from the above debug log:
utils: process: pip install -U --exists-action i -t /tmp/tmpmb9Jra charmhelpers>
Traceback (most recent call last):
File "/home/
load_
File "/home/
composer()
File "/home/
self.generate()
File "/home/
self.
File "/home/
tactic()
File "/home/
d.move(target)
File "/usr/lib/
raise Error, "Destination path '%s' already exists" % real_dst
shutil.Error: Destination path '/home/
This appears to be an issue with the default tactic colliding on a dependent file that is surfaced from the "base" layer and causes the composition to fail.
Related branches
- Tim Van Steenburgh (community): Approve
-
Diff: 130 lines (+28/-12)6 files modifiedcharmtools/compose/__init__.py (+1/-1)
charmtools/compose/tactics.py (+18/-8)
charmtools/fetchers.py (+6/-1)
tests/test_compose.py (+0/-2)
tests_functional/create/test_ansible_create.py (+1/-0)
tests_functional/create/test_python_create.py (+2/-0)
tags: | added: compose |
Changed in charm-tools: | |
importance: | Undecided → Critical |
milestone: | none → 1.6.2 |
status: | New → Triaged |
Changed in charm-tools: | |
status: | Triaged → Fix Committed |