v1

package
v0.30.0 Latest Latest
Warning

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

Go to latest
Published: May 15, 2024 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Overview

Package v1 contains API Schema definitions for the deviceplugin v1 API group +kubebuilder:object:generate=true +groupName=deviceplugin.intel.com

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "deviceplugin.intel.com", 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
)

Functions

This section is empty.

Types

type DlbDevicePlugin added in v0.23.0

type DlbDevicePlugin struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   DlbDevicePluginSpec   `json:"spec,omitempty"`
	Status DlbDevicePluginStatus `json:"status,omitempty"`
}

DlbDevicePlugin is the Schema for the dlbdeviceplugins API. It represents the DLB device plugin responsible for advertising Intel DLB hardware resources to the kubelet.

func (*DlbDevicePlugin) DeepCopy added in v0.23.0

func (in *DlbDevicePlugin) DeepCopy() *DlbDevicePlugin

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

func (*DlbDevicePlugin) DeepCopyInto added in v0.23.0

func (in *DlbDevicePlugin) DeepCopyInto(out *DlbDevicePlugin)

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

func (*DlbDevicePlugin) DeepCopyObject added in v0.23.0

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

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

func (*DlbDevicePlugin) Default added in v0.23.0

func (r *DlbDevicePlugin) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type.

func (*DlbDevicePlugin) SetupWebhookWithManager added in v0.23.0

func (r *DlbDevicePlugin) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager sets up a webhook for DlbDevicePlugin custom resources.

func (*DlbDevicePlugin) ValidateCreate added in v0.23.0

func (r *DlbDevicePlugin) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*DlbDevicePlugin) ValidateDelete added in v0.23.0

func (r *DlbDevicePlugin) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*DlbDevicePlugin) ValidateUpdate added in v0.23.0

func (r *DlbDevicePlugin) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type DlbDevicePluginList added in v0.23.0

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

DlbDevicePluginList contains a list of DlbDevicePlugin.

func (*DlbDevicePluginList) DeepCopy added in v0.23.0

func (in *DlbDevicePluginList) DeepCopy() *DlbDevicePluginList

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

func (*DlbDevicePluginList) DeepCopyInto added in v0.23.0

func (in *DlbDevicePluginList) DeepCopyInto(out *DlbDevicePluginList)

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

func (*DlbDevicePluginList) DeepCopyObject added in v0.23.0

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

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

type DlbDevicePluginSpec added in v0.23.0

type DlbDevicePluginSpec struct {

	// NodeSelector provides a simple way to constrain device plugin pods to nodes with particular labels.
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// Image is a container image with DLB device plugin executable.
	Image string `json:"image,omitempty"`

	// InitImage is a container image with a script that initializes devices.
	InitImage string `json:"initImage,omitempty"`

	// Specialized nodes (e.g., with accelerators) can be Tainted to make sure unwanted pods are not scheduled on them. Tolerations can be set for the plugin pod to neutralize the Taint.
	Tolerations []v1.Toleration `json:"tolerations,omitempty"`

	// LogLevel sets the plugin's log level.
	// +kubebuilder:validation:Minimum=0
	LogLevel int `json:"logLevel,omitempty"`
}

DlbDevicePluginSpec defines the desired state of DlbDevicePlugin.

func (*DlbDevicePluginSpec) DeepCopy added in v0.23.0

func (in *DlbDevicePluginSpec) DeepCopy() *DlbDevicePluginSpec

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

func (*DlbDevicePluginSpec) DeepCopyInto added in v0.23.0

func (in *DlbDevicePluginSpec) DeepCopyInto(out *DlbDevicePluginSpec)

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

type DlbDevicePluginStatus added in v0.23.0

type DlbDevicePluginStatus struct {

	// ControlledDaemoSet references the DaemonSet controlled by the operator.
	// +optional
	ControlledDaemonSet v1.ObjectReference `json:"controlledDaemonSet,omitempty"`

	// The list of Node names where the device plugin pods are running.
	// +optional
	NodeNames []string `json:"nodeNames,omitempty"`

	// The total number of nodes that should be running the device plugin
	// pod (including nodes correctly running the device plugin pod).
	DesiredNumberScheduled int32 `json:"desiredNumberScheduled"`

	// The number of nodes that should be running the device plugin pod and have one
	// or more of the device plugin pod running and ready.
	NumberReady int32 `json:"numberReady"`
}

