Code review comment for lp:~fwereade/pyjuju/env-constraints

Revision history for this message
William Reade (fwereade) wrote :

*** Submitted:

Implement environment constraints

In user-visible terms:

* bootstrap now accepts --constraints;
* set-constraints now works without --service;
* get-constraints now accepts empty args and outputs env constraints.

In developer terms:

* EnvironmentStateManager has new methods for get/set constraints;
* A new /constraints node is used to store environment constraints (if
you
   can think of a better way to do this, bearing in mind that we can't
create
   /environment until we've got data for the PA in there, please tell
me);
* MachineProvider.bootstrap now requires a Constraints;
* CloudInit now needs a Constraints when setting up a master;
* juju-admin initialize now accept --constraints-data;
* get-constraints and set-constraints take an apparent long way round to
   construct their constraints (they sync environents.yaml so that a
provider
   can be created from it by EnvironmentStateManager -- but ESM is used
   internally in a number of places, and the fact that we have a provider
   already available at the juju.control level is not so helpful);
* an awful lot of the diff is tedious test fixing in juju.providers.

R=hazmat
CC=
https://codereview.appspot.com/5957043

https://codereview.appspot.com/5957043/

« Back to merge proposal