Documentation ¶
Index ¶
- Variables
- func ExponentialBackoff(backoff Backoff, timeout time.Duration, condition ConditionFunc) error
- func Jitter(duration time.Duration, maxFactor float64) time.Duration
- type Backoff
- type ConditionFunc
- type DeploymentV1beta1Condition
- type JobV1Condition
- type MPIJobV1alpha1Condition
- type ResourceConditionInterface
- type ResourceConditionStatus
Constants ¶
This section is empty.
Variables ¶
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.
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.
type ConditionFunc ¶
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 ¶
func (c *DeploymentV1beta1Condition) CheckCondition(resource *unstructured.Unstructured) (ResourceConditionStatus, error)
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
func (c *MPIJobV1alpha1Condition) CheckCondition(resource *unstructured.Unstructured) (ResourceConditionStatus, error)
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" )