DlbDevicePluginStatus defines the observed state of DlbDevicePlugin.

func (*DlbDevicePluginStatus) DeepCopy added in v0.23.0

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

func (*DlbDevicePluginStatus) DeepCopyInto added in v0.23.0

func (in *DlbDevicePluginStatus) DeepCopyInto(out *DlbDevicePluginStatus)

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

type DsaDevicePlugin added in v0.20.0

type DsaDevicePlugin struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Status DsaDevicePluginStatus `json:"status,omitempty"`
	Spec   DsaDevicePluginSpec   `json:"spec,omitempty"`
}

DsaDevicePlugin is the Schema for the dsadeviceplugins API. It represents the DSA device plugin responsible for advertising Intel DSA hardware resources to the kubelet.

func (*DsaDevicePlugin) DeepCopy added in v0.20.0

func (in *DsaDevicePlugin) DeepCopy() *DsaDevicePlugin

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

func (*DsaDevicePlugin) DeepCopyInto added in v0.20.0

func (in *DsaDevicePlugin) DeepCopyInto(out *DsaDevicePlugin)

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

func (*DsaDevicePlugin) DeepCopyObject added in v0.20.0

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

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

func (*DsaDevicePlugin) Default added in v0.20.0

func (r *DsaDevicePlugin) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type.

func (*DsaDevicePlugin) SetupWebhookWithManager added in v0.20.0

func (r *DsaDevicePlugin) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager sets up a webhook for DsaDevicePlugin custom resources.

func (*DsaDevicePlugin) ValidateCreate added in v0.20.0

func (r *DsaDevicePlugin) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*DsaDevicePlugin) ValidateDelete added in v0.20.0

func (r *DsaDevicePlugin) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*DsaDevicePlugin) ValidateUpdate added in v0.20.0

func (r *DsaDevicePlugin) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type DsaDevicePluginList added in v0.20.0

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

DsaDevicePluginList contains a list of DsaDevicePlugin.

func (*DsaDevicePluginList) DeepCopy added in v0.20.0

func (in *DsaDevicePluginList) DeepCopy() *DsaDevicePluginList

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

func (*DsaDevicePluginList) DeepCopyInto added in v0.20.0

func (in *DsaDevicePluginList) DeepCopyInto(out *DsaDevicePluginList)

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

func (*DsaDevicePluginList) DeepCopyObject added in v0.20.0

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

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

type DsaDevicePluginSpec added in v0.20.0

type DsaDevicePluginSpec struct {

	// NodeSelector provides a simple way to constrain device plugin pods to nodes with particular labels.
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// Image is a container image with DSA device plugin executable.
	Image string `json:"image,omitempty"`

	// InitImage is an initcontainer image to configure and enable DSA devices and workqueues with idxd-config (accel-config) utility
	InitImage string `json:"initImage,omitempty"`

	// ProvisioningConfig is a ConfigMap used to pass the DSA devices and workqueues configuration into idxd-config initcontainer.
	ProvisioningConfig string `json:"provisioningConfig,omitempty"`

	// Specialized nodes (e.g., with accelerators) can be Tainted to make sure unwanted pods are not scheduled on them. Tolerations can be set for the plugin pod to neutralize the Taint.
	Tolerations []v1.Toleration `json:"tolerations,omitempty"`

	// SharedDevNum is a number of containers that can share the same DSA device.
	// +kubebuilder:validation:Minimum=1
	SharedDevNum int `json:"sharedDevNum,omitempty"`

	// LogLevel sets the plugin's log level.
	// +kubebuilder:validation:Minimum=0
	LogLevel int `json:"logLevel,omitempty"`
}

DsaDevicePluginSpec defines the desired state of DsaDevicePlugin.

func (*DsaDevicePluginSpec) DeepCopy added in v0.20.0

func (in *DsaDevicePluginSpec) DeepCopy() *DsaDevicePluginSpec

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

func (*DsaDevicePluginSpec) DeepCopyInto added in v0.20.0

func (in *DsaDevicePluginSpec) DeepCopyInto(out *DsaDevicePluginSpec)

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

type DsaDevicePluginStatus added in v0.20.0

