131
|
|
|
Gary Poster |
10 years ago
|
|
|
130
|
|
|
Francesco Banconi |
10 years ago
|
|
|
129
|
|
|
Gary Poster |
10 years ago
|
|
|
128
|
|
|
Gary Poster |
10 years ago
|
|
|
127
|
|
Fix base Python dependencies.
The install hook imported charmhelpers before installing python-yaml, and charmhelpers imports from yaml.
This very old bug has been hidden by the fact that python-yaml is automatically installed in ec2/lxc instances, but showed itself when using the manual provider.
Copy/pasting and integrating the QA from my last branch, a double check can help before the release. QA: - Bootstrap a Juju environment with --debug. - Deploy and expose the GUI (make deploy). - Check juju debug-log (or less ~/.juju/local/log/unit-juju-gui-0.log if you used lxc): you should see the following message at the beginning of the install hook log: "Installing base Python dependencies: python-apt, python-launchpadlib, python-tempita, python-yaml." - Wait for the GUI to be ready/started. - Deploy this bundle: http://pastebin.ubuntu.com/6411548/ - Check everything is ok, xy annotations work ( the services are vertically aligned), wordpress has customized constraints, mysql customized options and two units. - No try to deploy the same bundle again, you will see a "services already there" kind of error.
R=gary.poster CC= https://codereview.appspot.com/26190043
|
Francesco Banconi |
10 years ago
|
|
|
126
|
|
|
Francesco Banconi |
10 years ago
|
|
|
125
|
|
|
Brad Crittenden |
10 years ago
|
|
|
124
|
|
|
Rick Harding |
10 years ago
|
|
|
123
|
|
|
Rick Harding |
10 years ago
|
|
|
122
|
|
|
Francesco Banconi |
10 years ago
|
|
|
121
|
|
Fix deployer integration.
Fix the deployer error when the bundle includes services with constraints.
Updated the deployer dependency. The new tarball is generated from lp:~frankban/juju-deployer/guienv-fixes I will take care of proposing that branch later, however, the diff can be found here: http://pastebin.ubuntu.com/6376113/
This branch includes the work Benji did for fixing this issue.
TODO: but these are not release blockers IMHO: - improve the way we handle the set up of testing/production environments (as Rick suggested); - improve the GUI server bundle validation, e.g. disallow the deployment of local charms, or better check that the YAML structure is what we expect; - investigate and fix the bundle deployment error handling: why errors in the deployer process are not propagated? Why concurrent.futures explodes with an error while trying to set up the exception to be propagated in the Future? This is important because right now an error in the deployer is not notified, so the deployment is forever considered in progress and all the other deployments will be just queued... Actually this is "almost" a release blocker.
Tests: make unittest
QA: I used this bundle: http://pastebin.ubuntu.com/6376098/ to live test the branch. Bootstrap a juju environment, run `make deploy` and then switch the gui source to lp:juju-gui. When everything is ready, try to deploy a bundle which includes num_units != 1, customized config and constraints. Check the bundle is deployed correctly and the resulting services have the defined number of units, options and constraints. Now try to deploy a bundle with invalid constraints: right after the drag and drop, the GUI should notify an invalid constraints error.
R=rharding, benji CC= https://codereview.appspot.com/22810043
|
Francesco Banconi |
10 years ago
|
|
|
120
|
|
|
Matthew Scott |
10 years ago
|
|
|
119
|
|
|
Matthew Scott |
10 years ago
|
|
|
118
|
|
|
Francesco Banconi |
10 years ago
|
|
|
117
|
|
|
Gary Poster |
10 years ago
|
|
|
116
|
|
|
Francesco Banconi |
10 years ago
|
|
|
115
|
|
|
Francesco Banconi |
10 years ago
|
|
|
114
|
|
Avoid installing from PPA if not required.
No longer add the juju-gui PPA by default: the external repository is added only if required, i.e. if the legacy server is used or if a branch is passed to juju-gui-source.
The only missing bit to make the charm work well from behind a firewall AFAICT is avoiding the release to be downloaded from Launchpad.
Also included the shelltoolbox file in the charm: unfortunately the python-shelltoolbox package is not available on precise. On the other hand, this allows for getting rid of the bootstrap_utils.py file, and the install hook now feels cleaner.
Refactoring + some magic removal on the backend framework. Now it should be less surprising, and also allows for more customizations, e.g. what I did in the install method.
Also added missing tests for the backend framework: those were required in order to increase our control over what's really happening in the backend "hooks".
Switched to the builtin Tornado server by default.
This diff is very big, I am sorry, but: - you can ignore the bootstrap_utils removal; - you can ignore the shelltoolbox.py file: it is just a copy of the one present in the raring python-shelltoolbox package; - a lot of code is tests, the rest of the code should be quite easy to follow.
QA: `make deploy` and watch the logs: - no PPA should be installed by default; - the deployment succeeds and the GUI works well; switch to builtin-server=false and watch the logs: - the PPA is installed (and then haproxy, apache...); - the config-change hook exits without errors and the GUI works well.
Tests: `make unittest` (I ran the functional tests myself).
Thank you!
R=gary.poster, rharding CC= https://codereview.appspot.com/14433049
|
Francesco Banconi |
10 years ago
|
|
|
113
|
|
|
Francesco Banconi |
10 years ago
|
|
|
112
|
|
|
Gary Poster |
10 years ago
|
|
|