24
|
|
|
Francesco Banconi |
10 years ago
|
|
|
23
|
|
|
Gary Poster |
10 years ago
|
|
|
22
|
|
Install missing packages for add-apt-repository.
Also use absolute paths to commands executed with sudo privileges.
Tests: `make check`
QA:
1) Create a saucy LXC sharing your home directory, e.g. `sudo lxc-create -t ubuntu -n quickstart -f <MY-TEMPLATE> \ -- -r saucy -a amd64 -b $USER` where "quickstart" is the name of the container, "-r" is used to specify the release to use, "-b" binds the home directory of the specified user, and <MY-TEMPLATE> is a file with the following contents: lxc.network.type=veth lxc.network.link=lxcbr0 lxc.network.flags=up I assume you already have: - a juju home containing the environments.yaml file configured with an "ec2" ec2 environment; - your ssh keys properly set up; - run the tests with `make check` as described above. So at this point the container does not have juju installed, but the juju home and ssh keys are available, and so the branch with a configured testing virtualenv. We already have cards for environment creation and ssh keys handling. 2) Start the LXC instance (`sudo lxc-start -n quickstart`). 3) Open a console inside the LXC with `sudo lxc-console -n quickstart`, log in using your user credentials, and cd into the directory where you checked out this branch. 4) Run `.venv/bin/python juju-quickstart -e ec2 --no-browser`. You should be asked the sudo password in order to add the missing PPA and install juju-core and lxc. Note that installing the packages can take some minutes. The process will then proceed as usual. 5) Run `.venv/bin/python juju-quickstart -e ec2 --no-browser` again: this time no packages installation should be required, and quickstart just reuses the existing environment. 6) From the host, stop and destroy the LXC container: `sudo lxc-stop -n quickstart` and `sudo lxc-destroy -n quickstart`. 7) Destroy your ec2 environment.
Thank you!
R=bac, rharding CC= https://codereview.appspot.com/32760043
|
Francesco Banconi |
10 years ago
|
|
|
21
|
|
|
Francesco Banconi |
10 years ago
|
|
|
20
|
|
|
Francesco Banconi |
10 years ago
|
|
|
19
|
|
|
Brad Crittenden |
10 years ago
|
|
|
18
|
|
|
Francesco Banconi |
10 years ago
|
|
|
17
|
|
|
Brad Crittenden |
10 years ago
|
|
|
16
|
|
|
Francesco Banconi |
10 years ago
|
|
|
15
|
|
Make quickstart idempotent.
- do not bootstrap an environment if already bootstrapped; - do not deploy the GUI if already there.
Sorry, the diff is long, but there are a lot of tests.
Tests: make check
QA: - .venv/bin/python juju-quickstart -e ec2 and ensure the GUI is correctly deployed;
- .venv/bin/python juju-quickstart -e ec2 again, to check it recognizes that env is already bootstrapped and the GUI unit is already there;
In the following steps, sometimes the browser can get confused about certs, wss conections etc. If the GUI is not loading correctly, try harder, use incognito mode, change the browser.
- juju destroy-service -e ec2 juju-gui; - .venv/bin/python juju-quickstart -e ec2 again, to check the service and the unit are correctly re-deployed;
Incidentally the step above, in the case it succeeds, also demonstrates that the GUI can safely be redeployed in the same machine: I wasn't sure about this and this means we are cleaning up things correctly in our charm, yay!
- juju unexpose -e ec2 juju-gui; - .venv/bin/python juju-quickstart -e ec2 again, to check that the service is properly re-exposed;
- juju destroy-unit -e ec2 juju-gui/0; - .venv/bin/python juju-quickstart -e ec2 again, to check that the unit is re-added on the existing service (this time it should be named juju-gui/1);
- juju destroy-service -e ec2 juju-gui; - juju deploy -e ec2 juju-gui (if juju exits with a "service already exists" error, retry after a while); - .venv/bin/python juju-quickstart -e ec2 \ bundle:~jorge/mediawiki-simple/4/mediawiki-simple; The last command, executed right after juju-deploy should also demonstrates that incidentally quickstart can also be used to watch an already running deployment, and that a bundle can still be deployed;
Final check: - .venv/bin/python juju-quickstart -e ec2; just to ensure quickstart is not surprised that the unit is not in the bootstrap node (i.e. you should see "juju-gui/0 is ready on machine 1").
Thanks a lot for testing all of this. I added a card to automate the QA above with a collection of functional tests.
Remember to destroy your ec2 environment.
R=gary.poster, rharding CC= https://codereview.appspot.com/28250044
|
Francesco Banconi |
10 years ago
|
|
|
14
|
|
|
Francesco Banconi |
10 years ago
|
|
|
13
|
|
|
Francesco Banconi |
10 years ago
|
|
|
12
|
|
|
Matthew Scott |
10 years ago
|
|
|
11
|
|
|
Francesco Banconi |
10 years ago
|
|
|
10
|
|
|
Francesco Banconi |
10 years ago
|
|
|
9
|
|
|
Francesco Banconi |
10 years ago
|
|
|
8
|
|
|
Francesco Banconi |
10 years ago
|
|
|
7
|
|
|
Francesco Banconi |
10 years ago
|
|
|
6
|
|
|
Francesco Banconi |
10 years ago
|
|
|
5
|
|
|
Francesco Banconi |
10 years ago
|
|
|