registry

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Dec 22, 2016 License: Apache-2.0 Imports: 19 Imported by: 669

Documentation

Index

Constants

View Source
const (
	// Occurs when any Job's target is touched
	JobTargetChangeEvent = pkg.Event("JobTargetChangeEvent")
	// Occurs when any Job's target state is touched
	JobTargetStateChangeEvent = pkg.Event("JobTargetStateChangeEvent")
)
View Source
const DefaultKeyPrefix = "/_coreos.com/fleet/"

Variables

This section is empty.

Functions

func NewEtcdEventStream added in v0.7.0

func NewEtcdEventStream(kAPI etcd.KeysAPI, rootPrefix string) pkg.EventStream

Types

type ClusterRegistry added in v0.8.2

type ClusterRegistry interface {
	LatestDaemonVersion() (*semver.Version, error)

	// EngineVersion returns the current version of the cluster. If the
	// cluster does not yet have a version, zero will be returned. If
	// any error occurs, an error object will be returned. In this case,
	// the returned version number should be ignored.
	EngineVersion() (int, error)

	// UpdateEngineVersion attempts to compare-and-swap the cluster version
	// from one value to another. Any failures in this process will be
	// indicated by the returned error object. A nil value will be returned
	// on success.
	UpdateEngineVersion(from, to int) error
}

type EtcdRegistry added in v0.3.1

type EtcdRegistry struct {
	// contains filtered or unexported fields
}

EtcdRegistry fulfils the Registry interface and uses etcd as a backend

func NewEtcdRegistry added in v0.8.2

func NewEtcdRegistry(kAPI etcd.KeysAPI, keyPrefix string) *EtcdRegistry

func (*EtcdRegistry) ClearUnitHeartbeat added in v0.7.0

func (r *EtcdRegistry) ClearUnitHeartbeat(name string)

func (*EtcdRegistry) CreateMachineState added in v0.13.0

func (r *EtcdRegistry) CreateMachineState(ms machine.MachineState, ttl time.Duration) (uint64, error)

func (*EtcdRegistry) CreateUnit added in v0.7.0

func (r *EtcdRegistry) CreateUnit(u *job.Unit) error

CreateUnit attempts to store a Unit and its associated unit file in the registry

func (*EtcdRegistry) DeleteMachineMetadata added in v1.0.0

func (r *EtcdRegistry) DeleteMachineMetadata(machID string, key string) error

func (*EtcdRegistry) DestroyUnit added in v0.7.0

func (r *EtcdRegistry) DestroyUnit(name string) error

DestroyUnit removes a Job object from the repository. It does not yet remove underlying UnitFiles from the repository.

func (*EtcdRegistry) EngineVersion added in v0.8.2

func (r *EtcdRegistry) EngineVersion() (int, error)

EngineVersion implements the ClusterRegistry interface

func (*EtcdRegistry) IsRegistryReady added in v1.0.0

func (r *EtcdRegistry) IsRegistryReady() bool

func (*EtcdRegistry) LatestDaemonVersion added in v0.8.2

func (r *EtcdRegistry) LatestDaemonVersion() (*semver.Version, error)

LatestDaemonVersion attempts to retrieve the latest version of fleetd that has been registered in the Registry. It returns the version if it can be determined (or nil otherwise), and any error encountered.

func (*EtcdRegistry) MachineState added in v1.0.0

func (r *EtcdRegistry) MachineState(machID string) (machine.MachineState, error)

func (*EtcdRegistry) Machines added in v0.5.1

func (r *EtcdRegistry) Machines() (machines []machine.MachineState, err error)

func (*EtcdRegistry) RemoveMachineState added in v0.3.1

func (r *EtcdRegistry) RemoveMachineState(machID string) error

func (*EtcdRegistry) RemoveUnitState added in v0.3.1

func (r *EtcdRegistry) RemoveUnitState(jobName string) error

Delete the state from the Registry for the given Job's Unit

func (*EtcdRegistry) SaveUnitState added in v0.3.1

func (r *EtcdRegistry) SaveUnitState(jobName string, unitState *unit.UnitState, ttl time.Duration)

SaveUnitState persists the given UnitState to the Registry

func (*EtcdRegistry) Schedule added in v0.7.0

func (r *EtcdRegistry) Schedule() ([]job.ScheduledUnit, error)

Schedule returns all ScheduledUnits known by fleet, ordered by name

func (*EtcdRegistry) ScheduleUnit added in v0.7.0

func (r *EtcdRegistry) ScheduleUnit(name string, machID string) error

func (*EtcdRegistry) ScheduledUnit added in v0.7.0

func (r *EtcdRegistry) ScheduledUnit(name string) (*job.ScheduledUnit, error)

ScheduledUnit retrieves the ScheduledUnit by the given name from the Registry. Returns nil if no such ScheduledUnit exists, and any error encountered.

