v1alpha1

package
v0.0.0-...-b959757 Latest Latest
Warning

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

Go to latest
Published: Nov 7, 2025 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the scheduling v1alpha1 API group. +kubebuilder:object:generate=true +groupName=scheduling.cortex

Index

Constants

View Source
const (
	// Something went wrong during the calculation of the decision.
	DecisionConditionError = "Error"
)
View Source
const (
	// Something went wrong during the descheduling process.
	DeschedulingConditionError = "Error"
)
View Source
const (
	// Something went wrong during the pipeline reconciliation.
	PipelineConditionError = "Error"
)
View Source
const (
	// Something went wrong during the step reconciliation.
	StepConditionError = "Error"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "scheduling.cortex", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme.
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type Decision

type Decision struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is a standard object metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty,omitzero"`

	// spec defines the desired state of Decision
	// +required
	Spec DecisionSpec `json:"spec"`

	// status defines the observed state of Decision
	// +optional
	Status DecisionStatus `json:"status,omitempty,omitzero"`
}

Decision is the Schema for the decisions API

func (*Decision) DeepCopy

func (in *Decision) DeepCopy() *Decision

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Decision.

func (*Decision) DeepCopyInto

func (in *Decision) DeepCopyInto(out *Decision)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Decision) DeepCopyObject

func (in *Decision) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type DecisionList

type DecisionList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Decision `json:"items"`
}

DecisionList contains a list of Decision

func (*DecisionList) DeepCopy

func (in *DecisionList) DeepCopy() *DecisionList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DecisionList.

func (*DecisionList) DeepCopyInto

func (in *DecisionList) DeepCopyInto(out *DecisionList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*DecisionList) DeepCopyObject