type DsaDevicePluginStatus struct {

	// ControlledDaemoSet references the DaemonSet controlled by the operator.
	// +optional
	ControlledDaemonSet v1.ObjectReference `json:"controlledDaemonSet,omitempty"`

	// The list of Node names where the device plugin pods are running.
	// +optional
	NodeNames []string `json:"nodeNames,omitempty"`

	// The total number of nodes that should be running the device plugin
	// pod (including nodes correctly running the device plugin pod).
	DesiredNumberScheduled int32 `json:"desiredNumberScheduled"`

	// The number of nodes that should be running the device plugin pod and have one
	// or more of the device plugin pod running and ready.
	NumberReady int32 `json:"numberReady"`
}

DsaDevicePluginStatus defines the observed state of DsaDevicePlugin.

func (*DsaDevicePluginStatus) DeepCopy added in v0.20.0

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

func (*DsaDevicePluginStatus) DeepCopyInto added in v0.20.0

func (in *DsaDevicePluginStatus) DeepCopyInto(out *DsaDevicePluginStatus)

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

type FpgaDevicePlugin added in v0.19.0

type FpgaDevicePlugin struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   FpgaDevicePluginSpec   `json:"spec,omitempty"`
	Status FpgaDevicePluginStatus `json:"status,omitempty"`
}

FpgaDevicePlugin is the Schema for the fpgadeviceplugins API. It represents the FPGA device plugin responsible for advertising Intel FPGA hardware resources to the kubelet.

func (*FpgaDevicePlugin) DeepCopy added in v0.19.0

func (in *FpgaDevicePlugin) DeepCopy() *FpgaDevicePlugin

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

func (*FpgaDevicePlugin) DeepCopyInto added in v0.19.0

func (in *FpgaDevicePlugin) DeepCopyInto(out *FpgaDevicePlugin)

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

func (*FpgaDevicePlugin) DeepCopyObject added in v0.19.0

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

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

func (*FpgaDevicePlugin) Default added in v0.19.0

func (r *FpgaDevicePlugin) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type.

func (*FpgaDevicePlugin) SetupWebhookWithManager added in v0.19.0

func (r *FpgaDevicePlugin) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager sets up a webhook for FpgaDevicePlugin custom resources.

func (*FpgaDevicePlugin) ValidateCreate added in v0.19.0

func (r *FpgaDevicePlugin) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*FpgaDevicePlugin) ValidateDelete added in v0.19.0

func (r *FpgaDevicePlugin) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*FpgaDevicePlugin) ValidateUpdate added in v0.19.0

func (r *FpgaDevicePlugin) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type FpgaDevicePluginList added in v0.19.0

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

FpgaDevicePluginList contains a list of FpgaDevicePlugin.

func (*FpgaDevicePluginList) DeepCopy added in v0.19.0

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

func (*FpgaDevicePluginList) DeepCopyInto added in v0.19.0

func (in *FpgaDevicePluginList) DeepCopyInto(out *FpgaDevicePluginList)

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

func (*FpgaDevicePluginList) DeepCopyObject added in v0.19.0

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

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

type FpgaDevicePluginSpec added in v0.19.0

type FpgaDevicePluginSpec struct {

	// NodeSelector provides a simple way to constrain device plugin pods to nodes with particular labels.
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// Image is a container image with FPGA device plugin executable.
	Image string `json:"image,omitempty"`

	// InitImage is a container image with tools used to initialize the host before starting FPGA workloads on it.
	InitImage string `json:"initImage,omitempty"`

	// Mode is a mode of the plugin's operation.
	// +kubebuilder:validation:Enum=af;region;regiondevel
	Mode string `json:"mode,omitempty"`

	// Specialized nodes (e.g., with accelerators) can be Tainted to make sure unwanted pods are not scheduled on them. Tolerations can be set for the plugin pod to neutralize the Taint.
	Tolerations []v1.Toleration `json:"tolerations,omitempty"`

	// LogLevel sets the plugin's log level.
	// +kubebuilder:validation:Minimum=0
	LogLevel int `json:"logLevel,omitempty"`
}

FpgaDevicePluginSpec defines the desired state of FpgaDevicePlugin.

func (*FpgaDevicePluginSpec) DeepCopy added in v0.19.0

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

