lp:~bac/juju-quickstart/local-error-osx

Created by Brad Crittenden and last modified
Get this branch:
bzr branch lp:~bac/juju-quickstart/local-error-osx
Only Brad Crittenden can upload to this branch. If you are Brad Crittenden please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Brad Crittenden
Project:
juju-quickstart
Status:
Merged

Recent revisions

75. By Brad Crittenden

Test for local environment request on host where lxc isn't supported.

74. By Francesco Banconi

Move websocket-client to test-requirements.pip.

R=
CC=
https://codereview.appspot.com/105820045

73. By Francesco Banconi

Bump version up for release 1.3.3.

R=
CC=
https://codereview.appspot.com/102190043

72. By Brad Crittenden

Make juju-quickstart websockets use TLSv1.

On OS X by default websockets try to use SSLv2 first. The juju-gui server
rejects the attempt and they do not renogiate a shared protocol, resulting in
a handshake failure.

The least invasive and most secure solution is to create a websocket that is
forced to use TLSv1.

R=redir
CC=
https://codereview.appspot.com/105810043

71. By Brad Crittenden

Reorganize platform settings.

The first cut of the platform work was a bit unclean with respect to the
dividing lines between the quickstart app code and the parts that can be
re-used as a library. This branch moves things around to re-attain that
separation.

R=redir
CC=
https://codereview.appspot.com/101980050

70. By Brad Crittenden

Include installation steps for OS X.

A slight re-factoring was done to move platform-specific steps from app.py to
platform_support.py.

The redefinition of JUJU_CMD is a known problem and a refactoring branch
will be forthcoming.

R=frankban
CC=
https://codereview.appspot.com/102870043

69. By Francesco Banconi

Fix quickstart test failing on osx.

R=
CC=
https://codereview.appspot.com/101970044

68. By Brad Crittenden

Add a function for determing OS flavor.

Determines OS and then for the case of Linuxes, determines whether the
system uses apt-get or RPM.

R=frankban
CC=
https://codereview.appspot.com/99410054

67. By Francesco Banconi

Check unicode support.

Ensure utf-8 is supported before starting
the Urwid interactive session.
This way we hope to avoid bad crashes
when the user has locale configuration problems.

Tests: `make check`.

QA:
If you have juju-quickstart installed, you should
be able to make it crash by overriding all the language
env vars, like the following:
`LC_ALL=C juju-quickstart -i`
You should see a UnicodeEncodeError:
'ascii' codec can't encode character u'\u2582' in position 0:
ordinal not in range(128)

With this branch, the following should instead work as usual:
`LC_ALL=C .venv/bin/python juju-quickstart -i`.

I am not sure how to make Urwid fail so that we can QA
the system exit in the code, but at least that code path
is tested.

R=rharding
CC=
https://codereview.appspot.com/90740043

66. By Francesco Banconi

Support trusty environments.

Add the ability to deploy the trusty charm.
Introduced the concept of multiple supported
series for the Juju GUI charm.

Split the app.deploy_gui function in two
separate function:
- check_environment inspects the environment
  and returns the data required to deploy the GUI;
- deploy_gui's only responsibility is to
  return when the GUI service is deployed/exposed
  and the unit created.

Include the default-series field in the auto-generated
local environment. This is the environment that
quickstart offers to automatically create when no other
environments are found.

Also propose "trusty" as the default series when manually
creating new environments.

Bump version up: while this branch
incidentally fixes bug 1306537 [1],
the ability to deploy the GUI on trusty
can be considered a new feature.

My apologies for the long diff.

Tests: `make check`.

QA:
Use quickstart like the following:
  `.venv/bin/python juju-quickstart [-i]`.

You should be able to deploy the trusty GUI charm.

If you are on trusty, the trusty charm should be deployed
when the default-series field is missing.
This must be tested also using the local provider, in which case
Juju is currently not able to deploy precise charms when the
bootstrap node is trusty (bug 1306537).

In general quickstart should deploy the charm series corresponding
to the bootstrap node series: so on trusty environments the trusty
charm should be installed, on precise environments the precise one.

This way, at least when the bootstrap node series is precise or trusty,
quickstart is able to add the GUI unit to machine 0. You can test it
using, e.g. an ec2 environment.

This is true also when providing a custom charm URL, e.g.:
  `.venv/bin/python juju-quickstart --gui-charm-url cs:~juju-gui/trusty/juju-gui-1`

In all the other cases, quickstart uses the trusty charm. You can test this
by using quickstart with an ec2 environment having "default-series: saucy":
a trusty GUI should be deployed on machine 1.

Two final checks:
- try to create a new environment with quickstart: the default-series
  field should be pre-filled with "trusty";
- move temporarily your environments.yaml somewhere else, and let quickstart
  auto-generate a local environment for you: the deployment process should
  succeed and the environment should include the "trusty" default series.

Thanks a lot for all of this, and sorry for the long QA: this is going to
be released in trusty, so your efforts are really appreciated!

[1] https://bugs.launchpad.net/juju-core/+bug/1306537

R=
CC=
https://codereview.appspot.com/90570044

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:juju-quickstart
This branch contains Public information 
Everyone can see this information.

Subscribers