Merge lp:~themue/juju-core/go-state-relation-endpoint-verification into lp:~juju/juju-core/trunk
Status: | Rejected |
---|---|
Rejected by: | Gustavo Niemeyer |
Proposed branch: | lp:~themue/juju-core/go-state-relation-endpoint-verification |
Merge into: | lp:~juju/juju-core/trunk |
Diff against target: |
120 lines (+57/-8) 3 files modified
state/relation.go (+21/-1) state/state.go (+11/-7) state/state_test.go (+25/-0) |
To merge this branch: | bzr merge lp:~themue/juju-core/go-state-relation-endpoint-verification |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
The Go Language Gophers | Pending | ||
Review via email: mp+109171@code.launchpad.net |
Description of the change
state: Improved verification of relation endpoints.
AddRelation() consists of several writings to ZooKeeper. Now
the whole verification is done before the writings start.
Unmerged revisions
- 214. By Frank Mueller
-
state: Improved verification of endpoint before relation is added.
- 213. By Roger Peppe
-
state: store units inside their respective services
Making this change simplifies a lot of code - no need
to keep a separate sequence numbering system for units,
for example.(original proposal at https:/
/codereview. appspot. com/6247066/) - 212. By Gustavo Niemeyer
-
.lbox: update to juju-core
- 211. By Gustavo Niemeyer
-
Translated all paths to use the juju-core project in Launchpad.
- 210. By Frank Mueller
-
state: Changed relation service mapping in topology.
The first approach mapped roles to service key and relation
name opposite to todays Python implementation. This reduces
the flexibility for future purposes (e.g. multiple peers).
So the mapping has now been changed back from service keys
to relation role and name. - 209. By Gustavo Niemeyer
-
state: rename Environment method to EnvironConfig
R=TheMue, fwereade
CC=
https://codereview. appspot. com/6295048 - 208. By William Reade
-
subordinate service units can now be added to principal service units
This entails the following changes:
* new Service.
AddUnitSubordin ateTo method, which requires a principal unit
* topology.AddUnit now takes an additional principalKey string argument,
which will be empty for a principal unit;
* new topology.UnitPrincipalKe y, which returns the principal unit key for a
subordinate unit or an error for a principal unit;
* new Unit.IsPrincipal method, which returns whether the unit is a principal
unit;
* checks to prevent subordinate units being assigned directly to machines.Most of the diff lines are a result of the change to topology.AddUnit;
sorry for the noise.R=TheMue, niemeyer
CC=
https://codereview. appspot. com/6268050 - 207. By Frank Mueller
-
state: Added the method RemoveRelation() to State.
Relation is now an interface defining the single
method relationKey() to allow a function signature
like today in Python. The implementation is now
named relation and can be accessed via type
assertion.R=niemeyer
CC=
https://codereview. appspot. com/6250076 - 206. By William Reade
-
trivial: fix inconsistency in deploy command documentation
- 205. By William Reade
-
add AssignmentPolicy to Environ
This is very likely to migrate to a Settings type at some stage, but I don't
think that's justified yet.R=niemeyer
CC=
https://codereview. appspot. com/6259062
LGTM, although i'm sure i don't understand all the implications.
https:/ /codereview. appspot. com/6305067/ diff/1/ state/relation. go
File state/relation.go (right):
https:/ /codereview. appspot. com/6305067/ diff/1/ state/relation. go#newcode63 go:63: return fmt.Errorf( "endpoint has invalid role: %q",
state/relation.
e.RelationRole)
s/://
generally we use ":" for indicating sub-errors, not for information
within a particular error.
https:/ /codereview. appspot. com/6305067/