func (*FpgaDevicePluginSpec) DeepCopyInto added in v0.19.0

func (in *FpgaDevicePluginSpec) DeepCopyInto(out *FpgaDevicePluginSpec)

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

type FpgaDevicePluginStatus added in v0.19.0

type FpgaDevicePluginStatus struct {

	// ControlledDaemoSet references the DaemonSet controlled by the operator.
	// +optional
	ControlledDaemonSet v1.ObjectReference `json:"controlledDaemonSet,omitempty"`

	// The list of Node names where the device plugin pods are running.
	// +optional
	NodeNames []string `json:"nodeNames,omitempty"`

	// The total number of nodes that should be running the device plugin
	// pod (including nodes correctly running the device plugin pod).
	DesiredNumberScheduled int32 `json:"desiredNumberScheduled"`

	// The number of nodes that should be running the device plugin pod and have one
	// or more of the device plugin pod running and ready.
	NumberReady int32 `json:"numberReady"`
}

FpgaDevicePluginStatus defines the observed state of FpgaDevicePlugin.

func (*FpgaDevicePluginStatus) DeepCopy added in v0.19.0

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

func (*FpgaDevicePluginStatus) DeepCopyInto added in v0.19.0

func (in *FpgaDevicePluginStatus) DeepCopyInto(out *FpgaDevicePluginStatus)

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

type GpuDevicePlugin

type GpuDevicePlugin struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Status GpuDevicePluginStatus `json:"status,omitempty"`
	Spec   GpuDevicePluginSpec   `json:"spec,omitempty"`
}

GpuDevicePlugin is the Schema for the gpudeviceplugins API. It represents the GPU device plugin responsible for advertising Intel GPU hardware resources to the kubelet.

func (*GpuDevicePlugin) DeepCopy

func (in *GpuDevicePlugin) DeepCopy() *GpuDevicePlugin

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

func (*GpuDevicePlugin) DeepCopyInto

func (in *GpuDevicePlugin) DeepCopyInto(out *GpuDevicePlugin)

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

func (*GpuDevicePlugin) DeepCopyObject

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

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

func (*GpuDevicePlugin) Default

func (r *GpuDevicePlugin) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type.

func (*GpuDevicePlugin) SetupWebhookWithManager

func (r *GpuDevicePlugin) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager sets up a webhook for GpuDevicePlugin custom resources.

func (*GpuDevicePlugin) ValidateCreate

func (r *GpuDevicePlugin) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*GpuDevicePlugin) ValidateDelete

func (r *GpuDevicePlugin) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*GpuDevicePlugin) ValidateUpdate

func (r *GpuDevicePlugin) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type GpuDevicePluginList

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

GpuDevicePluginList contains a list of GpuDevicePlugin.

func (*GpuDevicePluginList) DeepCopy

func (in *GpuDevicePluginList) DeepCopy() *GpuDevicePluginList

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

func (*GpuDevicePluginList) DeepCopyInto

func (in *GpuDevicePluginList) DeepCopyInto(out *GpuDevicePluginList)

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

func (*GpuDevicePluginList) DeepCopyObject

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

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

type GpuDevicePluginSpec

type GpuDevicePluginSpec struct {

	// NodeSelector provides a simple way to constrain device plugin pods to nodes with particular labels.
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// Image is a container image with GPU device plugin executable.
	Image string `json:"image,omitempty"`

	// InitImage is a container image with tools (e.g., GPU NFD source hook) installed on each node.
	InitImage string `json:"initImage,omitempty"`

	// PreferredAllocationPolicy sets the mode of allocating GPU devices on a node.
	// See documentation for detailed description of the policies. Only valid when SharedDevNum > 1 is set.
	// Not applicable with ResourceManager.
	// +kubebuilder:validation:Enum=balanced;packed;none
	PreferredAllocationPolicy string `json:"preferredAllocationPolicy,omitempty"`

	// Specialized nodes (e.g., with accelerators) can be Tainted to make sure unwanted pods are not scheduled on them. Tolerations can be set for the plugin pod to neutralize the Taint.
	Tolerations []v1.Toleration `json:"tolerations,omitempty"`

	// SharedDevNum is a number of containers that can share the same GPU device.
	// +kubebuilder:validation:Minimum=1
	SharedDevNum int `json:"sharedDevNum,omitempty"`

	// LogLevel sets the plugin's log level.
	// +kubebuilder:validation:Minimum=0
	LogLevel int `json:"logLevel,omitempty"`

	// ResourceManager handles the fractional resource management for multi-GPU nodes. Enable only for clusters with GPU Aware Scheduling.
	ResourceManager bool `json:"resourceManager,omitempty"`

	// EnableMonitoring enables the monitoring resource ('i915_monitoring')
	// which gives access to all GPU devices on given node. Typically used with Intel XPU-Manager.
	EnableMonitoring bool `json:"enableMonitoring,omitempty"`
}

GpuDevicePluginSpec defines the desired state of GpuDevicePlugin.

func (*GpuDevicePluginSpec) DeepCopy

func (in *GpuDevicePluginSpec) DeepCopy() *GpuDevicePluginSpec

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

func (*GpuDevicePluginSpec) DeepCopyInto

func (in *GpuDevicePluginSpec) DeepCopyInto(out *GpuDevicePluginSpec)

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

type GpuDevicePluginStatus

type GpuDevicePluginStatus struct {

	// ControlledDaemoSet references the DaemonSet controlled by the operator.
	// +optional
	ControlledDaemonSet v1.ObjectReference `json:"controlledDaemonSet,omitempty"`

	// The list of Node names where the device plugin pods are running.
	// +optional
	NodeNames []string `json:"nodeNames,omitempty"`

	// The total number of nodes that should be running the device plugin
	// pod (including nodes correctly running the device plugin pod).
	DesiredNumberScheduled int32 `json:"desiredNumberScheduled"`

	// The number of nodes that should be running the device plugin pod and have one
	// or more of the device plugin pod running and ready.
	NumberReady int32 `json:"numberReady"`
}

GpuDevicePluginStatus defines the observed state of GpuDevicePlugin. TODO(rojkov): consider code deduplication with QatDevicePluginStatus.

func (*GpuDevicePluginStatus) DeepCopy

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

func (*GpuDevicePluginStatus) DeepCopyInto

func (in *GpuDevicePluginStatus) DeepCopyInto(out *GpuDevicePluginStatus)

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

type IaaDevicePlugin added in v0.24.0

type IaaDevicePlugin struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Status IaaDevicePluginStatus `json:"status,omitempty"`
	Spec   IaaDevicePluginSpec   `json:"spec,omitempty"`
}

IaaDevicePlugin is the Schema for the iaadeviceplugins API. It represents the IAA device plugin responsible for advertising Intel IAA hardware resources to the kubelet.

func (*IaaDevicePlugin) DeepCopy added in v0.24.0

func (in *IaaDevicePlugin) DeepCopy() *IaaDevicePlugin

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

func (*IaaDevicePlugin) DeepCopyInto added in v0.24.0

func (in *IaaDevicePlugin) DeepCopyInto(out *IaaDevicePlugin)

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

func (*IaaDevicePlugin) DeepCopyObject added in v0.24.0

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

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

func (*IaaDevicePlugin) Default added in v0.24.0

func (r *IaaDevicePlugin) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type.

func (*IaaDevicePlugin) SetupWebhookWithManager added in v0.24.0

func (r *IaaDevicePlugin) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager sets up a webhook for IaaDevicePlugin custom resources.

func (*IaaDevicePlugin) ValidateCreate added in v0.24.0

func (r *IaaDevicePlugin) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*IaaDevicePlugin) ValidateDelete added in v0.24.0

func (r *IaaDevicePlugin) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*IaaDevicePlugin) ValidateUpdate added in v0.24.0

func (r *IaaDevicePlugin) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type IaaDevicePluginList added in v0.24.0

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

IaaDevicePluginList contains a list of IaaDevicePlugin.

func (*IaaDevicePluginList) DeepCopy added in v0.24.0

func (in *IaaDevicePluginList) DeepCopy() *IaaDevicePluginList

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

func (*IaaDevicePluginList) DeepCopyInto added in v0.24.0

func (in *IaaDevicePluginList) DeepCopyInto(out *IaaDevicePluginList)

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

func (*IaaDevicePluginList) DeepCopyObject added in v0.24.0

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

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

type IaaDevicePluginSpec added in v0.24.0

