lp:~fwereade/pyjuju/shadow-trunk-1204
- Get this branch:
- bzr branch lp:~fwereade/pyjuju/shadow-trunk-1204
Branch merges
- Juju Engineering: Pending requested
-
Diff: 7373 lines (+2733/-1538)97 files modifieddocs/source/internals/constraints-notes.rst (+78/-0)
juju/agents/provision.py (+3/-2)
juju/agents/tests/common.py (+3/-19)
juju/agents/tests/test_machine.py (+6/-14)
juju/agents/tests/test_provision.py (+33/-48)
juju/control/__init__.py (+2/-0)
juju/control/add_unit.py (+6/-1)
juju/control/bootstrap.py (+16/-2)
juju/control/constraints_get.py (+75/-0)
juju/control/constraints_set.py (+41/-28)
juju/control/deploy.py (+13/-18)
juju/control/initialize.py (+7/-1)
juju/control/legacy.py (+41/-0)
juju/control/terminate_machine.py (+2/-0)
juju/control/tests/test_add_relation.py (+0/-7)
juju/control/tests/test_add_unit.py (+44/-9)
juju/control/tests/test_bootstrap.py (+33/-14)
juju/control/tests/test_config_get.py (+0/-4)
juju/control/tests/test_config_set.py (+0/-4)
juju/control/tests/test_constraints_get.py (+116/-0)
juju/control/tests/test_constraints_set.py (+28/-17)
juju/control/tests/test_control.py (+5/-10)
juju/control/tests/test_debug_hooks.py (+0/-9)
juju/control/tests/test_debug_log.py (+1/-7)
juju/control/tests/test_deploy.py (+66/-7)
juju/control/tests/test_destroy_service.py (+0/-5)
juju/control/tests/test_initialize.py (+26/-3)
juju/control/tests/test_remove_unit.py (+0/-6)
juju/control/tests/test_resolved.py (+0/-6)
juju/control/tests/test_scp.py (+2/-20)
juju/control/tests/test_ssh.py (+0/-16)
juju/control/tests/test_status.py (+0/-8)
juju/control/tests/test_terminate_machine.py (+9/-7)
juju/control/tests/test_upgrade_charm.py (+0/-10)
juju/control/tests/test_utils.py (+0/-6)
juju/control/utils.py (+27/-0)
juju/environment/config.py (+49/-55)
juju/environment/tests/test_config.py (+93/-12)
juju/hooks/tests/test_invoker.py (+7/-2)
juju/machine/constraints.py (+241/-252)
juju/machine/tests/test_constraints.py (+284/-243)
juju/machine/unit.py (+0/-1)
juju/providers/common/base.py (+17/-8)
juju/providers/common/bootstrap.py (+8/-2)
juju/providers/common/cloudinit.py (+15/-2)
juju/providers/common/launch.py (+23/-3)
juju/providers/common/tests/data/cloud_init_bootstrap (+2/-2)
juju/providers/common/tests/data/cloud_init_bootstrap_zookeepers (+2/-2)
juju/providers/common/tests/data/cloud_init_distro (+4/-3)
juju/providers/common/tests/data/cloud_init_ppa (+4/-3)
juju/providers/common/tests/test_base.py (+4/-0)
juju/providers/common/tests/test_bootstrap.py (+27/-12)
juju/providers/common/tests/test_cloudinit.py (+4/-1)
juju/providers/common/tests/test_launch.py (+56/-35)
juju/providers/dummy.py (+10/-1)
juju/providers/ec2/__init__.py (+28/-9)
juju/providers/ec2/launch.py (+10/-6)
juju/providers/ec2/tests/common.py (+15/-11)
juju/providers/ec2/tests/data/bootstrap_cloud_init (+4/-4)
juju/providers/ec2/tests/test_bootstrap.py (+32/-36)
juju/providers/ec2/tests/test_launch.py (+103/-79)
juju/providers/ec2/tests/test_provider.py (+89/-1)
juju/providers/ec2/tests/test_utils.py (+173/-70)
juju/providers/ec2/utils.py (+122/-47)
juju/providers/local/__init__.py (+3/-2)
juju/providers/local/tests/test_provider.py (+7/-4)
juju/providers/maas/launch.py (+1/-1)
juju/providers/maas/maas.py (+5/-1)
juju/providers/maas/provider.py (+17/-7)
juju/providers/maas/tests/test_launch.py (+38/-5)
juju/providers/maas/tests/test_maas.py (+38/-1)
juju/providers/maas/tests/test_provider.py (+39/-1)
juju/providers/maas/tests/testing.py (+8/-1)
juju/providers/orchestra/__init__.py (+12/-6)
juju/providers/orchestra/cobbler.py (+17/-7)
juju/providers/orchestra/launch.py (+2/-1)
juju/providers/orchestra/tests/common.py (+7/-4)
juju/providers/orchestra/tests/data/bootstrap_user_data (+3/-2)
juju/providers/orchestra/tests/test_bootstrap.py (+23/-14)
juju/providers/orchestra/tests/test_cobbler.py (+22/-19)
juju/providers/orchestra/tests/test_launch.py (+29/-10)
juju/providers/orchestra/tests/test_provider.py (+32/-0)
juju/providers/tests/test_dummy.py (+3/-3)
juju/state/environment.py (+41/-18)
juju/state/initialize.py (+19/-24)
juju/state/machine.py (+9/-5)
juju/state/service.py (+55/-19)
juju/state/tests/common.py (+2/-2)
juju/state/tests/test_environment.py (+49/-44)
juju/state/tests/test_firewall.py (+5/-23)
juju/state/tests/test_initialize.py (+35/-16)
juju/state/tests/test_machine.py (+17/-4)
juju/state/tests/test_placement.py (+9/-10)
juju/state/tests/test_relation.py (+5/-8)
juju/state/tests/test_service.py (+65/-20)
juju/unit/tests/test_charm.py (+2/-26)
juju/unit/tests/test_deploy.py (+5/-20)
Branch information
Recent revisions
- 515. By William Reade
-
All actions which require remote environment state now sync it
add-unit had lost it somewhere in the pipeline due to expectation of syncing
being retired; terminate-machine never had it; deploy and
[gs]et-constraints' tests slightly improved.R=hazmat
CC=
https://codereview. appspot. com/5957044 - 514. By William Reade
-
ConstraintSet.parse now logs on ignored constraints
R=hazmat
CC=
https://codereview. appspot. com/5956044 - 513. By William Reade
-
Block set-constraints, and deploy --constraints, in legacy deployments
R=hazmat
CC=
https://codereview. appspot. com/5952045 - 512. By William Reade
-
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:
* EnvironmentStat
eManager 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 - 511. By William Reade
-
Small fixes:
* Private EC2 clouds no longer expose constraints
* deploy/add-unit no longer pointlessly warn about legacy keys which remain
necessary in legacy environmentsR=hazmat
CC=
https://codereview. appspot. com/5933058 - 510. By William Reade
-
Implement maas-name constraint
Descended from lp:~julian-edwards/juju/name-constraints; but uses new-style
constraints registration.Also uses a custom ubuntu-series constraint to forbid use of charms written
for systems we can't yet provision with MAAS.R=allenap, hazmat
CC=
https://codereview. appspot. com/5938050 - 509. By William Reade
-
Add get-constraints command
Takes any number of machine names, service names, and unit names; outputs
yaml-formatted dict of name:constraints (showing the full computed
constraints dict for each entity).R=hazmat
CC=
https://codereview. appspot. com/5935047 - 508. By William Reade
-
Providers are now directly responsible for their own constraints
This is really just a rearrangement of code; nothing fundamental has
actually changed, except that Constraints.from_strs is entirely gone; and
trying to construct Constraints(None, data) will no longer produce a viable
specimen.R=hazmat
CC=
https://codereview. appspot. com/5939046 - 507. By William Reade
-
Remove most remaining direct uses of Constraints
The contents of constraint_test will soon scatter amongst the providers;
leaving them in as verification for now.R=hazmat
CC=
https://codereview. appspot. com/5933050
Branch metadata
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)
- Stacked on:
- lp:pyjuju