Merge lp:~doanac/uci-engine/lander-code-layout into lp:uci-engine
Status: | Merged |
---|---|
Approved by: | Andy Doan |
Approved revision: | 636 |
Merged at revision: | 658 |
Proposed branch: | lp:~doanac/uci-engine/lander-code-layout |
Merge into: | lp:uci-engine |
Diff against target: |
398 lines (+144/-74) 10 files modified
charms/precise/lander/charm-helpers.yaml (+1/-0) charms/precise/lander/config.yaml (+5/-10) charms/precise/lander/hooks/hooks.py (+78/-52) charms/precise/lander/unit_tests/test_hooks.py (+48/-1) ci-utils/ci_utils/amqp_utils.py (+4/-2) juju-deployer/configs/lander_http_vhost (+1/-1) juju-deployer/lander.yaml.tmpl (+2/-3) lander/bin/json_status_cgi.py (+2/-2) lander/lander/run_worker.py (+2/-2) testing/run_tests.py (+1/-1) |
To merge this branch: | bzr merge lp:~doanac/uci-engine/lander-code-layout |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
PS Jenkins bot (community) | continuous-integration | Approve | |
Francis Ginther | Approve | ||
Celso Providelo (community) | Approve | ||
Review via email: mp+225046@code.launchpad.net |
Commit message
lander charm: reorganize code layout and improve install logic
This does a couple of things that were hard to do piece by piece. The
change is a bit big but:
The main goal was getting our code to be in its own directory so it
can start to be treated like read-only. We have an idea in the future
of code rollbacks, so this fits in with that model. This now deploys
code to:
/srv/<
and we maintain a symlink to the latest code with:
/srv/
While doing this I got rid of all the bzr-branch logic we no longer
use. This reduces complexity.
I'll also converted our tarball logic to use charmhelpers.fetch.
While changing so much, I also decided to improve our code-extraction
logic by moving it to our config-changed logic. This means that
we now have the ability to update code by just changing the payload
value of the service.
Description of the change
I originally worked on this for the restish-charm. However, thomi is landing an MP that would be broken by this:
https:/
While waiting, I copied the logic from that MP to give us the same ability in the lander.
This gives us the ability to update/change code for a service with simple "juju set" commands.
ev - has created an asana task that would expand upon this allowing specific units to be at specific code levels. In the interest of a somewhat readable MP, I'd like to do that as follow-up work on this.
PASSED: Continuous integration, rev:633 s-jenkins. ubuntu- ci:8080/ job/uci- engine- ci/969/
http://
Executed test runs:
Click here to trigger a rebuild: s-jenkins. ubuntu- ci:8080/ job/uci- engine- ci/969/ rebuild
http://