type IaaDevicePluginSpec struct {

	// NodeSelector provides a simple way to constrain device plugin pods to nodes with particular labels.
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// Image is a container image with IAA device plugin executable.
	Image string `json:"image,omitempty"`

	// InitImage is an initcontainer image to configure and enable IAA devices and workqueues with accel-config utility
	InitImage string `json:"initImage,omitempty"`

	// ProvisioningConfig is a ConfigMap used to pass the IAA configuration into idxd initcontainer.
	ProvisioningConfig string `json:"provisioningConfig,omitempty"`

	// Specialized nodes (e.g., with accelerators) can be Tainted to make sure unwanted pods are not scheduled on them. Tolerations can be set for the plugin pod to neutralize the Taint.
	Tolerations []v1.Toleration `json:"tolerations,omitempty"`

	// SharedDevNum is a number of containers that can share the same IAA device.
	// +kubebuilder:validation:Minimum=1
	SharedDevNum int `json:"sharedDevNum,omitempty"`

	// LogLevel sets the plugin's log level.
	// +kubebuilder:validation:Minimum=0
	LogLevel int `json:"logLevel,omitempty"`
}

IaaDevicePluginSpec defines the desired state of IaaDevicePlugin.

func (*IaaDevicePluginSpec) DeepCopy added in v0.24.0

func (in *IaaDevicePluginSpec) DeepCopy() *IaaDevicePluginSpec

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

func (*IaaDevicePluginSpec) DeepCopyInto added in v0.24.0

func (in *IaaDevicePluginSpec) DeepCopyInto(out *IaaDevicePluginSpec)

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

type IaaDevicePluginStatus added in v0.24.0

type IaaDevicePluginStatus struct {

	// ControlledDaemoSet references the DaemonSet controlled by the operator.
	// +optional
	ControlledDaemonSet v1.ObjectReference `json:"controlledDaemonSet,omitempty"`

	// The list of Node names where the device plugin pods are running.
	// +optional
	NodeNames []string `json:"nodeNames,omitempty"`

	// The total number of nodes that should be running the device plugin
	// pod (including nodes correctly running the device plugin pod).
	DesiredNumberScheduled int32 `json:"desiredNumberScheduled"`

	// The number of nodes that should be running the device plugin pod and have one
	// or more of the device plugin pod running and ready.
	NumberReady int32 `json:"numberReady"`
}

IaaDevicePluginStatus defines the observed state of IaaDevicePlugin.

func (*IaaDevicePluginStatus) DeepCopy added in v0.24.0

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

func (*IaaDevicePluginStatus) DeepCopyInto added in v0.24.0

func (in *IaaDevicePluginStatus) DeepCopyInto(out *IaaDevicePluginStatus)

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

type KernelVfDriver

type KernelVfDriver string

KernelVfDriver is a VF device driver for QuickAssist devices.

type QatDevicePlugin

type QatDevicePlugin struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Status QatDevicePluginStatus `json:"status,omitempty"`
	Spec   QatDevicePluginSpec   `json:"spec,omitempty"`
}

QatDevicePlugin is the Schema for the qatdeviceplugins API. It represents the QAT device plugin responsible for advertising Intel QuickAssist Technology hardware resources to the kubelet.

func (*QatDevicePlugin) DeepCopy

func (in *QatDevicePlugin) DeepCopy() *QatDevicePlugin

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

func (*QatDevicePlugin) DeepCopyInto

func (in *QatDevicePlugin) DeepCopyInto(out *QatDevicePlugin)

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

func (*QatDevicePlugin) DeepCopyObject

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

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

func (*QatDevicePlugin) Default

func (r *QatDevicePlugin) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type.

func (*QatDevicePlugin) SetupWebhookWithManager

func (r *QatDevicePlugin) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager sets up a webhook for QatDevicePlugin custom resources.

func (*QatDevicePlugin) ValidateCreate

func (r *QatDevicePlugin) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*QatDevicePlugin) ValidateDelete

func (r *QatDevicePlugin) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*QatDevicePlugin) ValidateUpdate

func (r *QatDevicePlugin) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type QatDevicePluginList

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

QatDevicePluginList contains a list of QatDevicePlugin.

func (*QatDevicePluginList) DeepCopy

func (in *QatDevicePluginList) DeepCopy() *QatDevicePluginList

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

