Code review comment for lp:~frankban/juju-quickstart/maas-address

Revision history for this message
Francesco Banconi (frankban) wrote :

Reviewers: mp+241263_code.launchpad.net,

Message:
Please take a look.

Description:
Unit address from the machines watcher only

Only use the mega-watcher for machines to retrieve
the Juju GUI unit address.
This change has several consequences:
- it allows us to apply some logic on how the
   right address is chosen. For instance, now
   we try to resolve public hostnames before
   proceeding, and this should fix the cases
   where a cloud dns is not configured on the
   machine running quickstart. This is the case
   of many maas environments;
- it simplifies parsing the mega-watcher changes;
- more importantly, it breaks compatibility
   with very old versions of juju (<1.18), in which
   the mega-watcher for machines did not include
   machine addresses.

For this reason, quickstart now explicitly
drops support for juju < 1.18.1
(1.18.1 is the version on trusty universe).

This also allows for removing some version
checks in the code, including sudo handling when
calling bootstrap on local envs, several special
cases on the watcher side, and other oddities.

For the reasons above, I bumped the quickstart
version up to 1.5.0.

PS: my apologies for the long diff, hope the code
is still easy to follow. Sorry.

Tests: `make check`

QA:
run quickstart as usual, on local and cloud envs,
check it works properly when run again, etc.
this branch has been already successfully QAed in
a maas environment by Adam (Landscape team).

https://code.launchpad.net/~frankban/juju-quickstart/maas-address/+merge/241263

(do not edit description out of merge proposal)

Please review this at https://codereview.appspot.com/174790043/

Affected files (+334, -433 lines):
   M README.rst
   A [revision details]
   M quickstart/__init__.py
   M quickstart/app.py
   M quickstart/manage.py
   M quickstart/settings.py
   M quickstart/tests/helpers.py
   M quickstart/tests/test_app.py
   M quickstart/tests/test_manage.py
   M quickstart/tests/test_utils.py
   M quickstart/tests/test_watchers.py
   M quickstart/utils.py
   M quickstart/watchers.py

« Back to merge proposal