func (*EtcdRegistry) SetMachineMetadata added in v1.0.0

func (r *EtcdRegistry) SetMachineMetadata(machID string, key string, value string) error

func (*EtcdRegistry) SetMachineState added in v0.3.1

func (r *EtcdRegistry) SetMachineState(ms machine.MachineState, ttl time.Duration) (uint64, error)

func (*EtcdRegistry) SetUnitTargetState added in v0.7.0

func (r *EtcdRegistry) SetUnitTargetState(name string, state job.JobState) error

func (*EtcdRegistry) Unit added in v0.7.0

func (r *EtcdRegistry) Unit(name string) (*job.Unit, error)

Unit retrieves the Unit by the given name from the Registry. Returns nil if no such Unit exists, and any error encountered.

func (*EtcdRegistry) UnitHeartbeat added in v0.7.0

func (r *EtcdRegistry) UnitHeartbeat(name, machID string, ttl time.Duration) error

func (*EtcdRegistry) UnitState added in v1.0.0

func (r *EtcdRegistry) UnitState(name string) (state *unit.UnitState, err error)

UnitState returns a single UnitState stored in the registry for a given unit name.

func (*EtcdRegistry) UnitStates added in v0.7.0

func (r *EtcdRegistry) UnitStates() (states []*unit.UnitState, err error)

UnitStates returns a list of all UnitStates stored in the registry, sorted by unit name and then machine ID.

func (*EtcdRegistry) Units added in v0.7.0

func (r *EtcdRegistry) Units() ([]job.Unit, error)

Units lists all Units stored in the Registry, ordered by name. This includes both global and non-global units.

func (*EtcdRegistry) UnscheduleUnit added in v0.7.0

func (r *EtcdRegistry) UnscheduleUnit(name, machID string) error

func (*EtcdRegistry) UpdateEngineVersion added in v0.8.2

func (r *EtcdRegistry) UpdateEngineVersion(from, to int) error

UpdateEngineVersion implements the ClusterRegistry interface

func (*EtcdRegistry) UseEtcdRegistry added in v1.0.0

func (r *EtcdRegistry) UseEtcdRegistry() bool

type FakeClusterRegistry added in v0.8.2

type FakeClusterRegistry struct {
	// contains filtered or unexported fields
}

func NewFakeClusterRegistry added in v0.8.2

func NewFakeClusterRegistry(dVersion *semver.Version, eVersion int) *FakeClusterRegistry

func (*FakeClusterRegistry) EngineVersion added in v0.8.2

func (fc *FakeClusterRegistry) EngineVersion() (int, error)

func (*FakeClusterRegistry) LatestDaemonVersion added in v0.8.2

func (fc *FakeClusterRegistry) LatestDaemonVersion() (*semver.Version, error)

func (*FakeClusterRegistry) UpdateEngineVersion added in v0.8.2

func (fc *FakeClusterRegistry) UpdateEngineVersion(from, to int) error

type FakeLeaseRegistry added in v0.8.2

type FakeLeaseRegistry struct {
	// contains filtered or unexported fields
}

func NewFakeLeaseRegistry added in v0.8.2

func NewFakeLeaseRegistry() *FakeLeaseRegistry

func (*FakeLeaseRegistry) AcquireLease added in v0.8.2

func (fl *FakeLeaseRegistry) AcquireLease(name, machID string, ver int, ttl time.Duration) (lease.Lease, error)

func (*FakeLeaseRegistry) GetLease added in v0.8.2

func (fl *FakeLeaseRegistry) GetLease(name string) (lease.Lease, error)

func (*FakeLeaseRegistry) SetLease added in v0.8.2

func (fl *FakeLeaseRegistry) SetLease(name, machID string, ver int, ttl time.Duration) *fakeLease

func (*FakeLeaseRegistry) StealLease added in v0.8.2

func (fl *FakeLeaseRegistry) StealLease(name, machID string, ver int, ttl time.Duration, idx uint64) (lease.Lease, error)

type FakeRegistry added in v0.4.0

type FakeRegistry struct {
	// Not all methods required by the Registry interface are implemented
	// by the FakeRegistry. Any calls to these unimplemented methods will
	// result in a panic.
	Registry
	sync.RWMutex
	// contains filtered or unexported fields
}

func NewFakeRegistry added in v0.4.0

func NewFakeRegistry() *FakeRegistry

func (*FakeRegistry) ClearUnitHeartbeat added in v0.7.0

func (f *FakeRegistry) ClearUnitHeartbeat(string)

func (*FakeRegistry) CreateUnit added in v0.7.0

func (f *FakeRegistry) CreateUnit(u *job.Unit) error

func (*FakeRegistry) DeleteMachineMetadata added in v1.0.0

func (f *FakeRegistry) DeleteMachineMetadata(machID string, key string) error

func (*FakeRegistry) DestroyUnit added in v0.7.0

