package election
import "k8s.io/kubernetes/contrib/mesos/pkg/election"
Package election provides interfaces used for master election.
Index ¶
- func Notify(m MasterElector, path, id string, s Service, abort <-chan struct{})
- type Fake
- func NewFake() *Fake
- func (f *Fake) ChangeMaster(newMaster Master)
- func (f *Fake) Elect(path, id string) watch.Interface
- type Master
- type MasterElector
- type Service
Functions ¶
func Notify ¶
func Notify(m MasterElector, path, id string, s Service, abort <-chan struct{})
Notify runs Elect() on m, and calls Start()/Stop() on s when the elected master starts/stops matching 'id'. Never returns.
Types ¶
type Fake ¶
type Fake struct {
// contains filtered or unexported fields
}
Fake allows for testing of anything consuming a MasterElector.
func NewFake ¶
func NewFake() *Fake
NewFake makes a new fake MasterElector.
func (*Fake) ChangeMaster ¶
func (*Fake) Elect ¶
type Master ¶
type Master string
Master is used to announce the current elected master.
func (Master) IsAnAPIObject ¶
func (Master) IsAnAPIObject()
IsAnAPIObject is used solely so we can work with the watch package. TODO(k8s): Either fix watch so this isn't necessary, or make this a real API Object. TODO(k8s): when it becomes clear how this package will be used, move these declarations to to the proper place.
type MasterElector ¶
type MasterElector interface { // Elect makes the caller represented by 'id' enter into a master election for the // distributed lock defined by 'path' // The returned watch.Interface provides a stream of Master objects which // contain the current master. // Calling Stop on the returned interface relinquishes ownership (if currently possesed) // and removes the caller from the election Elect(path, id string) watch.Interface }
MasterElector is an interface for services that can elect masters. Important Note: MasterElectors are not inter-operable, all participants in the election need to be
using the same underlying implementation of this interface for correct behavior.
func NewEtcdMasterElector ¶
func NewEtcdMasterElector(h tools.EtcdClient) MasterElector
NewEtcdMasterElector returns an implementation of election.MasterElector backed by etcd.
type Service ¶
type Service interface { Validate(desired, current Master) Start() Stop() }
Service represents anything that can start and stop on demand.
Source Files ¶
doc.go etcd_master.go fake.go master.go
- Version
- v1.1.4-beta.0
- Published
- Dec 7, 2015
- Platform
- linux/amd64
- Imports
- 10 packages
- Last checked
- 25 seconds ago –
Tools for package owners.