condition

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Aug 7, 2019 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrWaitTimeout = errors.New("timed out waiting for the condition")

ErrWaitTimeout is returned when the condition exited without success.

Functions

func ExponentialBackoff

func ExponentialBackoff(backoff Backoff, timeout time.Duration, condition ConditionFunc) error

ExponentialBackoff repeats a condition check with exponential backoff.

func Jitter

func Jitter(duration time.Duration, maxFactor float64) time.Duration

Jitter returns a time.Duration between duration and duration + maxFactor * duration.

Types

type Backoff

type Backoff struct {
	// The initial duration.
	Duration time.Duration
	// Duration is multiplied by factor each iteration. Must be greater
	// than or equal to zero.
	Factor float64
	// The amount of jitter applied each iteration. Jitter is applied after
	// cap.
	Jitter float64
	// The number of steps before duration stops changing. If zero, initial
	// duration is always used. Used for exponential backoff in combination
	// with Factor.
	Steps int
	// The returned duration will never be greater than cap *before* jitter
	// is applied. The actual maximum cap is `cap * (1.0 + jitter)`.
	Cap time.Duration
}

Backoff holds parameters applied to a Backoff function.

func (*Backoff) Step

func (b *Backoff) Step() time.Duration

Step returns the next interval in the exponential backoff. This method will mutate the provided backoff.

type ConditionFunc

type ConditionFunc func() (done bool, err error)

ConditionFunc returns true if the condition is satisfied, or an error if the loop should be aborted.

type DeploymentV1beta1Condition

type DeploymentV1beta1Condition struct{}

DeploymentV1beta1Condition is a condition checker for deployments in extensions/v1beta1

func NewDeploymentV1beta1Condition

func NewDeploymentV1beta1Condition() *DeploymentV1beta1Condition

NewDeploymentV1beta1Condition creates a new DeploymentV1beta1Condition

func (*DeploymentV1beta1Condition) CheckCondition

CheckCondition checks the status of a given deployment. The success condition is met when number of available replicas = number of required replicas. The failure condition is met when there is any replica failure.

type JobV1Condition

type JobV1Condition struct{}

JobV1Condition is a condition checker for jobs in batch/v1

func NewJobV1Condition

func NewJobV1Condition() *JobV1Condition

NewJobV1Condition creates a new JobV1Condition

func (*JobV1Condition) CheckCondition

func (c *JobV1Condition) CheckCondition(resource *unstructured.Unstructured) (ResourceConditionStatus, error)

CheckCondition checks the status of a given job. The success condition is met when a "Complete" type condition is observed. The failure condition is met when a "Failed" type condition is observed.

type MPIJobV1alpha1Condition added in v0.6.0

type MPIJobV1alpha1Condition struct{}

func NewMPIJobV1alpha1Condition added in v0.6.0

func NewMPIJobV1alpha1Condition() *MPIJobV1alpha1Condition

func (*MPIJobV1alpha1Condition) CheckCondition added in v0.6.0

type ResourceConditionInterface

type ResourceConditionInterface interface {
	CheckCondition(resource *unstructured.Unstructured) (ResourceConditionStatus, error)
}

ResourceConditionInterface is the interface of resource condition checkers

func NewResourceCondition

func NewResourceCondition(ref *common.ResourceRef) ResourceConditionInterface

NewResourceCondition creates a new resource condition checker The type of the condition checker depends on the given resource

type ResourceConditionStatus

type ResourceConditionStatus string

ResourceConditionStatus is the status of a resource condition check

const (
	// ResourceConditionSuccess indicates success condition met
	ResourceConditionSuccess ResourceConditionStatus = "Success"
	// ResourceConditionFailure indicates failure condition met
	ResourceConditionFailure ResourceConditionStatus = "Failure"
	// ResourceConditionTimeout indicates condition check timed out
	ResourceConditionTimeout ResourceConditionStatus = "Timeout"
	// ResourceConditionUnknown indicates condition check returned unknown status or error
	ResourceConditionUnknown ResourceConditionStatus = "Unknown"
)

Jump to

Keyboard shortcuts

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