Documentation
¶
Overview ¶
Package v1 contains API Schema definitions for the nodetopology v1 API group +kubebuilder:object:generate=true +groupName=nodetopology.openshift.io
Index ¶
- Constants
- Variables
- func CloneTolerations(tols []corev1.Toleration) []corev1.Toleration
- func SetDefaults_NUMAResourcesSchedulerSpec(spec *NUMAResourcesSchedulerSpec)
- func SortedTolerations(tols []corev1.Toleration) []corev1.Toleration
- type CacheResyncDebugMode
- type CacheResyncDetectionMode
- type InfoRefreshMode
- type InfoRefreshPauseMode
- type MachineConfigPool
- type NUMAResourcesOperator
- type NUMAResourcesOperatorList
- type NUMAResourcesOperatorSpec
- type NUMAResourcesOperatorStatus
- type NUMAResourcesScheduler
- type NUMAResourcesSchedulerList
- type NUMAResourcesSchedulerSpec
- type NUMAResourcesSchedulerStatus
- type NamespacedName
- type NodeGroup
- type NodeGroupConfig
- type PodsFingerprintingMode
- type ResourceSpecParams
- type SchedulerInformerMode
- type ScoringStrategyParams
- type ScoringStrategyType
Constants ¶
const (
Separator = '/'
)
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "nodetopology.openshift.io", Version: "v1"} // 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 // SchemeGroupVersion is DEPRECATED, needed for the client generation SchemeGroupVersion = GroupVersion )
Functions ¶
func CloneTolerations ¶
func CloneTolerations(tols []corev1.Toleration) []corev1.Toleration
func SetDefaults_NUMAResourcesSchedulerSpec ¶
func SetDefaults_NUMAResourcesSchedulerSpec(spec *NUMAResourcesSchedulerSpec)
func SortedTolerations ¶
func SortedTolerations(tols []corev1.Toleration) []corev1.Toleration
SortedTolerations return a sorted clone of the provided toleration slice
Types ¶
type CacheResyncDebugMode ¶
type CacheResyncDebugMode string
+kubebuilder:validation:Enum=Disabled;DumpJSONFile
const ( // CacheResyncDisabled disables additional report of the scheduler cache state. CacheResyncDebugDisabled CacheResyncDebugMode = "Disabled" // CacheResyncDumpJSONFile makes the scheduler cache dump its internal state as JSON at each failed resync. Default. CacheResyncDebugDumpJSONFile CacheResyncDebugMode = "DumpJSONFile" )
type CacheResyncDetectionMode ¶
type CacheResyncDetectionMode string
+kubebuilder:validation:Enum=Relaxed;Aggressive
const ( // CacheResyncDetectionRelaxed makes the NodeResourceTopologyMatch plugin reconcile the node state only when detecting guaranteed QoS pods request NUMA-specific resources. CacheResyncDetectionRelaxed CacheResyncDetectionMode = "Relaxed" // CacheResyncDetectionRelaxed makes the NodeResourceTopologyMatch plugin reconcile the node state when detecting any guaranteed QoS pods. CacheResyncDetectionAggressive CacheResyncDetectionMode = "Aggressive" )
type InfoRefreshMode ¶
type InfoRefreshMode string
+kubebuilder:validation:Enum=Periodic;Events;PeriodicAndEvents
const ( // InfoRefreshPeriodic is the default. Periodically polls the state and reports it. InfoRefreshPeriodic InfoRefreshMode = "Periodic" // InfoRefreshEvents reports a new state each time a pod lifecycle event is received. InfoRefreshEvents InfoRefreshMode = "Events" // InfoRefreshPeriodicAndEvents enables both periodic and event-based reporting. InfoRefreshPeriodicAndEvents InfoRefreshMode = "PeriodicAndEvents" )
type InfoRefreshPauseMode ¶
type InfoRefreshPauseMode string
+kubebuilder:validation:Enum=Disabled;Enabled
const ( // InfoRefreshPauseDisabled enables RTE and NRT sync InfoRefreshPauseDisabled InfoRefreshPauseMode = "Disabled" // InfoRefreshPauseEnabled pauses RTE and disables the NRT sync InfoRefreshPauseEnabled InfoRefreshPauseMode = "Enabled" )
type MachineConfigPool ¶
type MachineConfigPool struct {
// Name the name of the machine config pool
Name string `json:"name"`
// Conditions represents the latest available observations of MachineConfigPool current state.
// +optional
//+operator-sdk:csv:customresourcedefinitions:type=status,displayName="Optional conditions reported for this NodeGroup"
Conditions []mcov1.MachineConfigPoolCondition `json:"conditions,omitempty"`
// NodeGroupConfig represents the latest available configuration applied to this MachineConfigPool
// +optional
//+operator-sdk:csv:customresourcedefinitions:type=status,displayName="Optional configuration enforced on this NodeGroup"
Config *NodeGroupConfig `json:"config,omitempty"`
}
MachineConfigPool defines the observed state of each MachineConfigPool selected by node groups
func (*MachineConfigPool) DeepCopy ¶
func (in *MachineConfigPool) DeepCopy() *MachineConfigPool
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MachineConfigPool.
func (*MachineConfigPool) DeepCopyInto ¶
func (in *MachineConfigPool) DeepCopyInto(out *MachineConfigPool)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NUMAResourcesOperator ¶
type NUMAResourcesOperator struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec NUMAResourcesOperatorSpec `json:"spec,omitempty"`
Status NUMAResourcesOperatorStatus `json:"status,omitempty"`
}
NUMAResourcesOperator is the Schema for the numaresourcesoperators API +operator-sdk:csv:customresourcedefinitions:displayName="NUMA Resources Operator",resources={{DaemonSet,v1,rte-daemonset,ConfigMap,v1,rte-configmap}}
func (*NUMAResourcesOperator) DeepCopy ¶
func (in *NUMAResourcesOperator) DeepCopy() *NUMAResourcesOperator
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NUMAResourcesOperator.
func (*NUMAResourcesOperator) DeepCopyInto ¶
func (in *NUMAResourcesOperator) DeepCopyInto(out *NUMAResourcesOperator)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NUMAResourcesOperator) DeepCopyObject ¶
func (in *NUMAResourcesOperator) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NUMAResourcesOperator) Hub ¶
func (*NUMAResourcesOperator) Hub()
Hub marks this type as a conversion hub.
type NUMAResourcesOperatorList ¶
type NUMAResourcesOperatorList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []NUMAResourcesOperator `json:"items"`
}
NUMAResourcesOperatorList contains a list of NUMAResourcesOperator
func (*NUMAResourcesOperatorList) DeepCopy ¶
func (in *NUMAResourcesOperatorList) DeepCopy() *NUMAResourcesOperatorList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NUMAResourcesOperatorList.
func (*NUMAResourcesOperatorList) DeepCopyInto ¶
func (in *NUMAResourcesOperatorList) DeepCopyInto(out *NUMAResourcesOperatorList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NUMAResourcesOperatorList) DeepCopyObject ¶
func (in *NUMAResourcesOperatorList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NUMAResourcesOperatorSpec ¶
type NUMAResourcesOperatorSpec struct {
// Group of Nodes to enable RTE on
//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Group of nodes to enable RTE on"
NodeGroups []NodeGroup `json:"nodeGroups,omitempty"`
// Optional Resource Topology Exporter image URL
//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Optional RTE image URL",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"}
ExporterImage string `json:"imageSpec,omitempty"`
// Valid values are: "Normal", "Debug", "Trace", "TraceAll".
// Defaults to "Normal".
// +optional
// +kubebuilder:default=Normal
//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="RTE log verbosity"
LogLevel operatorv1.LogLevel `json:"logLevel,omitempty"`
// Optional Namespace/Name glob patterns of pod to ignore at node level
// +optional
//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Optional ignore pod namespace/name glob patterns"
PodExcludes []NamespacedName `json:"podExcludes,omitempty"`
}
NUMAResourcesOperatorSpec defines the desired state of NUMAResourcesOperator
func (*NUMAResourcesOperatorSpec) DeepCopy ¶
func (in *NUMAResourcesOperatorSpec) DeepCopy() *NUMAResourcesOperatorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NUMAResourcesOperatorSpec.
func (*NUMAResourcesOperatorSpec) DeepCopyInto ¶
func (in *NUMAResourcesOperatorSpec) DeepCopyInto(out *NUMAResourcesOperatorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NUMAResourcesOperatorStatus ¶
type NUMAResourcesOperatorStatus struct {
// DaemonSets of the configured RTEs, one per node group
//+operator-sdk:csv:customresourcedefinitions:type=status,displayName="RTE DaemonSets"
DaemonSets []NamespacedName `json:"daemonsets,omitempty"`
// MachineConfigPools resolved from configured node groups
//+operator-sdk:csv:customresourcedefinitions:type=status,displayName="RTE MCPs from node groups"
MachineConfigPools []MachineConfigPool `json:"machineconfigpools,omitempty"`
// Conditions show the current state of the NUMAResourcesOperator Operator
//+operator-sdk:csv:customresourcedefinitions:type=status,displayName="Condition reported"
Conditions []metav1.Condition `json:"conditions,omitempty"`
// RelatedObjects list of objects of interest for this operator
//+operator-sdk:csv:customresourcedefinitions:type=status,displayName="Related Objects"
RelatedObjects []configv1.ObjectReference `json:"relatedObjects,omitempty"`
}
NUMAResourcesOperatorStatus defines the observed state of NUMAResourcesOperator
func (*NUMAResourcesOperatorStatus) DeepCopy ¶
func (in *NUMAResourcesOperatorStatus) DeepCopy() *NUMAResourcesOperatorStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NUMAResourcesOperatorStatus.
func (*NUMAResourcesOperatorStatus) DeepCopyInto ¶
func (in *NUMAResourcesOperatorStatus) DeepCopyInto(out *NUMAResourcesOperatorStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NUMAResourcesScheduler ¶
type NUMAResourcesScheduler struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec NUMAResourcesSchedulerSpec `json:"spec,omitempty"`
Status NUMAResourcesSchedulerStatus `json:"status,omitempty"`
}
NUMAResourcesScheduler is the Schema for the numaresourcesschedulers API +operator-sdk:csv:customresourcedefinitions:displayName="NUMA Aware Scheduler",resources={{Deployment,v1,secondary-scheduler-deployment}}
func (*NUMAResourcesScheduler) DeepCopy ¶
func (in *NUMAResourcesScheduler) DeepCopy() *NUMAResourcesScheduler
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NUMAResourcesScheduler.
func (*NUMAResourcesScheduler) DeepCopyInto ¶
func (in *NUMAResourcesScheduler) DeepCopyInto(out *NUMAResourcesScheduler)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NUMAResourcesScheduler) DeepCopyObject ¶
func (in *NUMAResourcesScheduler) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NUMAResourcesScheduler) Hub ¶
func (*NUMAResourcesScheduler) Hub()
Hub marks this type as a conversion hub.
type NUMAResourcesSchedulerList ¶
type NUMAResourcesSchedulerList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []NUMAResourcesScheduler `json:"items"`
}
NUMAResourcesSchedulerList contains a list of NUMAResourcesScheduler
func (*NUMAResourcesSchedulerList) DeepCopy ¶
func (in *NUMAResourcesSchedulerList) DeepCopy() *NUMAResourcesSchedulerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NUMAResourcesSchedulerList.
func (*NUMAResourcesSchedulerList) DeepCopyInto ¶
func (in *NUMAResourcesSchedulerList) DeepCopyInto(out *NUMAResourcesSchedulerList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NUMAResourcesSchedulerList) DeepCopyObject ¶
func (in *NUMAResourcesSchedulerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NUMAResourcesSchedulerSpec ¶
type NUMAResourcesSchedulerSpec struct {
// Scheduler container image URL
//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Scheduler container image URL",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"}
SchedulerImage string `json:"imageSpec"`
// Scheduler name to be used in pod templates
//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Scheduler name",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"}
SchedulerName string `json:"schedulerName,omitempty"`
// Valid values are: "Normal", "Debug", "Trace", "TraceAll".
// Defaults to "Normal".
// +optional
// +kubebuilder:default=Normal
//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Scheduler log verbosity"
LogLevel operatorv1.LogLevel `json:"logLevel,omitempty"`
// Set the cache resync period. Use explicit 0 to disable.
// +optional
//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Scheduler cache resync period setting",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"}
CacheResyncPeriod *metav1.Duration `json:"cacheResyncPeriod,omitempty"`
// Set the cache resync debug options. Defaults to disable.
// +optional
//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Scheduler cache resync debug setting",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"}
CacheResyncDebug *CacheResyncDebugMode `json:"cacheResyncDebug,omitempty"`
// Set the informer type to be used by the scheduler to connect to the apiserver. Defaults to dedicated.
// +optional
//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Scheduler cache apiserver informer setting",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"}
SchedulerInformer *SchedulerInformerMode `json:"schedulerInformer,omitempty"`
// Set the cache resync detection mode. Default is to trigger resyncs only when detected guaranteed QoS pods which require NUMA-specific resources.
// +optional
//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Scheduler cache resync detection setting",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"}
CacheResyncDetection *CacheResyncDetectionMode `json:"cacheResyncDetection,omitempty"`
// ScoringStrategy a scoring model that determine how the plugin will score the nodes. Defaults to LeastAllocated.
// +optional
//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Scheduler scoring strategy setting",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"}
ScoringStrategy *ScoringStrategyParams `json:"scoringStrategy,omitempty"`
// Replicas control how many scheduler pods must be configured for High Availability (HA)
// +optional
//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Scheduler replicas",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:int"}
Replicas *int32 `json:"replicas,omitempty"`
}
NUMAResourcesSchedulerSpec defines the desired state of NUMAResourcesScheduler
func (*NUMAResourcesSchedulerSpec) DeepCopy ¶
func (in *NUMAResourcesSchedulerSpec) DeepCopy() *NUMAResourcesSchedulerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NUMAResourcesSchedulerSpec.
func (*NUMAResourcesSchedulerSpec) DeepCopyInto ¶
func (in *NUMAResourcesSchedulerSpec) DeepCopyInto(out *NUMAResourcesSchedulerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (NUMAResourcesSchedulerSpec) Normalize ¶
func (current NUMAResourcesSchedulerSpec) Normalize() NUMAResourcesSchedulerSpec
type NUMAResourcesSchedulerStatus ¶
type NUMAResourcesSchedulerStatus struct {
// Deployment of the secondary scheduler, namespaced name
//+operator-sdk:csv:customresourcedefinitions:type=status,displayName="Scheduler deployment"
Deployment NamespacedName `json:"deployment,omitempty"`
// Scheduler name to be used in pod templates
//+operator-sdk:csv:customresourcedefinitions:type=status,displayName="Scheduler name"
SchedulerName string `json:"schedulerName,omitempty"`
// CacheResyncPeriod shows the current cache resync period
// +optional
//+operator-sdk:csv:customresourcedefinitions:type=status,displayName="Scheduler cache resync period"
CacheResyncPeriod *metav1.Duration `json:"cacheResyncPeriod,omitempty"`
// Conditions show the current state of the NUMAResourcesOperator Operator
Conditions []metav1.Condition `json:"conditions,omitempty"`
// RelatedObjects list of objects of interest for this operator
//+operator-sdk:csv:customresourcedefinitions:type=status,displayName="Related Objects"
RelatedObjects []configv1.ObjectReference `json:"relatedObjects,omitempty"`
}
NUMAResourcesSchedulerStatus defines the observed state of NUMAResourcesScheduler
func (*NUMAResourcesSchedulerStatus) DeepCopy ¶
func (in *NUMAResourcesSchedulerStatus) DeepCopy() *NUMAResourcesSchedulerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NUMAResourcesSchedulerStatus.
func (*NUMAResourcesSchedulerStatus) DeepCopyInto ¶
func (in *NUMAResourcesSchedulerStatus) DeepCopyInto(out *NUMAResourcesSchedulerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NamespacedName ¶
type NamespacedName struct {
Namespace string `json:"namespace,omitempty"`
Name string `json:"name,omitempty"`
}
NamespacedName comprises a resource name, with a mandatory namespace, rendered as "<namespace>/<name>".
func (*NamespacedName) DeepCopy ¶
func (in *NamespacedName) DeepCopy() *NamespacedName
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespacedName.
func (*NamespacedName) DeepCopyInto ¶
func (in *NamespacedName) DeepCopyInto(out *NamespacedName)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (NamespacedName) String ¶
func (n NamespacedName) String() string
String returns the general purpose string representation
type NodeGroup ¶
type NodeGroup struct {
// MachineConfigPoolSelector defines label selector for the machine config pool
// +optional
MachineConfigPoolSelector *metav1.LabelSelector `json:"machineConfigPoolSelector,omitempty"`
// Config defines the RTE behavior for this NodeGroup
// +optional
Config *NodeGroupConfig `json:"config,omitempty"`
}
NodeGroup defines group of nodes that will run resource topology exporter daemon set You can choose the group of node by MachineConfigPoolSelector or by NodeSelector
func (*NodeGroup) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeGroup.
func (*NodeGroup) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (NodeGroup) NormalizeConfig ¶
func (nodeGroup NodeGroup) NormalizeConfig() NodeGroupConfig
type NodeGroupConfig ¶
type NodeGroupConfig struct {
// PodsFingerprinting defines if pod fingerprint should be reported for the machines belonging to this group
// +optional
//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Enable or disable the pods fingerprinting setting",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"}
PodsFingerprinting *PodsFingerprintingMode `json:"podsFingerprinting,omitempty"`
// InfoRefreshMode sets the mechanism which will be used to refresh the topology info.
// +optional
//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Topology info mechanism setting",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"}
InfoRefreshMode *InfoRefreshMode `json:"infoRefreshMode,omitempty"`
// InfoRefreshPeriod sets the topology info refresh period. Use explicit 0 to disable.
// +optional
//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Topology info refresh period setting",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"}
InfoRefreshPeriod *metav1.Duration `json:"infoRefreshPeriod,omitempty"`
// InfoRefreshPause defines if updates to NRTs are paused for the machines belonging to this group
// +optional
//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Enable or disable the RTE pause setting",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"}
InfoRefreshPause *InfoRefreshPauseMode `json:"infoRefreshPause,omitempty"`
// Tolerations overrides tolerations to be set into RTE daemonsets for this NodeGroup. If not empty, the tolerations will be the one set here.
// Leave empty to make the system use the default tolerations.
// +optional
//+operator-sdk:csv:customresourcedefinitions:type=spec,displayName="Extra tolerations for the topology updater daemonset",xDescriptors={"urn:alm:descriptor:com.tectonic.ui:text"}
Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
}
NodeGroupConfig exposes topology info reporting setting per node group
func DefaultNodeGroupConfig ¶
func DefaultNodeGroupConfig() NodeGroupConfig
func (*NodeGroupConfig) DeepCopy ¶
func (in *NodeGroupConfig) DeepCopy() *NodeGroupConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeGroupConfig.
func (*NodeGroupConfig) DeepCopyInto ¶
func (in *NodeGroupConfig) DeepCopyInto(out *NodeGroupConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (NodeGroupConfig) Merge ¶
func (current NodeGroupConfig) Merge(updated NodeGroupConfig) NodeGroupConfig
func (*NodeGroupConfig) SetDefaults ¶
func (ngc *NodeGroupConfig) SetDefaults()
func (*NodeGroupConfig) ToString ¶
func (ngc *NodeGroupConfig) ToString() string
type PodsFingerprintingMode ¶
type PodsFingerprintingMode string
+kubebuilder:validation:Enum=Disabled;Enabled;EnabledExclusiveResources
const ( // PodsFingerprintingDisabled disables the pod fingerprinting reporting. PodsFingerprintingDisabled PodsFingerprintingMode = "Disabled" // PodsFingerprintingEnabled enables the pod fingerprint considering all the pods running on nodes. It is the default. PodsFingerprintingEnabled PodsFingerprintingMode = "Enabled" // PodsFingerprintingEnabledExclusiveResources enables the pod fingerprint considering only pods which have exclusive resources assigned. PodsFingerprintingEnabledExclusiveResources PodsFingerprintingMode = "EnabledExclusiveResources" )
type ResourceSpecParams ¶
type ResourceSpecParams struct {
// Name of the resource.
Name string `json:"name"`
// Weight of the resource.
Weight int64 `json:"weight,omitempty"`
}
func (*ResourceSpecParams) DeepCopy ¶
func (in *ResourceSpecParams) DeepCopy() *ResourceSpecParams
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceSpecParams.
func (*ResourceSpecParams) DeepCopyInto ¶
func (in *ResourceSpecParams) DeepCopyInto(out *ResourceSpecParams)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SchedulerInformerMode ¶
type SchedulerInformerMode string
+kubebuilder:validation:Enum=Shared;Dedicated
const ( SchedulerInformerShared SchedulerInformerMode = "Shared" // SchedulerInformerDedicated sets an additional separate informer just for the NodeResourceTopologyMatch plugin. Default. SchedulerInformerDedicated SchedulerInformerMode = "Dedicated" )
type ScoringStrategyParams ¶
type ScoringStrategyParams struct {
Type ScoringStrategyType `json:"type,omitempty"`
Resources []ResourceSpecParams `json:"resources,omitempty"`
}
func (*ScoringStrategyParams) DeepCopy ¶
func (in *ScoringStrategyParams) DeepCopy() *ScoringStrategyParams
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScoringStrategyParams.
func (*ScoringStrategyParams) DeepCopyInto ¶
func (in *ScoringStrategyParams) DeepCopyInto(out *ScoringStrategyParams)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ScoringStrategyType ¶
type ScoringStrategyType string
+kubebuilder:validation:Enum=MostAllocated;BalancedAllocation;LeastAllocated
const ( // MostAllocated strategy favors node with the least amount of available resource MostAllocated ScoringStrategyType = "MostAllocated" // BalancedAllocation strategy favors nodes with balanced resource usage rate BalancedAllocation ScoringStrategyType = "BalancedAllocation" // LeastAllocated strategy favors node with the most amount of available resource LeastAllocated ScoringStrategyType = "LeastAllocated" )
Source Files
¶
- groupversion_info.go
- namespacedname.go
- numaresourcesoperator_conversion.go
- numaresourcesoperator_defaults.go
- numaresourcesoperator_normalize.go
- numaresourcesoperator_types.go
- numaresourcesoperator_webhook.go
- numaresourcesscheduler_conversion.go
- numaresourcesscheduler_defaults.go
- numaresourcesscheduler_normalize.go
- numaresourcesscheduler_types.go
- numaresourcesscheduler_webhook.go
- zz_generated.deepcopy.go