func (in *DecisionList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type DecisionResult

type DecisionResult struct {
	// Raw input weights to the pipeline.
	// +kubebuilder:validation:Optional
	RawInWeights map[string]float64 `json:"rawInWeights"`
	// Normalized input weights to the pipeline.
	// +kubebuilder:validation:Optional
	NormalizedInWeights map[string]float64 `json:"normalizedInWeights"`
	// Outputs of the decision pipeline including the activations used
	// to make the final ordering of compute hosts.
	// +kubebuilder:validation:Optional
	StepResults []StepResult `json:"stepResults,omitempty"`
	// Aggregated output weights from the pipeline.
	// +kubebuilder:validation:Optional
	AggregatedOutWeights map[string]float64 `json:"aggregatedOutWeights"`
	// Final ordered list of hosts from most preferred to least preferred.
	// +kubebuilder:validation:Optional
	OrderedHosts []string `json:"orderedHosts,omitempty"`
	// The first element of the ordered hosts is considered the target host.
	// +kubebuilder:validation:Optional
	TargetHost *string `json:"targetHost,omitempty"`
}

func (*DecisionResult) DeepCopy

func (in *DecisionResult) DeepCopy() *DecisionResult

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DecisionResult.

func (*DecisionResult) DeepCopyInto

func (in *DecisionResult) DeepCopyInto(out *DecisionResult)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DecisionSpec

type DecisionSpec struct {
	// The operator by which this decision should be extracted.
	Operator string `json:"operator,omitempty"`

	// A reference to the pipeline that should be used for this decision.
	// This reference can be used to look up the pipeline definition and its
	// scheduler step configuration for additional context.
	PipelineRef corev1.ObjectReference `json:"pipelineRef"`

	// An identifier for the underlying resource to be scheduled.
	// For example, this can be the UUID of a nova instance or cinder volume.
	// This can be used to correlate multiple decisions for the same resource.
	ResourceID string `json:"resourceID"`

	// The type of decision, indicating what has initiated this decision.
	Type DecisionType `json:"type"`
	// If the type is "nova", this field contains the raw nova decision request.
	// +kubebuilder:validation:Optional
	NovaRaw *runtime.RawExtension `json:"novaRaw,omitempty"`
	// If the type is "cinder", this field contains the raw cinder decision request.
	// +kubebuilder:validation:Optional
	CinderRaw *runtime.RawExtension `json:"cinderRaw,omitempty"`
	// If the type is "manila", this field contains the raw manila decision request.
	// +kubebuilder:validation:Optional
	ManilaRaw *runtime.RawExtension `json:"manilaRaw,omitempty"`
	// If the type is "machine", this field contains the machine reference.
	// +kubebuilder:validation:Optional
	MachineRef *corev1.ObjectReference `json:"machineRef,omitempty"`
}

func (*DecisionSpec) DeepCopy

func (in *DecisionSpec) DeepCopy() *DecisionSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DecisionSpec.

func (*DecisionSpec) DeepCopyInto

func (in *DecisionSpec) DeepCopyInto(out *DecisionSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DecisionStatus

type DecisionStatus struct {
	// The time it took to schedule.
	// +kubebuilder:validation:Optional
	Took metav1.Duration `json:"took"`

	// The result of this decision.
	// +kubebuilder:validation:Optional
	Result *DecisionResult `json:"result,omitempty"`

	// If there were previous decisions for the underlying resource, they can
	// be resolved here to provide historical context for the decision.
	// +kubebuilder:validation:Optional
	History *[]corev1.ObjectReference `json:"history,omitempty"`

	// The number of decisions that preceded this one for the same resource.
	// +kubebuilder:validation:Optional
	Precedence *int `json:"precedence,omitempty"`

	// A human-readable explanation of the decision result.
	// +kubebuilder:validation:Optional
	Explanation string `json:"explanation,omitempty"`

	// The current status conditions of the decision.
	// +kubebuilder:validation:Optional
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
}

func (*DecisionStatus) DeepCopy

func (in *DecisionStatus) DeepCopy() *DecisionStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DecisionStatus.

func (*DecisionStatus) DeepCopyInto

func (in *DecisionStatus) DeepCopyInto(out *DecisionStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DecisionType

type DecisionType string

The type of decision.

const (
	// The decision was created by the nova external scheduler call.
	// Usually we refer to this as nova initial placement, it also includes
	// migrations or resizes.
	DecisionTypeNovaServer DecisionType = "nova-server"
	// The decision was created by the cinder external scheduler call.
	DecisionTypeCinderVolume DecisionType = "cinder-volume"
	// The decision was created by the manila external scheduler call.
	DecisionTypeManilaShare DecisionType = "manila-share"
	// The decision was created by spawning an ironcore machine.
	DecisionTypeIroncoreMachine DecisionType = "ironcore-machine"
)

type Descheduling

type Descheduling struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is a standard object metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty,omitzero"`

	// spec defines the desired state of Descheduling
	// +required
	Spec DeschedulingSpec `json:"spec"`

	// status defines the observed state of Descheduling
	// +optional
	Status DeschedulingStatus `json:"status,omitempty,omitzero"`
}

Descheduling is the Schema for the deschedulings API

func (*Descheduling) DeepCopy

func (in *Descheduling) DeepCopy() *Descheduling

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Descheduling.

func (*Descheduling) DeepCopyInto

func (in *Descheduling) DeepCopyInto(out *Descheduling)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Descheduling) DeepCopyObject

func (in *Descheduling) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type DeschedulingList

type DeschedulingList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Descheduling `json:"items"`
}

DeschedulingList contains a list of Descheduling

func (*DeschedulingList) DeepCopy

func (in *DeschedulingList) DeepCopy() *DeschedulingList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeschedulingList.

func (*DeschedulingList) DeepCopyInto

func (in *DeschedulingList) DeepCopyInto(out *DeschedulingList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*DeschedulingList) DeepCopyObject

