Merge lp://staging/~dimitern/juju-core/041-provisioner-api-calls into lp://staging/~juju/juju-core/trunk
Status: | Rejected |
---|---|
Rejected by: | Dimiter Naydenov |
Proposed branch: | lp://staging/~dimitern/juju-core/041-provisioner-api-calls |
Merge into: | lp://staging/~juju/juju-core/trunk |
Diff against target: |
1624 lines (+1084/-133) 4 files modified
state/api/apiclient.go (+309/-47) state/api/params/params.go (+51/-0) state/apiserver/api_test.go (+483/-76) state/apiserver/apiserver.go (+241/-10) |
To merge this branch: | bzr merge lp://staging/~dimitern/juju-core/041-provisioner-api-calls |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Juju Engineering | Pending | ||
Review via email: mp+165566@code.staging.launchpad.net |
Description of the change
state/api: Implement provisioner API calls
This adds more API objects and calls, as needed by
the provisioner:
* LifecycleWatcher
* EnvironConfigWa
* All client-side watchers were refactored to reduce
code duplication and make adding new ones and also
maintaining them much easier.
* State object at top-level (like Machine, Unit, Client).
* State.AllMachines
* State.WatchMachines - using LifecycleWatcher
* State.WatchEnvi
* Machine.Series
* Machine.Remove
* Machine.Status
* Machine.
* Machine.
* Machine.Constraints
Calling Machine.EnsureDead now allowed for both owning
agents and the environment manager.
Most restrictive permission checks implemented for
Machine.
.SetMongoPassword (environment manager only allowed).
For some of them we might relax the restriction in
the future, as needed, so the owning agent can also
call them.
Reviewers: mp+165566_ code.launchpad. net,
Message:
Please take a look.
Description:
state/api: Implement provisioner API calls
This adds more API objects and calls, as needed by tcher ronConfig - using EnvironConfigWa tcher SetProvisioned SetMongoPasswor d
the provisioner:
* LifecycleWatcher
* EnvironConfigWa
* All client-side watchers were refactored to reduce
code duplication and make adding new ones and also
maintaining them much easier.
* State object at top-level (like Machine, Unit, Client).
* State.AllMachines
* State.WatchMachines - using LifecycleWatcher
* State.WatchEnvi
* Machine.Series
* Machine.Remove
* Machine.Status
* Machine.
* Machine.
* Machine.Constraints
Calling Machine.EnsureDead now allowed for both owning
agents and the environment manager.
Most restrictive permission checks implemented for Constraints, .Status, .SetProvisioned and
Machine.
.SetMongoPassword (environment manager only allowed).
For some of them we might relax the restriction in
the future, as needed, so the owning agent can also
call them.
https:/ /code.launchpad .net/~dimitern/ juju-core/ 041-provisioner -api-calls/ +merge/ 165566
(do not edit description out of merge proposal)
Please review this at https:/ /codereview. appspot. com/9721043/
Affected files: apiclient. go params/ params. go /api_test. go /apiserver. go
A [revision details]
M state/api/
M state/api/
M state/apiserver
M state/apiserver