Version: v1.4.12 Latest Latest

This package is not in the latest version of its module.

Go to latest
Published: Apr 20, 2017 License: Apache-2.0 Imports: 11 Imported by: 0



Package election provides interfaces used for master election.



This section is empty.


This section is empty.


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.


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 (f *Fake) ChangeMaster(newMaster Master)

func (*Fake) Elect

func (f *Fake) Elect(path, id string) watch.Interface

type Master

type Master string

Master is used to announce the current elected master.

func (Master) GetObjectKind added in v1.2.0

func (obj Master) GetObjectKind() unversioned.ObjectKind

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 etcd.Client) MasterElector

NewEtcdMasterElector returns an implementation of election.MasterElector backed by etcd.

type Service

type Service interface {
	Validate(desired, current Master)

Service represents anything that can start and stop on demand.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL