Description:
state: (demote)promote (un)available state servers
When EnsureAvailability is called, we now check the
availability of existing state servers. If a state server
is unavailable, then we either set WantsVote=false, or
remove it entirely if it doesn't want a vote.
If we need to create new state servers, we will first
promote existing, available, non-voting state servers
before creating new ones.
Availability is currently defined by the state.Machine's
agent presence. We may want to extend this later to also
consider the associated mongo's replicaset member health.
Affected files (+272, -61 lines):
A [revision details]
M cmd/juju/ensureavailability_test.go
M state/addmachine.go
M state/apiserver/client/client_test.go
M state/export_test.go
M state/state_test.go
Reviewers: mp+215172_ code.launchpad. net,
Message:
Please take a look.
Description:
state: (demote)promote (un)available state servers
When EnsureAvailability is called, we now check the
availability of existing state servers. If a state server
is unavailable, then we either set WantsVote=false, or
remove it entirely if it doesn't want a vote.
If we need to create new state servers, we will first
promote existing, available, non-voting state servers
before creating new ones.
Availability is currently defined by the state.Machine's
agent presence. We may want to extend this later to also
consider the associated mongo's replicaset member health.
https:/ /code.launchpad .net/~axwalk/ juju-core/ lp1271504- ensureavailabil ity-agentalive/ +merge/ 215172
(do not edit description out of merge proposal)
Please review this at https:/ /codereview. appspot. com/86490043/
Affected files (+272, -61 lines): ensureavailabil ity_test. go /client/ client_ test.go test.go
A [revision details]
M cmd/juju/
M state/addmachine.go
M state/apiserver
M state/export_
M state/state_test.go