DescriptionAdd putcharm support to the GUI server.
Implement a proxy handler propagating requests/responses from
the GUI to the real juju-core HTTPS endpoint.
Tests: `make unittest`.
QA:
QA must be done using juju-core trunk.
I used revno 2265 for the following.
1) Bootstrap a juju environment, deploy the GUI charm
and get the latest GUI sources:
juju bootstrap
make deploy
juju set juju-gui juju-gui-source="https://github.com/juju/juju-gui.git"
2) wait for the GUI to be ready
(using `juju debug-log` or `tailf ~/.juju/local/log/unit-juju-gui-0.log`
if you bootstrapped a local environment).
This step takes a while.
3) Open the GUI with Chrome and log in. Open the network tab of the
Chrome JavaScript console and refresh.
4) In the terminal, open and observe the GUI server logs:
juju ssh juju-gui/0 sudo tailf /var/log/upstart/guiserver.log
5) Drag and drop a zipped archive of a local charm.
Charm files (e.g. metadata.yaml) must be on the zip root.
You can use an haproxy archive I used for tests:
it is available in http://ubuntuone.com/3FRDrcjSECyHp3xLmMIZLY
At this point you should see a 200 response in the gui server logs,
and a notification in the GUI itself.
Moreover, if you inspect the request from the JavaScript console,
you should see a response including info about the charm you
just uploaded: if you used haproxy, you should see
{"CharmURL":"local:precise/haproxy-0"}.
Done!. If you want additional fun, you can now try to
execute the following in the Chrome console:
app.env.deploy('local:precise/haproxy-0', 'myservice', null, null, 1)
Replace "local:precise/haproxy-0" with the charm URL you used.
In a couple of seconds you should see the "myservice" box appearing
in a pending state. Congratulations, you deployed a local
charm from the GUI! :-)
6) Destroy the environment.
https://code.launchpad.net/~frankban/charms/precise/juju-gui/http-proxy/+merge/203612
(do not edit description out of merge proposal)
Patch Set 1 #
Total comments: 8
Patch Set 2 : Add putcharm support to the GUI server. #
MessagesTotal messages: 6
|