Merge lp://staging/~vila/ubuntu-ci-services-itself/protect-charms into lp://staging/ubuntu-ci-services-itself
Status: | Merged |
---|---|
Approved by: | Vincent Ladeuil |
Approved revision: | 238 |
Merged at revision: | 239 |
Proposed branch: | lp://staging/~vila/ubuntu-ci-services-itself/protect-charms |
Merge into: | lp://staging/ubuntu-ci-services-itself |
Diff against target: |
43 lines (+9/-3) 2 files modified
juju-deployer/deploy.py (+6/-2) juju-deployer/test_deploy.py (+3/-1) |
To merge this branch: | bzr merge lp://staging/~vila/ubuntu-ci-services-itself/protect-charms |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Andy Doan (community) | Approve | ||
PS Jenkins bot (community) | continuous-integration | Needs Fixing | |
Review via email: mp+206259@code.staging.launchpad.net |
Commit message
Fix nasty edge case for charm protection in build_charms.
Description of the change
There is a nasty bug I've run into a couple of times before realizing it wasn't caused by a user error.
Here is how to reproduce (assuming a boostrapped juju node for faster
reproduction):
$ mkdir -p charms/precise/a
$ echo 'fail' > charms/
$ ./tests/run.py
$ bzr st
OMG !
This has been discussed on IRC with Andy and we agree on the diagnostic, if
a charm Makefile is bogus, this interrupt the collection of the charms to
protect, so at cleanup time, we don't know they have to be protected.
The fix is defensive, pre-load the charms to protect our charms (the code
was already taking care of duplicates by using sets).
We can revisit that if we need to update that list too often.
FAILED: Continuous integration, rev:238 /code.launchpad .net/~vila/ ubuntu- ci-services- itself/ protect- charms/ +merge/ 206259/ +edit-commit- message
No commit message was specified in the merge proposal. Click on the following link and set the commit message (if you want a jenkins rebuild you need to trigger it yourself):
https:/
http:// s-jenkins. ubuntu- ci:8080/ job/uci- engine- ci/151/
Executed test runs:
Click here to trigger a rebuild: s-jenkins. ubuntu- ci:8080/ job/uci- engine- ci/151/ rebuild
http://