disruption

package
v0.31.5 Latest Latest
Warning

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

Go to latest
Published: Oct 30, 2023 License: Apache-2.0 Imports: 32 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ProvisionerDrifted  cloudprovider.DriftReason = "ProvisionerDrifted"
	NodePoolDrifted     cloudprovider.DriftReason = "NodePoolDrifted"
	RequirementsDrifted cloudprovider.DriftReason = "RequirementsDrifted"
)

Variables

This section is empty.

Functions

func NewMachineController

func NewMachineController(clk clock.Clock, kubeClient client.Client, cluster *state.Cluster, cloudProvider cloudprovider.CloudProvider) corecontroller.Controller

func NewNodeClaimController

func NewNodeClaimController(clk clock.Clock, kubeClient client.Client, cluster *state.Cluster, cloudProvider cloudprovider.CloudProvider) corecontroller.Controller

Types

type Controller

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

Controller is a disruption controller that adds StatusConditions to Machines when they meet certain disruption conditions e.g. When the NodeClaim has surpassed its owning provisioner's expirationTTL, then it is marked as "Expired" in the StatusConditions

func NewController

func NewController(clk clock.Clock, kubeClient client.Client, cluster *state.Cluster, cloudProvider cloudprovider.CloudProvider) *Controller

NewController constructs a machine disruption controller

func (*Controller) Builder

func (*Controller) Reconcile

func (c *Controller) Reconcile(ctx context.Context, nodeClaim *v1beta1.NodeClaim) (reconcile.Result, error)

Reconcile executes a control loop for the resource

type Drift

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

Drift is a machine sub-controller that adds or removes status conditions on drifted machines

func (*Drift) Reconcile

func (d *Drift) Reconcile(ctx context.Context, nodePool *v1beta1.NodePool, nodeClaim *v1beta1.NodeClaim) (reconcile.Result, error)

type Emptiness

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

Emptiness is a machine sub-controller that adds or removes status conditions on empty machines based on TTLSecondsAfterEmpty

func (*Emptiness) Reconcile

func (e *Emptiness) Reconcile(ctx context.Context, nodePool *v1beta1.NodePool, nodeClaim *v1beta1.NodeClaim) (reconcile.Result, error)

type Expiration

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

Expiration is a machine sub-controller that adds or removes status conditions on expired machines based on TTLSecondsUntilExpired

func (*Expiration) Reconcile

func (e *Expiration) Reconcile(ctx context.Context, nodePool *v1beta1.NodePool, nodeClaim *v1beta1.NodeClaim) (reconcile.Result, error)

type MachineController

type MachineController struct {
	*Controller
}

func (*MachineController) Name

func (c *MachineController) Name() string

func (*MachineController) Reconcile

func (c *MachineController) Reconcile(ctx context.Context, machine *v1alpha5.Machine) (reconcile.Result, error)

type NodeClaimController

type NodeClaimController struct {
	*Controller
}

func (*NodeClaimController) Builder

func (*NodeClaimController) Name

func (c *NodeClaimController) Name() string

func (*NodeClaimController) Reconcile

func (c *NodeClaimController) Reconcile(ctx context.Context, nodeClaim *v1beta1.NodeClaim) (reconcile.Result, error)

Jump to

Keyboard shortcuts

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