func (in *DeschedulingList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type DeschedulingSpec

type DeschedulingSpec struct {
	// A reference to the virtual machine that should be descheduled.
	Ref string `json:"ref,omitempty"`
	// The type of reference used to identify the virtual machine.
	RefType DeschedulingSpecVMReferenceType `json:"refType,omitempty"`
	// The name of the compute host from which the virtual machine should be descheduled.
	PrevHost string `json:"prevHost,omitempty"`
	// The type of host from which the virtual machine should be descheduled.
	PrevHostType DeschedulingSpecHostType `json:"prevHostType,omitempty"`
	// The human-readable reason why the VM should be descheduled.
	Reason string `json:"reason,omitempty"`
}

func (*DeschedulingSpec) DeepCopy

func (in *DeschedulingSpec) DeepCopy() *DeschedulingSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeschedulingSpec.

func (*DeschedulingSpec) DeepCopyInto

func (in *DeschedulingSpec) DeepCopyInto(out *DeschedulingSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DeschedulingSpecHostType

type DeschedulingSpecHostType string

The type of host from which the virtual machine should be descheduled.

const (
	// The host is identified by its compute host name.
	DeschedulingSpecHostTypeNovaComputeHostName DeschedulingSpecHostType = "novaComputeHostName"
)

type DeschedulingSpecVMReferenceType

type DeschedulingSpecVMReferenceType string

The type of reference to the virtual machine that should be descheduled.

const (
	// Openstack server uuid.
	DeschedulingSpecVMReferenceNovaServerUUID DeschedulingSpecVMReferenceType = "novaServerUUID"
)

type DeschedulingStatus

type DeschedulingStatus struct {
	// The current phase of the descheduling.
	Phase DeschedulingStatusPhase `json:"phase"`
	// The current status conditions of the descheduling.
	// +kubebuilder:validation:Optional
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
	// The name of the compute host where the VM was rescheduled to.
	NewHost string `json:"newHost,omitempty"`
	// The type of host where the VM was rescheduled to.
	NewHostType DeschedulingSpecHostType `json:"newHostType,omitempty"`
}

func (*DeschedulingStatus) DeepCopy

func (in *DeschedulingStatus) DeepCopy() *DeschedulingStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeschedulingStatus.

func (*DeschedulingStatus) DeepCopyInto

func (in *DeschedulingStatus) DeepCopyInto(out *DeschedulingStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DeschedulingStatusPhase

type DeschedulingStatusPhase string

The phase in which the descheduling is.

const (
	// The descheduling was queued and is waiting to be processed.
	DeschedulingStatusPhaseQueued DeschedulingStatusPhase = "queued"
	// The descheduling is currently being processed.
	DeschedulingStatusPhaseInProgress DeschedulingStatusPhase = "inProgress"
	// The descheduling was completed successfully.
	DeschedulingStatusPhaseCompleted DeschedulingStatusPhase = "completed"
	// The descheduling failed.
	DeschedulingStatusPhaseFailed DeschedulingStatusPhase = "failed"
)

type DisabledValidationsSpec

type DisabledValidationsSpec struct {
	// Whether to validate that no subjects are removed or added from the scheduler
	// step. This should only be disabled for scheduler steps that remove subjects.
	// Thus, if no value is provided, the default is false.
	SameSubjectNumberInOut bool `json:"sameSubjectNumberInOut,omitempty"`
	// Whether to validate that, after running the step, there are remaining subjects.
	// This should only be disabled for scheduler steps that are expected to
	// remove all subjects.
	SomeSubjectsRemain bool `json:"someSubjectsRemain,omitempty"`
}

func (*DisabledValidationsSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DisabledValidationsSpec.

func (*DisabledValidationsSpec) DeepCopyInto

func (in *DisabledValidationsSpec) DeepCopyInto(out *DisabledValidationsSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Pipeline

type Pipeline struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is a standard object metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty,omitzero"`

	// spec defines the desired state of Pipeline
	// +required
	Spec PipelineSpec `json:"spec"`

	// status defines the observed state of Pipeline
	// +optional
	Status PipelineStatus `json:"status,omitempty,omitzero"`
}

Pipeline is the Schema for the decisions API

func (*Pipeline) DeepCopy

func (in *Pipeline) DeepCopy() *Pipeline

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Pipeline.

func (*Pipeline) DeepCopyInto

func (in *Pipeline) DeepCopyInto(out *Pipeline)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Pipeline) DeepCopyObject

func (in *Pipeline) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PipelineList

type PipelineList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Pipeline `json:"items"`
}

PipelineList contains a list of Pipeline

func (*PipelineList) DeepCopy

func (in *PipelineList) DeepCopy() *PipelineList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PipelineList.

func (*PipelineList) DeepCopyInto

func (in *PipelineList) DeepCopyInto(out *PipelineList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PipelineList) DeepCopyObject

func (in *PipelineList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type PipelineSpec

type PipelineSpec struct {
	// The operator by which this pipeline should be handled.
	Operator string `json:"operator,omitempty"`
	// An optional description of the pipeline.
	// +kubebuilder:validation:Optional
	Description string `json:"description,omitempty"`
	// The type of the pipeline.
	Type PipelineType `json:"type"`
	// The ordered list of steps that make up this pipeline.
	Steps []StepInPipeline `json:"steps,omitempty"`
}

func (*PipelineSpec) DeepCopy

func (in *PipelineSpec) DeepCopy() *PipelineSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PipelineSpec.

func (*PipelineSpec) DeepCopyInto

func (in *PipelineSpec) DeepCopyInto(out *PipelineSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PipelineStatus

type PipelineStatus struct {
	// Whether the pipeline is ready to be used.
	Ready bool `json:"ready"`
	// The total number of steps configured in the pipeline.
	TotalSteps int `json:"totalSteps"`
	// The number of steps that are ready.
	ReadySteps int `json:"readySteps"`
	// An overview of the readiness of the steps in the pipeline.
	// Format: "ReadySteps / TotalSteps steps ready".
	StepsReadyFrac string `json:"stepsReadyFrac,omitempty"`
	// The current status conditions of the pipeline.
	// +kubebuilder:validation:Optional
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
}

func (*PipelineStatus) DeepCopy

func (in *PipelineStatus) DeepCopy() *PipelineStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PipelineStatus.

func (*PipelineStatus) DeepCopyInto

func (in *PipelineStatus) DeepCopyInto(out *PipelineStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PipelineType

type PipelineType string
const (
	// Pipeline containing filter-weigher steps for initial placement,
	// migration, etc. of instances.
	PipelineTypeFilterWeigher PipelineType = "filter-weigher"
	// Pipeline containing descheduler steps for generating descheduling
	// recommendations.
	PipelineTypeDescheduler PipelineType = "descheduler"
)

type Step

type Step struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is a standard object metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty,omitzero"`

	// spec defines the desired state of Step
	// +required
	Spec StepSpec `json:"spec"`

	// status defines the observed state of Step
	// +optional
	Status StepStatus `json:"status,omitempty,omitzero"`
}

Step is the Schema for the deschedulings API

func (*Step) DeepCopy

func (in *Step) DeepCopy() *Step

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Step.

func (*Step) DeepCopyInto

func (in *Step) DeepCopyInto(out *Step)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Step) DeepCopyObject

func (in *Step) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type StepInPipeline

type StepInPipeline struct {
	// Reference to the step.
	Ref corev1.ObjectReference `json:"ref"`
	// Whether this step is mandatory for the pipeline to be runnable.
	// +kubebuilder:default=true
	Mandatory bool `json:"mandatory"`
}

func (*StepInPipeline) DeepCopy

func (in *StepInPipeline) DeepCopy() *StepInPipeline

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StepInPipeline.

func (*StepInPipeline) DeepCopyInto

func (in *StepInPipeline) DeepCopyInto(out *StepInPipeline)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StepList

type StepList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Step `json:"items"`
}

StepList contains a list of Step

func (*StepList) DeepCopy

func (in *StepList) DeepCopy() *StepList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StepList.

func (*StepList) DeepCopyInto

func (in *StepList) DeepCopyInto(out *StepList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*StepList) DeepCopyObject

func (in *StepList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type StepResult

type StepResult struct {
	// object reference to the scheduler step.
	StepRef corev1.ObjectReference `json:"stepRef"`
	// Activations of the step for each host.
	Activations map[string]float64 `json:"activations"`
}

func (*StepResult) DeepCopy

func (in *StepResult) DeepCopy() *StepResult

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StepResult.

func (*StepResult) DeepCopyInto

func (in *StepResult) DeepCopyInto(out *StepResult)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StepSpec

type StepSpec struct {
	// The operator by which this step should be executed.
	Operator string `json:"operator,omitempty"`

	// The type of the scheduler step.
	Type StepType `json:"type"`
	// If the type is "weigher", this contains additional configuration for it.
	// +kubebuilder:validation:Optional
	Weigher *WeigherSpec `json:"weigher,omitempty"`

	// The name of the scheduler step in the cortex implementation.
	Impl string `json:"impl"`
	// Additional configuration for the extractor that can be used
	// +kubebuilder:validation:Optional
	Opts runtime.RawExtension `json:"opts,omitempty"`
	// Knowledges this step depends on to be ready.
	// +kubebuilder:validation:Optional
	Knowledges []corev1.ObjectReference `json:"knowledges,omitempty"`
	// Additional description of the step which helps understand its purpose
	// and decisions made by it.
	// +kubebuilder:validation:Optional
	Description string `json:"description,omitempty"`

	// If needed, database credentials for fetching data from the database.
	// The secret should contain the following keys:
	// - "username": The database username.
	// - "password": The database password.
	// - "host": The database host.
	// - "port": The database port.
	// - "database": The database name.
	// Note: this field will be removed in the future when db access in scheduler
	// steps is no longer needed.
	// +kubebuilder:validation:Optional
	DatabaseSecretRef *corev1.SecretReference `json:"databaseSecretRef"`
}

func (*StepSpec) DeepCopy

func (in *StepSpec) DeepCopy() *StepSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StepSpec.

func (*StepSpec) DeepCopyInto

func (in *StepSpec) DeepCopyInto(out *StepSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StepStatus

type StepStatus struct {
	// If the step is ready to be executed.
	Ready bool `json:"ready"`
	// How many knowledges have been extracted.
	ReadyKnowledges int `json:"readyKnowledges"`
	// Total number of knowledges configured.
	TotalKnowledges int `json:"totalKnowledges"`
	// "ReadyKnowledges / TotalKnowledges ready" as a human-readable string
	// or "ready" if there are no knowledges configured.
	KnowledgesReadyFrac string `json:"knowledgesReadyFrac,omitempty"`
	// The current status conditions of the step.
	// +kubebuilder:validation:Optional
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`
}

func (*StepStatus) DeepCopy

func (in *StepStatus) DeepCopy() *StepStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StepStatus.

func (*StepStatus) DeepCopyInto

func (in *StepStatus) DeepCopyInto(out *StepStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StepType

type StepType string
const (
	// Step for assigning weights to hosts.
	StepTypeWeigher StepType = "weigher"
	// Step for filtering hosts.
	StepTypeFilter StepType = "filter"
	// Step for generating descheduling recommendations.
	StepTypeDescheduler StepType = "descheduler"
)

type WeigherSpec

type WeigherSpec struct {
	// The validations to disable for this step. If none are provided, all
	// applied validations are enabled.
	// +kubebuilder:validation:Optional
	DisabledValidations DisabledValidationsSpec `json:"disabledValidations,omitempty"`
}

func (*WeigherSpec) DeepCopy

func (in *WeigherSpec) DeepCopy() *WeigherSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WeigherSpec.

func (*WeigherSpec) DeepCopyInto

func (in *WeigherSpec) DeepCopyInto(out *WeigherSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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