func (*QatDevicePluginList) DeepCopyInto

func (in *QatDevicePluginList) DeepCopyInto(out *QatDevicePluginList)

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

func (*QatDevicePluginList) DeepCopyObject

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

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

type QatDevicePluginSpec

type QatDevicePluginSpec struct {

	// Image is a container image with QAT device plugin executable.
	Image string `json:"image,omitempty"`

	// InitImage is a container image with a script that initialize devices.
	InitImage string `json:"initImage,omitempty"`

	// ProvisioningConfig is a ConfigMap used to pass the configuration of QAT devices into qat initcontainer.
	ProvisioningConfig string `json:"provisioningConfig,omitempty"`

	// PreferredAllocationPolicy sets the mode of allocating QAT devices on a node.
	// See documentation for detailed description of the policies.
	// +kubebuilder:validation:Enum=balanced;packed
	PreferredAllocationPolicy string `json:"preferredAllocationPolicy,omitempty"`

	// DpdkDriver is a DPDK device driver for configuring the QAT device.
	// +kubebuilder:validation:Enum=igb_uio;vfio-pci
	DpdkDriver string `json:"dpdkDriver,omitempty"`

	// NodeSelector provides a simple way to constrain device plugin pods to nodes with particular labels.
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// KernelVfDrivers is a list of VF device drivers for the QuickAssist devices in the system.
	KernelVfDrivers []KernelVfDriver `json:"kernelVfDrivers,omitempty"`

	// Specialized nodes (e.g., with accelerators) can be Tainted to make sure unwanted pods are not scheduled on them. Tolerations can be set for the plugin pod to neutralize the Taint.
	Tolerations []v1.Toleration `json:"tolerations,omitempty"`

	// MaxNumDevices is a maximum number of QAT devices to be provided to the QuickAssist device plugin
	// +kubebuilder:validation:Minimum=1
	MaxNumDevices int `json:"maxNumDevices,omitempty"`

	// LogLevel sets the plugin's log level.
	// +kubebuilder:validation:Minimum=0
	LogLevel int `json:"logLevel,omitempty"`
}

QatDevicePluginSpec defines the desired state of QatDevicePlugin.

func (*QatDevicePluginSpec) DeepCopy

func (in *QatDevicePluginSpec) DeepCopy() *QatDevicePluginSpec

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

func (*QatDevicePluginSpec) DeepCopyInto

func (in *QatDevicePluginSpec) DeepCopyInto(out *QatDevicePluginSpec)

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

type QatDevicePluginStatus

type QatDevicePluginStatus struct {

	// ControlledDaemoSet references the DaemonSet controlled by the operator.
	// +optional
	ControlledDaemonSet v1.ObjectReference `json:"controlledDaemonSet,omitempty"`

	// The list of Node names where the device plugin pods are running.
	// +optional
	NodeNames []string `json:"nodeNames,omitempty"`

	// The total number of nodes that should be running the device plugin
	// pod (including nodes correctly running the device plugin pod).
	DesiredNumberScheduled int32 `json:"desiredNumberScheduled"`

	// The number of nodes that should be running the device plugin pod and have one
	// or more of the device plugin pod running and ready.
	NumberReady int32 `json:"numberReady"`
}

QatDevicePluginStatus defines the observed state of QatDevicePlugin. TODO(rojkov): consider code deduplication with GpuDevicePluginStatus.

func (*QatDevicePluginStatus) DeepCopy

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

func (*QatDevicePluginStatus) DeepCopyInto

func (in *QatDevicePluginStatus) DeepCopyInto(out *QatDevicePluginStatus)

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

type SgxDevicePlugin added in v0.19.0

type SgxDevicePlugin struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Status SgxDevicePluginStatus `json:"status,omitempty"`
	Spec   SgxDevicePluginSpec   `json:"spec,omitempty"`
}

SgxDevicePlugin is the Schema for the sgxdeviceplugins API. It represents the SGX device plugin responsible for advertising SGX device nodes to the kubelet.

func (*SgxDevicePlugin) DeepCopy added in v0.19.0

func (in *SgxDevicePlugin) DeepCopy() *SgxDevicePlugin

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

func (*SgxDevicePlugin) DeepCopyInto added in v0.19.0