func (f *FakeRegistry) DestroyUnit(name string) error

func (*FakeRegistry) IsRegistryReady added in v1.0.0

func (f *FakeRegistry) IsRegistryReady() bool

func (*FakeRegistry) MachineState added in v1.0.0

func (f *FakeRegistry) MachineState(machID string) (machine.MachineState, error)

func (*FakeRegistry) Machines added in v0.5.1

func (f *FakeRegistry) Machines() ([]machine.MachineState, error)

func (*FakeRegistry) RemoveUnitState added in v0.6.0

func (f *FakeRegistry) RemoveUnitState(jobName string) error

func (*FakeRegistry) SaveUnitState added in v0.4.0

func (f *FakeRegistry) SaveUnitState(jobName string, unitState *unit.UnitState, ttl time.Duration)

func (*FakeRegistry) Schedule added in v0.7.0

func (f *FakeRegistry) Schedule() ([]job.ScheduledUnit, error)

func (*FakeRegistry) ScheduleUnit added in v0.7.0

func (f *FakeRegistry) ScheduleUnit(name string, machID string) error

func (*FakeRegistry) ScheduledUnit added in v0.7.0

func (f *FakeRegistry) ScheduledUnit(name string) (*job.ScheduledUnit, error)

func (*FakeRegistry) SetJobs added in v0.4.0

func (f *FakeRegistry) SetJobs(jobs []job.Job)

func (*FakeRegistry) SetMachineMetadata added in v1.0.0

func (f *FakeRegistry) SetMachineMetadata(machID string, key string, value string) error

func (*FakeRegistry) SetMachines added in v0.4.0

func (f *FakeRegistry) SetMachines(machines []machine.MachineState)

func (*FakeRegistry) SetUnitStates added in v0.4.0

func (f *FakeRegistry) SetUnitStates(states []unit.UnitState)

func (*FakeRegistry) SetUnitTargetState added in v0.7.0

func (f *FakeRegistry) SetUnitTargetState(name string, target job.JobState) error

func (*FakeRegistry) Unit added in v0.7.0

func (f *FakeRegistry) Unit(name string) (*job.Unit, error)

func (*FakeRegistry) UnitHeartbeat added in v0.7.0

func (f *FakeRegistry) UnitHeartbeat(name, machID string, ttl time.Duration) error

func (*FakeRegistry) UnitState added in v1.0.0

func (f *FakeRegistry) UnitState(unitName string) (*unit.UnitState, error)

func (*FakeRegistry) UnitStates added in v0.7.0

func (f *FakeRegistry) UnitStates() ([]*unit.UnitState, error)

func (*FakeRegistry) Units added in v0.7.0

func (f *FakeRegistry) Units() ([]job.Unit, error)

func (*FakeRegistry) UseEtcdRegistry added in v1.0.0

func (f *FakeRegistry) UseEtcdRegistry() bool

type MUSKey added in v0.7.0

type MUSKey struct {
	Name   string
	MachID string
}

MUSKey is used to index UnitStates by name + machineID

type MUSKeys added in v0.7.0

type MUSKeys []MUSKey

MUSKeys provides for sorting of UnitStates by their MUSKey

func (MUSKeys) Len added in v0.7.0

func (mk MUSKeys) Len() int

func (MUSKeys) Less added in v0.7.0

func (mk MUSKeys) Less(i, j int) bool

func (MUSKeys) Swap added in v0.7.0

func (mk MUSKeys) Swap(i, j int)

type Registry

type Registry interface {
	ClearUnitHeartbeat(name string)
	CreateMachineState(ms machine.MachineState, ttl time.Duration) (uint64, error)
	CreateUnit(*job.Unit) error
	DestroyUnit(string) error
	UnitHeartbeat(name, machID string, ttl time.Duration) error
	Machines() ([]machine.MachineState, error)
	RemoveMachineState(machID string) error
	RemoveUnitState(jobName string) error
	SaveUnitState(jobName string, unitState *unit.UnitState, ttl time.Duration)
	ScheduleUnit(name, machID string) error
	SetUnitTargetState(name string, state job.JobState) error
	SetMachineState(ms machine.MachineState, ttl time.Duration) (uint64, error)
	MachineState(machID string) (machine.MachineState, error)
	UnscheduleUnit(name, machID string) error
	SetMachineMetadata(machID string, key string, value string) error
	DeleteMachineMetadata(machID string, key string) error

	IsRegistryReady() bool
	UseEtcdRegistry() bool
	UnitRegistry
}

type UnitRegistry added in v0.7.0

type UnitRegistry interface {
	Schedule() ([]job.ScheduledUnit, error)
	ScheduledUnit(name string) (*job.ScheduledUnit, error)
	Unit(name string) (*job.Unit, error)
	Units() ([]job.Unit, error)
	UnitState(name string) (*unit.UnitState, error)
	UnitStates() ([]*unit.UnitState, error)
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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