upgrader

package
v0.24.0 Latest Latest
Warning

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

Go to latest
Published: Nov 6, 2018 License: Apache-2.0 Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewUpgradeState added in v0.21.0

func NewUpgradeState(canaryInstances, allInstances []service.Instance, canaryLimit int) (*upgradeState, error)

Types

type BrokerServices

type BrokerServices interface {
	UpgradeInstance(instance service.Instance) (services.BOSHOperation, error)
	LastOperation(instance string, operationData broker.OperationData) (brokerapi.LastOperation, error)
}

type Builder added in v0.20.0

type Builder struct {
	BrokerServices        BrokerServices
	ServiceInstanceLister InstanceLister
	PollingInterval       time.Duration
	AttemptInterval       time.Duration
	AttemptLimit          int
	MaxInFlight           int
	Canaries              int
	Listener              Listener
	Sleeper               sleeper
	CanarySelectionParams config.CanarySelectionParams
}

func NewBuilder added in v0.20.0

func NewBuilder(
	conf config.UpgradeAllInstanceErrandConfig,
	logger *log.Logger,
) (*Builder, error)

type InstanceLister added in v0.18.0

type InstanceLister interface {
	Instances() ([]service.Instance, error)
	FilteredInstances(filter map[string]string) ([]service.Instance, error)
	LatestInstanceInfo(inst service.Instance) (service.Instance, error)
}

type LastOperationChecker added in v0.21.0

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

func NewStateChecker added in v0.21.0

func NewStateChecker(brokerServices BrokerServices) *LastOperationChecker

func (*LastOperationChecker) Check added in v0.21.0

func (l *LastOperationChecker) Check(guid string, operationData broker.OperationData) (services.BOSHOperation, error)

type Listener

type Listener interface {
	FailedToRefreshInstanceInfo(instance string)
	Starting(maxInFlight int)
	RetryAttempt(num, limit int)
	RetryCanariesAttempt(num, limit, remainingCanaries int)
	InstancesToProcess(instances []service.Instance)
	InstanceOperationStarting(instance string, index int, totalInstances int, isCanary bool)
	InstanceOperationStartResult(instance string, status services.BOSHOperationType)
	InstanceOperationFinished(instance string, result string)
	WaitingFor(instance string, boshTaskId int)
	Progress(pollingInterval time.Duration, orphanCount, upgradedCount, upgradesLeftCount, deletedCount int)
	Finished(orphanCount, upgradedCount, deletedCount int, busyInstances, failedInstances []string)
	CanariesStarting(canaries int, filter config.CanarySelectionParams)
	CanariesFinished()
}

func NewLoggingListener

func NewLoggingListener(logger *log.Logger) Listener

type LoggingListener

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

func (LoggingListener) CanariesFinished added in v0.20.0

func (ll LoggingListener) CanariesFinished()

func (LoggingListener) CanariesStarting added in v0.20.0

func (ll LoggingListener) CanariesStarting(canaries int, filter config.CanarySelectionParams)

func (LoggingListener) FailedToRefreshInstanceInfo added in v0.20.0

func (ll LoggingListener) FailedToRefreshInstanceInfo(instance string)

func (LoggingListener) Finished

func (ll LoggingListener) Finished(orphanCount, finishedCount, deletedCount int, busyInstances, failedInstances []string)

func (LoggingListener) InstanceOperationFinished added in v0.24.0

func (ll LoggingListener) InstanceOperationFinished(instance string, result string)

func (LoggingListener) InstanceOperationStartResult added in v0.24.0

func (ll LoggingListener) InstanceOperationStartResult(instance string, resultType services.BOSHOperationType)

func (LoggingListener) InstanceOperationStarting added in v0.24.0

func (ll LoggingListener) InstanceOperationStarting(instance string, index, totalInstances int, isCanary bool)

func (LoggingListener) InstancesToProcess added in v0.24.0

func (ll LoggingListener) InstancesToProcess(instances []service.Instance)

func (LoggingListener) Progress

func (ll LoggingListener) Progress(pollingInterval time.Duration, orphanCount, processCount, toRetryCount, deletedCount int)

func (LoggingListener) RetryAttempt added in v0.20.0

func (ll LoggingListener) RetryAttempt(num, limit int)

func (LoggingListener) RetryCanariesAttempt added in v0.20.0

func (ll LoggingListener) RetryCanariesAttempt(attempt, limit, remainingCanaries int)

func (LoggingListener) Starting

func (ll LoggingListener) Starting(maxInFlight int)

func (LoggingListener) WaitingFor

func (ll LoggingListener) WaitingFor(instance string, boshTaskId int)

type StateChecker added in v0.21.0

type StateChecker interface {
	Check(string, broker.OperationData) (services.BOSHOperation, error)
}

type Triggerer added in v0.21.0

type Triggerer interface {
	TriggerUpgrade(service.Instance) (services.BOSHOperation, error)
}

type UpgradeTriggerer added in v0.21.0

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

func NewTriggerer added in v0.21.0

func NewTriggerer(brokerServices BrokerServices, instanceLister InstanceLister, listener Listener) *UpgradeTriggerer

func (*UpgradeTriggerer) TriggerUpgrade added in v0.21.0

func (t *UpgradeTriggerer) TriggerUpgrade(instance service.Instance) (services.BOSHOperation, error)

type Upgrader added in v0.20.0

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

func New

func New(builder *Builder) *Upgrader

func (*Upgrader) Upgrade added in v0.20.0

func (u *Upgrader) Upgrade() error

func (*Upgrader) UpgradeInstancesWithAttempts added in v0.21.0

func (u *Upgrader) UpgradeInstancesWithAttempts() error

Directories

Path Synopsis
Code generated by counterfeiter.
Code generated by counterfeiter.

Jump to

Keyboard shortcuts

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