func (in *SgxDevicePlugin) DeepCopyInto(out *SgxDevicePlugin)

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

func (*SgxDevicePlugin) DeepCopyObject added in v0.19.0

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

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

func (*SgxDevicePlugin) Default added in v0.19.0

func (r *SgxDevicePlugin) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type.

func (*SgxDevicePlugin) SetupWebhookWithManager added in v0.19.0

func (r *SgxDevicePlugin) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager sets up a webhook for SgxDevicePlugin custom resources.

func (*SgxDevicePlugin) ValidateCreate added in v0.19.0

func (r *SgxDevicePlugin) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*SgxDevicePlugin) ValidateDelete added in v0.19.0

func (r *SgxDevicePlugin) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*SgxDevicePlugin) ValidateUpdate added in v0.19.0

func (r *SgxDevicePlugin) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type SgxDevicePluginList added in v0.19.0

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

SgxDevicePluginList contains a list of SgxDevicePlugin.

func (*SgxDevicePluginList) DeepCopy added in v0.19.0

func (in *SgxDevicePluginList) DeepCopy() *SgxDevicePluginList

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

func (*SgxDevicePluginList) DeepCopyInto added in v0.19.0

func (in *SgxDevicePluginList) DeepCopyInto(out *SgxDevicePluginList)

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

func (*SgxDevicePluginList) DeepCopyObject added in v0.19.0

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

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

type SgxDevicePluginSpec added in v0.19.0

type SgxDevicePluginSpec struct {

	// NodeSelector provides a simple way to constrain device plugin pods to nodes with particular labels.
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`

	// Image is a container image with SGX device plugin executable.
	Image string `json:"image,omitempty"`

	// InitImage is a container image with tools (i.e., SGX NFD source hook) installed on each node.
	// Recommendation is to leave this unset and prefer the SGX NodeFeatureRule instead.
	InitImage string `json:"initImage,omitempty"`

	// Specialized nodes (e.g., with accelerators) can be Tainted to make sure unwanted pods are not scheduled on them. Tolerations can be set for the plugin pod to neutralize the Taint.
	Tolerations []v1.Toleration `json:"tolerations,omitempty"`

	// EnclaveLimit is a number of containers that can share the same SGX enclave device.
	// +kubebuilder:validation:Minimum=1
	EnclaveLimit int `json:"enclaveLimit,omitempty"`

	// ProvisionLimit is a number of containers that can share the same SGX provision device.
	// +kubebuilder:validation:Minimum=1
	ProvisionLimit int `json:"provisionLimit,omitempty"`

	// LogLevel sets the plugin's log level.
	// +kubebuilder:validation:Minimum=0
	LogLevel int `json:"logLevel,omitempty"`
}

SgxDevicePluginSpec defines the desired state of SgxDevicePlugin.

func (*SgxDevicePluginSpec) DeepCopy added in v0.19.0

func (in *SgxDevicePluginSpec) DeepCopy() *SgxDevicePluginSpec

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

func (*SgxDevicePluginSpec) DeepCopyInto added in v0.19.0

func (in *SgxDevicePluginSpec) DeepCopyInto(out *SgxDevicePluginSpec)

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

type SgxDevicePluginStatus added in v0.19.0

type SgxDevicePluginStatus struct {

	// ControlledDaemoSet references the DaemonSet controlled by the operator.
	// +optional
	ControlledDaemonSet v1.ObjectReference `json:"controlledDaemonSet,omitempty"`

	// The list of Node names where the device plugin pods are running.
	// +optional
	NodeNames []string `json:"nodeNames,omitempty"`

	// The total number of nodes that should be running the device plugin
	// pod (including nodes correctly running the device plugin pod).
	DesiredNumberScheduled int32 `json:"desiredNumberScheduled"`

	// The number of nodes that should be running the device plugin pod and have one
	// or more of the device plugin pod running and ready.
	NumberReady int32 `json:"numberReady"`
}

SgxDevicePluginStatus defines the observed state of SgxDevicePlugin.

func (*SgxDevicePluginStatus) DeepCopy added in v0.19.0

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

func (*SgxDevicePluginStatus) DeepCopyInto added in v0.19.0

func (in *SgxDevicePluginStatus) DeepCopyInto(out *SgxDevicePluginStatus)

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