Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the storage v1alpha1 API group +kubebuilder:object:generate=true +groupName=storage.dpu.nvidia.com
Index ¶
- Constants
- Variables
- type AttachmentStatusDPU
- type BdevAttrs
- type CSIReference
- type CapacityRange
- type DPUStoragePolicy
- func (in *DPUStoragePolicy) DeepCopy() *DPUStoragePolicy
- func (in *DPUStoragePolicy) DeepCopyInto(out *DPUStoragePolicy)
- func (in *DPUStoragePolicy) DeepCopyObject() runtime.Object
- func (v *DPUStoragePolicy) GetConditions() []metav1.Condition
- func (v *DPUStoragePolicy) SetConditions(conditions []metav1.Condition)
- type DPUStoragePolicyList
- type DPUStoragePolicySpec
- type DPUStoragePolicyStatus
- type DPUStorageVendor
- func (in *DPUStorageVendor) DeepCopy() *DPUStorageVendor
- func (in *DPUStorageVendor) DeepCopyInto(out *DPUStorageVendor)
- func (in *DPUStorageVendor) DeepCopyObject() runtime.Object
- func (v *DPUStorageVendor) GetConditions() []metav1.Condition
- func (v *DPUStorageVendor) SetConditions(conditions []metav1.Condition)
- type DPUStorageVendorList
- type DPUStorageVendorSpec
- type DPUStorageVendorStatus
- type DPUVolume
- type DPUVolumeAttachment
- func (in *DPUVolumeAttachment) DeepCopy() *DPUVolumeAttachment
- func (in *DPUVolumeAttachment) DeepCopyInto(out *DPUVolumeAttachment)
- func (in *DPUVolumeAttachment) DeepCopyObject() runtime.Object
- func (v *DPUVolumeAttachment) GetConditions() []metav1.Condition
- func (v *DPUVolumeAttachment) SetConditions(conditions []metav1.Condition)
- type DPUVolumeAttachmentList
- type DPUVolumeAttachmentSpec
- type DPUVolumeAttachmentStatus
- type DPUVolumeList
- type DPUVolumePhase
- type DPUVolumeSpec
- type DPUVolumeState
- type DPUVolumeStatus
- type FSdevAttrs
- type FunctionType
- type FunctionTypeConfig
- type NVMEAttrs
- type ObjectRef
- type ObjectReference
- type SVVolumeAttachment
- type SVVolumeAttachmentList
- type SelectionAlgorithm
- type VirtioFSAttrs
- type Volume
- type VolumeAttachment
- type VolumeAttachmentList
- type VolumeAttachmentSpec
- type VolumeAttachmentStatus
- type VolumeAttachmentStatusDPU
- type VolumeInfo
- type VolumeList
- type VolumeRequest
- type VolumeSource
- type VolumeSpec
- type VolumeSpecDPU
- type VolumeState
- type VolumeStatus
Constants ¶
const ( // DPUStoragePolicyKind is the kind of the DPUStoragePolicy object DPUStoragePolicyKind = "DPUStoragePolicy" // DPUStoragePolicyFinalizer is the finalizer for the DPUStoragePolicy object DPUStoragePolicyFinalizer = "storage.dpu.nvidia.com/dpustoragepolicy" )
const ( // ConditionDPUStoragePolicyReconciled is the condition type that indicates that the // DPUStoragePolicy is reconciled. ConditionDPUStoragePolicyReconciled conditions.ConditionType = "DPUStoragePolicyReconciled" // ConditionDPUStoragePolicyValid is the condition type that indicates that // all the provided DPUStorageVendors are valid ConditionDPUStoragePolicyValid conditions.ConditionType = "Valid" )
Condition types
const ( // DPUStorageVendorKind is the kind of the DPUStorageVendor object DPUStorageVendorKind = "DPUStorageVendor" // DPUStorageVendorFinalizer is the finalizer for the DPUStorageVendor object DPUStorageVendorFinalizer = "storage.dpu.nvidia.com/dpustoragevendor" )
const ( // ConditionDPUStorageVendorReconciled is the condition type that indicates that the // DPUStorageVendor is reconciled. ConditionDPUStorageVendorReconciled conditions.ConditionType = "DPUStorageVendorReconciled" // ConditionDPUStorageVendorValid is the condition type that indicates that the // DPUStorageVendor is valid (StorageClass and CSIDriver are present in the DPU cluster). ConditionDPUStorageVendorValid conditions.ConditionType = "Valid" )
Condition types
const ( // DPUVolumeKind is the kind of the DPUVolume object DPUVolumeKind = "DPUVolume" // DPUVolumeFinalizer is the finalizer for the DPUVolume object DPUVolumeFinalizer = "storage.dpu.nvidia.com/dpuvolume" )
const ( // ConditionDPUVolumeReconciled is the condition type that indicates that the // DPUVolume is reconciled. ConditionDPUVolumeReconciled conditions.ConditionType = "DPUVolumeReconciled" // ConditionDPUVolumeScheduled is the condition type that indicates that the // DPUVolume is scheduled. ConditionDPUVolumeScheduled conditions.ConditionType = "Scheduled" // ConditionDPUVolumeBound is the condition type that indicates that the // DPUVolume is bound to a volume in the DPU cluster ConditionDPUVolumeBound conditions.ConditionType = "Bound" )
Condition types
const ( // DPUVolumeAttachmentKind is the kind of the DPUVolumeAttachment object DPUVolumeAttachmentKind = "DPUVolumeAttachment" // DPUVolumeAttachmentFinalizer is the finalizer for the DPUVolumeAttachment object DPUVolumeAttachmentFinalizer = "storage.dpu.nvidia.com/dpuvolumeattachment" )
const ( // ConditionDPUVolumeAttachmentReconciled is the condition type that indicates that the // DPUVolumeAttachment is reconciled. ConditionDPUVolumeAttachmentReconciled conditions.ConditionType = "DPUVolumeAttachmentReconciled" // ConditionDPUVolumeAttachmentControllerAttached is the condition type that indicates that // the Volume was attached by the vendor CSI driver ConditionDPUVolumeAttachmentControllerAttached conditions.ConditionType = "ControllerAttached" // ConditionDPUVolumeAttachmentDPUAttached is the condition type that indicates that // the Volume was attached by the DPU ConditionDPUVolumeAttachmentDPUAttached conditions.ConditionType = "DPUAttached" )
Condition types
const (
// SVVolumeAttachmentKind is the kind of the SVVolumeAttachment object
SVVolumeAttachmentKind = "SVVolumeAttachment"
)
const (
// VolumeAttachmentKind is the kind of the VolumeAttachment object
VolumeAttachmentKind = "VolumeAttachment"
)
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "storage.dpu.nvidia.com", 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 )
var ( // DPUStoragePolicyConditions is the list of conditions that the DPUStoragePolicy can have. DPUStoragePolicyConditions = []conditions.ConditionType{ conditions.TypeReady, ConditionDPUStoragePolicyReconciled, ConditionDPUStoragePolicyValid, } )
var DPUStoragePolicyGroupVersionKind = GroupVersion.WithKind(DPUStoragePolicyKind)
DPUStoragePolicyGroupVersionKind is the GroupVersionKind of the DPUStoragePolicy object
var ( // DPUStorageVendorConditions is the list of conditions that the DPUStorageVendor can have. DPUStorageVendorConditions = []conditions.ConditionType{ conditions.TypeReady, ConditionDPUStorageVendorReconciled, ConditionDPUStorageVendorValid, } )
var DPUStorageVendorGroupVersionKind = GroupVersion.WithKind(DPUStorageVendorKind)
DPUStorageVendorGroupVersionKind is the GroupVersionKind of the DPUStorageVendor object
var ( // DPUVolumeAttachmentConditions is the list of conditions that the DPUVolumeAttachment can have. DPUVolumeAttachmentConditions = []conditions.ConditionType{ conditions.TypeReady, ConditionDPUVolumeAttachmentReconciled, ConditionDPUVolumeAttachmentControllerAttached, ConditionDPUVolumeAttachmentDPUAttached, } )
var DPUVolumeAttachmentGroupVersionKind = GroupVersion.WithKind(DPUVolumeAttachmentKind)
DPUVolumeAttachmentGroupVersionKind is the GroupVersionKind of the DPUVolumeAttachment object
var ( // DPUVolumeConditions is the list of conditions that the DPUVolume can have. DPUVolumeConditions = []conditions.ConditionType{ conditions.TypeReady, ConditionDPUVolumeReconciled, ConditionDPUVolumeScheduled, ConditionDPUVolumeBound, } )
var DPUVolumeGroupVersionKind = GroupVersion.WithKind(DPUVolumeKind)
DPUVolumeGroupVersionKind is the GroupVersionKind of the DPUVolume object
var SVVolumeAttachmentGroupVersionKind = GroupVersion.WithKind(SVVolumeAttachmentKind)
SVVolumeAttachmentGroupVersionKind is the GroupVersionKind of the SVVolumeAttachment object
var VolumeAttachmentGroupVersionKind = GroupVersion.WithKind(VolumeAttachmentKind)
VolumeAttachmentGroupVersionKind is the GroupVersionKind of the VolumeAttachment object
var VolumeGroupVersionKind = GroupVersion.WithKind(VolumeKind)
VolumeGroupVersionKind is the GroupVersionKind of the Volume object
Functions ¶
This section is empty.
Types ¶
type AttachmentStatusDPU ¶
type AttachmentStatusDPU struct {
// PCI device address in the following format: (bus:device.function)
// +optional
PCIAddress *string `json:"pciAddress,omitempty"`
// The VUID of the emulated function. For a VF, this is the parent PF VUID.
// +optional
FuncVUID *string `json:"funcVUID,omitempty"`
// The name of the device that was created by the storage vendor plugin
// +optional
DeviceName *string `json:"deviceName,omitempty"`
// The attributes of the emulated NVME function
// +optional
NVMEAttrs *NVMEAttrs `json:"nvmeAttrs,omitempty"`
// The attributes of the emulated VirtioFS function
// +optional
VirtioFSAttrs *VirtioFSAttrs `json:"virtioFSAttrs,omitempty"`
}
AttachmentStatusDPU describe the information of DPU volume
func (*AttachmentStatusDPU) DeepCopy ¶
func (in *AttachmentStatusDPU) DeepCopy() *AttachmentStatusDPU
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AttachmentStatusDPU.
func (*AttachmentStatusDPU) DeepCopyInto ¶
func (in *AttachmentStatusDPU) DeepCopyInto(out *AttachmentStatusDPU)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BdevAttrs ¶
type BdevAttrs struct {
// The namespace ID within the NVME controller
NVMeNsID int64 `json:"nvmeNsID,omitempty"`
// The nvme namespace UUID
NVMeUUID string `json:"nvmeUUID,omitempty"`
}
BdevAttrs represents the attributes of the underlying block device
func (*BdevAttrs) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BdevAttrs.
func (*BdevAttrs) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CSIReference ¶
type CSIReference struct {
CSIDriverName string `json:"csiDriverName,omitempty"`
StorageClassName string `json:"storageClassName,omitempty"`
PVCRef *ObjectRef `json:"pvcRef,omitempty"`
}
CSIReference reference to CSI object
func (*CSIReference) DeepCopy ¶
func (in *CSIReference) DeepCopy() *CSIReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CSIReference.
func (*CSIReference) DeepCopyInto ¶
func (in *CSIReference) DeepCopyInto(out *CSIReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CapacityRange ¶
type CapacityRange struct {
Request resource.Quantity `json:"request,omitempty"`
Limit resource.Quantity `json:"limit,omitempty"`
}
CapacityRange represents the capacity of the required storage space in bytes
func (*CapacityRange) DeepCopy ¶
func (in *CapacityRange) DeepCopy() *CapacityRange
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CapacityRange.
func (*CapacityRange) DeepCopyInto ¶
func (in *CapacityRange) DeepCopyInto(out *CapacityRange)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DPUStoragePolicy ¶
type DPUStoragePolicy struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec DPUStoragePolicySpec `json:"spec"`
Status DPUStoragePolicyStatus `json:"status,omitempty"`
}
DPUStoragePolicy represents a DPUStoragePolicy CR
func (*DPUStoragePolicy) DeepCopy ¶
func (in *DPUStoragePolicy) DeepCopy() *DPUStoragePolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DPUStoragePolicy.
func (*DPUStoragePolicy) DeepCopyInto ¶
func (in *DPUStoragePolicy) DeepCopyInto(out *DPUStoragePolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DPUStoragePolicy) DeepCopyObject ¶
func (in *DPUStoragePolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*DPUStoragePolicy) GetConditions ¶
func (v *DPUStoragePolicy) GetConditions() []metav1.Condition
GetConditions returns the conditions of the DPUStoragePolicy.
func (*DPUStoragePolicy) SetConditions ¶
func (v *DPUStoragePolicy) SetConditions(conditions []metav1.Condition)
SetConditions sets the conditions of the DPUStoragePolicy.
type DPUStoragePolicyList ¶
type DPUStoragePolicyList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []DPUStoragePolicy `json:"items"`
}
DPUStoragePolicyList contains a list of DPUStoragePolicy objects
func (*DPUStoragePolicyList) DeepCopy ¶
func (in *DPUStoragePolicyList) DeepCopy() *DPUStoragePolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DPUStoragePolicyList.
func (*DPUStoragePolicyList) DeepCopyInto ¶
func (in *DPUStoragePolicyList) DeepCopyInto(out *DPUStoragePolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DPUStoragePolicyList) DeepCopyObject ¶
func (in *DPUStoragePolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DPUStoragePolicySpec ¶
type DPUStoragePolicySpec struct {
// List of storage vendors
// +kubebuilder:validation:MinItems=1
// +required
DPUStorageVendors []string `json:"dpuStorageVendors"`
// Parameters supported by the policy
// +kubebuilder:default={}
// +optional
Parameters map[string]string `json:"parameters,omitempty"`
// Selection algorithm used to select DPUStorageVendor
// +kubebuilder:validation:Enum=Random;NumberVolumes
// +kubebuilder:default=NumberVolumes
// +optional
SelectionAlgorithm *SelectionAlgorithm `json:"selectionAlgorithm,omitempty"`
}
DPUStoragePolicySpec defines the desired state of DPUStoragePolicy
func (*DPUStoragePolicySpec) DeepCopy ¶
func (in *DPUStoragePolicySpec) DeepCopy() *DPUStoragePolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DPUStoragePolicySpec.
func (*DPUStoragePolicySpec) DeepCopyInto ¶
func (in *DPUStoragePolicySpec) DeepCopyInto(out *DPUStoragePolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DPUStoragePolicyStatus ¶
type DPUStoragePolicyStatus struct {
// Current service state conditions
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
// ObservedGeneration records the Generation observed on the object the last time it was patched.
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}
DPUStoragePolicyStatus defines the observed state of DPUStoragePolicy
func (*DPUStoragePolicyStatus) DeepCopy ¶
func (in *DPUStoragePolicyStatus) DeepCopy() *DPUStoragePolicyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DPUStoragePolicyStatus.
func (*DPUStoragePolicyStatus) DeepCopyInto ¶
func (in *DPUStoragePolicyStatus) DeepCopyInto(out *DPUStoragePolicyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DPUStorageVendor ¶
type DPUStorageVendor struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec DPUStorageVendorSpec `json:"spec"`
Status DPUStorageVendorStatus `json:"status,omitempty"`
}
DPUStorageVendor represents a StorageVendor CR on the DPU cluster.
func (*DPUStorageVendor) DeepCopy ¶
func (in *DPUStorageVendor) DeepCopy() *DPUStorageVendor
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DPUStorageVendor.
func (*DPUStorageVendor) DeepCopyInto ¶
func (in *DPUStorageVendor) DeepCopyInto(out *DPUStorageVendor)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DPUStorageVendor) DeepCopyObject ¶
func (in *DPUStorageVendor) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*DPUStorageVendor) GetConditions ¶
func (v *DPUStorageVendor) GetConditions() []metav1.Condition
GetConditions returns the conditions of the DPUStorageVendor.
func (*DPUStorageVendor) SetConditions ¶
func (v *DPUStorageVendor) SetConditions(conditions []metav1.Condition)
SetConditions sets the conditions of the DPUStorageVendor.
type DPUStorageVendorList ¶
type DPUStorageVendorList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []DPUStorageVendor `json:"items"`
}
DPUStorageVendorList contains a list of DPUStorageVendor
func (*DPUStorageVendorList) DeepCopy ¶
func (in *DPUStorageVendorList) DeepCopy() *DPUStorageVendorList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DPUStorageVendorList.
func (*DPUStorageVendorList) DeepCopyInto ¶
func (in *DPUStorageVendorList) DeepCopyInto(out *DPUStorageVendorList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DPUStorageVendorList) DeepCopyObject ¶
func (in *DPUStorageVendorList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DPUStorageVendorSpec ¶
type DPUStorageVendorSpec struct {
// Storage vendor class name, deployed on the DPU K8S cluster.
// +kubebuilder:validation:MinLength=1
// +required
StorageClassName string `json:"storageClassName"`
// Storage vendor DPU plugin name
// +kubebuilder:validation:MinLength=1
// +required
PluginName string `json:"pluginName"`
}
DPUStorageVendorSpec defines the desired state of DPUStorageVendor
func (*DPUStorageVendorSpec) DeepCopy ¶
func (in *DPUStorageVendorSpec) DeepCopy() *DPUStorageVendorSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DPUStorageVendorSpec.
func (*DPUStorageVendorSpec) DeepCopyInto ¶
func (in *DPUStorageVendorSpec) DeepCopyInto(out *DPUStorageVendorSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DPUStorageVendorStatus ¶
type DPUStorageVendorStatus struct {
// DPUClusters is the list of clusters on which the DPUStorageVendor is deployed.
// +optional
DPUClusters []ObjectReference `json:"dpuClusters,omitempty"`
// Conditions defines current service state.
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
// ObservedGeneration records the Generation observed on the object the last time it was patched.
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}
DPUStorageVendorStatus defines the observed state of DPUStorageVendor
func (*DPUStorageVendorStatus) DeepCopy ¶
func (in *DPUStorageVendorStatus) DeepCopy() *DPUStorageVendorStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DPUStorageVendorStatus.
func (*DPUStorageVendorStatus) DeepCopyInto ¶
func (in *DPUStorageVendorStatus) DeepCopyInto(out *DPUStorageVendorStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DPUVolume ¶
type DPUVolume struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec DPUVolumeSpec `json:"spec"`
Status DPUVolumeStatus `json:"status,omitempty"`
}
DPUVolume represents a DPUVolume CR.
func (*DPUVolume) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DPUVolume.
func (*DPUVolume) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DPUVolume) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*DPUVolume) GetConditions ¶
GetConditions returns the conditions of the DPUVolume.
func (*DPUVolume) SetConditions ¶
SetConditions sets the conditions of the DPUVolume.
type DPUVolumeAttachment ¶
type DPUVolumeAttachment struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec DPUVolumeAttachmentSpec `json:"spec"`
Status DPUVolumeAttachmentStatus `json:"status,omitempty"`
}
DPUVolumeAttachment represents a Volume CR on the DPU cluster.
func (*DPUVolumeAttachment) DeepCopy ¶
func (in *DPUVolumeAttachment) DeepCopy() *DPUVolumeAttachment
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DPUVolumeAttachment.
func (*DPUVolumeAttachment) DeepCopyInto ¶
func (in *DPUVolumeAttachment) DeepCopyInto(out *DPUVolumeAttachment)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DPUVolumeAttachment) DeepCopyObject ¶
func (in *DPUVolumeAttachment) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*DPUVolumeAttachment) GetConditions ¶
func (v *DPUVolumeAttachment) GetConditions() []metav1.Condition
GetConditions returns the conditions of the DPUVolumeAttachment.
func (*DPUVolumeAttachment) SetConditions ¶
func (v *DPUVolumeAttachment) SetConditions(conditions []metav1.Condition)
SetConditions sets the conditions of the DPUVolumeAttachment.
type DPUVolumeAttachmentList ¶
type DPUVolumeAttachmentList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []DPUVolumeAttachment `json:"items"`
}
DPUVolumeAttachmentList contains a list of DPUVolumeAttachment
func (*DPUVolumeAttachmentList) DeepCopy ¶
func (in *DPUVolumeAttachmentList) DeepCopy() *DPUVolumeAttachmentList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DPUVolumeAttachmentList.
func (*DPUVolumeAttachmentList) DeepCopyInto ¶
func (in *DPUVolumeAttachmentList) DeepCopyInto(out *DPUVolumeAttachmentList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DPUVolumeAttachmentList) DeepCopyObject ¶
func (in *DPUVolumeAttachmentList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DPUVolumeAttachmentSpec ¶
type DPUVolumeAttachmentSpec struct {
// DPUNodeName is the name of DPUNode object that represents the node to which the volume should
// be attached
// +kubebuilder:validation:MinLength=1
// +required
DPUNodeName string `json:"dpuNodeName"`
// DPUVolumeName is the name of DPUVolume object that represents the volume to be attached
// +kubebuilder:validation:MinLength=1
// +required
DPUVolumeName string `json:"dpuVolumeName"`
// FunctionTypeConfig is the configuration for the emulated function that should be used to attach the volume
FunctionTypeConfig `json:",inline"`
}
DPUVolumeAttachmentSpec defines the desired state of DPUVolumeAttachment
func (*DPUVolumeAttachmentSpec) DeepCopy ¶
func (in *DPUVolumeAttachmentSpec) DeepCopy() *DPUVolumeAttachmentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DPUVolumeAttachmentSpec.
func (*DPUVolumeAttachmentSpec) DeepCopyInto ¶
func (in *DPUVolumeAttachmentSpec) DeepCopyInto(out *DPUVolumeAttachmentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DPUVolumeAttachmentStatus ¶
type DPUVolumeAttachmentStatus struct {
// Indicates the volume is successfully attached to by the Vendor CSI driver
// +optional
ControllerAttached *bool `json:"controllerAttached,omitempty"`
// Indicates the volume is successfully attached to the node by DPU
// +optional
DPUAttached *bool `json:"dpuAttached,omitempty"`
// AttachmentMetadata contains the metadata of the volume attachment returned by the Vendor CSI driver
// +optional
AttachmentMetadata map[string]string `json:"attachmentMetadata,omitempty"`
// Details about the DPU attachment
// +optional
DPU *AttachmentStatusDPU `json:"dpu,omitempty"`
// The last error encountered during the attach operation, if any
// +optional
Message *string `json:"message,omitempty"`
// Conditions defines current service state.
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
// ObservedGeneration records the Generation observed on the object the last time it was patched.
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}
DPUVolumeAttachmentStatus defines the observed state of DPUVolumeAttachment
func (*DPUVolumeAttachmentStatus) DeepCopy ¶
func (in *DPUVolumeAttachmentStatus) DeepCopy() *DPUVolumeAttachmentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DPUVolumeAttachmentStatus.
func (*DPUVolumeAttachmentStatus) DeepCopyInto ¶
func (in *DPUVolumeAttachmentStatus) DeepCopyInto(out *DPUVolumeAttachmentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DPUVolumeList ¶
type DPUVolumeList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []DPUVolume `json:"items"`
}
DPUVolumeList contains a list of DPUVolume
func (*DPUVolumeList) DeepCopy ¶
func (in *DPUVolumeList) DeepCopy() *DPUVolumeList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DPUVolumeList.
func (*DPUVolumeList) DeepCopyInto ¶
func (in *DPUVolumeList) DeepCopyInto(out *DPUVolumeList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DPUVolumeList) DeepCopyObject ¶
func (in *DPUVolumeList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DPUVolumePhase ¶
type DPUVolumePhase string
const ( // used for DPUVolume that are not yet bound to a volume in the DPU cluster DPUVolumePhasePending DPUVolumePhase = "Pending" // used for DPUVolume that are bound to a volume in the DPU cluster DPUVolumePhaseBound DPUVolumePhase = "Bound" )
type DPUVolumeSpec ¶
type DPUVolumeSpec struct {
// Name of the DPUStoragePolicyName object that will be used to create the volume.
// +kubebuilder:validation:MinLength=1
// +required
DPUStoragePolicyName string `json:"dpuStoragePolicyName"`
// Additional parameters for the volume, these parameters are merged with the values from the DPUStoragePolicy object.
// +kubebuilder:default={}
// +optional
Parameters map[string]string `json:"parameters,omitempty"`
// Access modes define how the volume can be mounted. These modes are directly passed to the
// PersistentVolumeClaim created for the Vendor CSI Plugin selected by the DPUStoragePolicy.
// +kubebuilder:validation:MinItems=1
// +kubebuilder:validation:MaxItems=3
// +kubebuilder:validation:XValidation:rule="self.all(mode, mode in ['ReadWriteOnce', 'ReadOnlyMany', 'ReadWriteMany'])", message="accessModes must contain only valid PersistentVolumeAccessMode values: ReadWriteOnce, ReadOnlyMany, ReadWriteMany"
// +required
AccessModes []corev1.PersistentVolumeAccessMode `json:"accessModes"`
// Resources represents the storage resources requested for the volume. These resource requirements
// are directly passed to the PersistentVolumeClaim created for the Vendor CSI Plugin selected
// by the DPUStoragePolicy. Since volume resizing is not supported, modifications to the resource request are prohibited.
// +kubebuilder:validation:XValidation:rule="has(self.requests) && has(self.requests.storage)", message="resource requirements must contain storage resource"
// +required
Resources corev1.VolumeResourceRequirements `json:"resources"`
// Volume mode defines how the volume should be mounted and used. This value is directly passed to the
// PersistentVolumeClaim created for the Vendor CSI Plugin selected by the DPUStoragePolicy.
// +kubebuilder:validation:Enum=Filesystem;Block
// +kubebuilder:default=Filesystem
// +optional
VolumeMode *corev1.PersistentVolumeMode `json:"volumeMode,omitempty"`
}
DPUVolumeSpec defines the desired state of DPUVolume
func (*DPUVolumeSpec) DeepCopy ¶
func (in *DPUVolumeSpec) DeepCopy() *DPUVolumeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DPUVolumeSpec.
func (*DPUVolumeSpec) DeepCopyInto ¶
func (in *DPUVolumeSpec) DeepCopyInto(out *DPUVolumeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DPUVolumeState ¶
type DPUVolumeState struct {
// DPUCluster contains the reference to the DPUCluster object that was selected for volume creation.
// +optional
DPUCluster *ObjectReference `json:"dpuCluster,omitempty"`
// Parameters contains the final set of parameters for volume creation, computed by merging
// the parameters from the DPUStoragePolicy object with user-provided parameters.
// +optional
Parameters map[string]string `json:"parameters,omitempty"`
// SelectedDPUStorageVendorName contains the name of the DPUStorageVendor object that was selected for volume creation.
// +optional
SelectedDPUStorageVendorName *string `json:"selectedDPUStorageVendorName,omitempty"`
// StorageVendorPluginName contains the name of the storage vendor plugin deployed on the DPU cluster that was selected for volume creation.
// +optional
StorageVendorPluginName *string `json:"storageVendorPluginName,omitempty"`
// StorageClassName contains the name of the storage class in the DPU cluster that was selected for volume creation.
// +optional
StorageClassName *string `json:"storageClassName,omitempty"`
// CSIDriverName contains the name of the CSI driver in the DPU cluster that was selected for volume creation.
// +optional
CSIDriverName *string `json:"csiDriverName,omitempty"`
// PersistentVolumeClaimRef contains the reference to the PersistentVolumeClaim object in the DPU cluster that was created for the volume.
// +optional
PersistentVolumeClaimRef *ObjectReference `json:"persistentVolumeClaimRef,omitempty"`
// VolumeInfo contains a subset of fields from the PersistentVolume object created in the DPU cluster
// +optional
VolumeInfo *VolumeInfo `json:"volumeInfo,omitempty"`
}
DPUVolumeState defines the state of the volume.
func (*DPUVolumeState) DeepCopy ¶
func (in *DPUVolumeState) DeepCopy() *DPUVolumeState
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DPUVolumeState.
func (*DPUVolumeState) DeepCopyInto ¶
func (in *DPUVolumeState) DeepCopyInto(out *DPUVolumeState)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DPUVolumeStatus ¶
type DPUVolumeStatus struct {
// Phase of the volume
// +kubebuilder:validation:Enum=Pending;Bound
// +optional
Phase *DPUVolumePhase `json:"phase,omitempty"`
// State of the volume. This field is managed by the controller. User usually do not need to set fields from this struct.
// +optional
State *DPUVolumeState `json:"state,omitempty"`
// Conditions defines current service state.
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
// ObservedGeneration records the Generation observed on the object the last time it was patched.
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}
DPUVolumeStatus defines the observed state of DPUVolume
func (*DPUVolumeStatus) DeepCopy ¶
func (in *DPUVolumeStatus) DeepCopy() *DPUVolumeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DPUVolumeStatus.
func (*DPUVolumeStatus) DeepCopyInto ¶
func (in *DPUVolumeStatus) DeepCopyInto(out *DPUVolumeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FSdevAttrs ¶
type FSdevAttrs struct {
// Filesystem tag identified by SNAP on the host (used for the mount). Relevant for volume of type filesystem
FilesystemTag string `json:"filesystemTag,omitempty"`
}
FSdevAttrs represents the attributes of the underlying filesystem device
func (*FSdevAttrs) DeepCopy ¶
func (in *FSdevAttrs) DeepCopy() *FSdevAttrs
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FSdevAttrs.
func (*FSdevAttrs) DeepCopyInto ¶
func (in *FSdevAttrs) DeepCopyInto(out *FSdevAttrs)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FunctionType ¶
type FunctionType string
const ( // FunctionTypePF is the PF function type FunctionTypePF FunctionType = "pf" // FunctionTypeVF is the VF function type FunctionTypeVF FunctionType = "vf" )
type FunctionTypeConfig ¶
type FunctionTypeConfig struct {
// FunctionType is the type of the emulated function that should be used to attach the volume
// +kubebuilder:validation:Enum=pf;vf
// +required
FunctionType FunctionType `json:"functionType"`
// HotplugFunction is a boolean flag that indicates if the emulated function should be hotplugged
// +required
HotplugFunction bool `json:"hotplugFunction"`
}
FunctionTypeConfig is the configuration for the emulated function that should be used to attach the volume
func (*FunctionTypeConfig) DeepCopy ¶
func (in *FunctionTypeConfig) DeepCopy() *FunctionTypeConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FunctionTypeConfig.
func (*FunctionTypeConfig) DeepCopyInto ¶
func (in *FunctionTypeConfig) DeepCopyInto(out *FunctionTypeConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NVMEAttrs ¶
type NVMEAttrs struct {
// The namespace ID within the NVME controller
// +optional
NamespaceID *int64 `json:"namespaceID,omitempty"`
// The NVMe namespace UUID
// +optional
NamespaceUUID *string `json:"namespaceUUID,omitempty"`
}
NVMEAttrs represents the attributes of the NVME emulated function
func (*NVMEAttrs) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NVMEAttrs.
func (*NVMEAttrs) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObjectRef ¶
type ObjectRef struct {
Kind string `json:"kind,omitempty"`
APIVersion string `json:"apiVersion,omitempty"`
Name string `json:"name,omitempty"`
Namespace string `json:"namespace,omitempty"`
}
ObjectRef reference to the object
func (*ObjectRef) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectRef.
func (*ObjectRef) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObjectReference ¶
type ObjectReference struct {
// Name specifies the name of the referenced object
// +kubebuilder:validation:MinLength=1
// +required
Name string `json:"name"`
// Namespace specifies the namespace where the referenced object exists
// +kubebuilder:validation:MinLength=1
// +required
Namespace string `json:"namespace"`
}
ObjectReference represents a reference to a Kubernetes object.
func (*ObjectReference) DeepCopy ¶
func (in *ObjectReference) DeepCopy() *ObjectReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectReference.
func (*ObjectReference) DeepCopyInto ¶
func (in *ObjectReference) DeepCopyInto(out *ObjectReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ObjectReference) String ¶
func (o *ObjectReference) String() string
String returns the string representation of the ObjectReference.
type SVVolumeAttachment ¶
type SVVolumeAttachment struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec storagev1.VolumeAttachmentSpec `json:"spec"`
Status storagev1.VolumeAttachmentStatus `json:"status,omitempty"`
}
SVVolumeAttachment captures the intent to attach/detach the specified Volume to/from the specified node.
func (*SVVolumeAttachment) DeepCopy ¶
func (in *SVVolumeAttachment) DeepCopy() *SVVolumeAttachment
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SVVolumeAttachment.
func (*SVVolumeAttachment) DeepCopyInto ¶
func (in *SVVolumeAttachment) DeepCopyInto(out *SVVolumeAttachment)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SVVolumeAttachment) DeepCopyObject ¶
func (in *SVVolumeAttachment) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SVVolumeAttachmentList ¶
type SVVolumeAttachmentList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []SVVolumeAttachment `json:"items"`
}
SVVolumeAttachmentList contains a list of SVVolumeAttachment
func (*SVVolumeAttachmentList) DeepCopy ¶
func (in *SVVolumeAttachmentList) DeepCopy() *SVVolumeAttachmentList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SVVolumeAttachmentList.
func (*SVVolumeAttachmentList) DeepCopyInto ¶
func (in *SVVolumeAttachmentList) DeepCopyInto(out *SVVolumeAttachmentList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SVVolumeAttachmentList) DeepCopyObject ¶
func (in *SVVolumeAttachmentList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SelectionAlgorithm ¶
type SelectionAlgorithm string
SelectionAlgorithm represents the storage selection algorithm type
const ( // Random selection across the vendors defined in the StoragePolicy list. SelectionAlgorithmRandom SelectionAlgorithm = "Random" // Load-balancing on the number of volumes belonging to the StoragePolicy. // The vendor (in the DPUStoragePolicy list) with the minimal number of volumes should be selected. SelectionAlgorithmNumberVolumes SelectionAlgorithm = "NumberVolumes" )
type VirtioFSAttrs ¶
type VirtioFSAttrs struct {
// Filesystem tag identified by SNAP on the host (used for the mount). Relevant for volume of type filesystem
// +optional
FilesystemTag *string `json:"filesystemTag,omitempty"`
}
VirtioFSAttrs represents the attributes of the VirtioFS emulated function
func (*VirtioFSAttrs) DeepCopy ¶
func (in *VirtioFSAttrs) DeepCopy() *VirtioFSAttrs
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtioFSAttrs.
func (*VirtioFSAttrs) DeepCopyInto ¶
func (in *VirtioFSAttrs) DeepCopyInto(out *VirtioFSAttrs)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Volume ¶
type Volume struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec VolumeSpec `json:"spec"`
Status VolumeStatus `json:"status,omitempty"`
}
Volume represents a persistent volume on the DPU cluster. It maps between the tenant K8S persistent volume (PV) object on the tenant cluster into the actual volume on the DPU cluster. Volume is an internal API, it is not intended to be used by users.
func (*Volume) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Volume.
func (*Volume) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Volume) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VolumeAttachment ¶
type VolumeAttachment struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec VolumeAttachmentSpec `json:"spec"`
Status VolumeAttachmentStatus `json:"status,omitempty"`
}
VolumeAttachment captures the intent to attach/detach the specified NV-Volume to/from the specified node. VolumeAttachment is an internal API, it is not intended to be used by users.
func (*VolumeAttachment) DeepCopy ¶
func (in *VolumeAttachment) DeepCopy() *VolumeAttachment
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeAttachment.
func (*VolumeAttachment) DeepCopyInto ¶
func (in *VolumeAttachment) DeepCopyInto(out *VolumeAttachment)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VolumeAttachment) DeepCopyObject ¶
func (in *VolumeAttachment) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VolumeAttachmentList ¶
type VolumeAttachmentList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []VolumeAttachment `json:"items"`
}
VolumeAttachmentList contains a list of VolumeAttachment
func (*VolumeAttachmentList) DeepCopy ¶
func (in *VolumeAttachmentList) DeepCopy() *VolumeAttachmentList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeAttachmentList.
func (*VolumeAttachmentList) DeepCopyInto ¶
func (in *VolumeAttachmentList) DeepCopyInto(out *VolumeAttachmentList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VolumeAttachmentList) DeepCopyObject ¶
func (in *VolumeAttachmentList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VolumeAttachmentSpec ¶
type VolumeAttachmentSpec struct {
// The name of the node that the volume should be attached to
NodeName string `json:"nodeName,omitempty"`
// Reference to the NV-Volume object
Source VolumeSource `json:"source,omitempty"`
// Reference to the SV-VolumeAttachment object
VolumeAttachmentRef *ObjectRef `json:"volumeAttachmentRef,omitempty"`
// Opaque static publish properties of the volume returned by the plugin
Parameters map[string]string `json:"parameters,omitempty"`
// FunctionTypeConfig is the configuration for the emulated function that should be used to attach the volume
FunctionTypeConfig `json:",inline"`
}
VolumeAttachmentSpec defines the desired state of VolumeAttachment
func (*VolumeAttachmentSpec) DeepCopy ¶
func (in *VolumeAttachmentSpec) DeepCopy() *VolumeAttachmentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeAttachmentSpec.
func (*VolumeAttachmentSpec) DeepCopyInto ¶
func (in *VolumeAttachmentSpec) DeepCopyInto(out *VolumeAttachmentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VolumeAttachmentStatus ¶
type VolumeAttachmentStatus struct {
// Indicates the volume is successfully attached to the target storage system
// +optional
StorageAttached bool `json:"storageAttached,omitempty"`
// The last error encountered during the attach operation, if any
// +optional
Message string `json:"message,omitempty"`
// Details about the DPU attachment
// +optional
DPU VolumeAttachmentStatusDPU `json:"dpu,omitempty"`
}
VolumeAttachmentStatus defines the observed state of VolumeAttachment
func (*VolumeAttachmentStatus) DeepCopy ¶
func (in *VolumeAttachmentStatus) DeepCopy() *VolumeAttachmentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeAttachmentStatus.
func (*VolumeAttachmentStatus) DeepCopyInto ¶
func (in *VolumeAttachmentStatus) DeepCopyInto(out *VolumeAttachmentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VolumeAttachmentStatusDPU ¶
type VolumeAttachmentStatusDPU struct {
// Indicates the volume is successfully attached to the DPU node
Attached bool `json:"attached,omitempty"`
// PCI device address in the following format: (bus:device.function)
PCIDeviceAddress string `json:"pciDeviceAddress,omitempty"`
// The name of the device that was created by the storage vendor plugin
DeviceName string `json:"deviceName,omitempty"`
// The VUID of the emulated function. For a VF, this is the parent PF VUID.
FuncVUID string `json:"funcVUID,omitempty"`
// The attributes of the underlying block device
// +optional
BdevAttrs BdevAttrs `json:"bdevAttrs,omitempty"`
// The attributes of the underlying filesystem device
// +optional
FSdevAttrs FSdevAttrs `json:"fsdevAttrs,omitempty"`
}
VolumeAttachmentStatusDPU describe the information of DPU volume +kubebuilder:validation:cel:rule="(has(self.bdevAttrs) && !has(self.fsdevAttrs)) || (!has(self.bdevAttrs) && has(self.fsdevAttrs))"
func (*VolumeAttachmentStatusDPU) DeepCopy ¶
func (in *VolumeAttachmentStatusDPU) DeepCopy() *VolumeAttachmentStatusDPU
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeAttachmentStatusDPU.
func (*VolumeAttachmentStatusDPU) DeepCopyInto ¶
func (in *VolumeAttachmentStatusDPU) DeepCopyInto(out *VolumeAttachmentStatusDPU)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VolumeInfo ¶
type VolumeInfo struct {
// VolumeName contains the name of the PersistentVolume object in the DPU cluster
// +optional
VolumeName *string `json:"volumeName,omitempty"`
// Actual capacity of the volume in the DPU cluster
// +optional
Capacity corev1.ResourceList `json:"capacity,omitempty"`
// Actual access modes of the volume in the DPU cluster
// +optional
AccessModes []corev1.PersistentVolumeAccessMode `json:"accessModes,omitempty"`
// Actual volume mode of the volume in the DPU cluster
// +optional
VolumeMode *corev1.PersistentVolumeMode `json:"volumeMode,omitempty"`
// VolumeAttributes from the PersistentVolume object in the DPU cluster
// This field usually contains parameters returned by the Vendor CSI plugin on volume creation.
// +optional
VolumeAttributes map[string]string `json:"volumeAttributes,omitempty"`
}
VolumeInfo represents a subset of fields from the PersistentVolume object that was created in the DPU cluster. This struct is used to track and expose key volume information without carrying the full PersistentVolume object.
func (*VolumeInfo) DeepCopy ¶
func (in *VolumeInfo) DeepCopy() *VolumeInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeInfo.
func (*VolumeInfo) DeepCopyInto ¶
func (in *VolumeInfo) DeepCopyInto(out *VolumeInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VolumeList ¶
type VolumeList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Volume `json:"items"`
}
VolumeList contains a list of Volume
func (*VolumeList) DeepCopy ¶
func (in *VolumeList) DeepCopy() *VolumeList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeList.
func (*VolumeList) DeepCopyInto ¶
func (in *VolumeList) DeepCopyInto(out *VolumeList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VolumeList) DeepCopyObject ¶
func (in *VolumeList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type VolumeRequest ¶
type VolumeRequest struct {
// The capacity of the required storage space in bytes
// +optional
CapacityRange CapacityRange `json:"capacityRange,omitempty"`
// Contains the types of access modes required
// +optional
AccessModes []corev1.PersistentVolumeAccessMode `json:"accessModes,omitempty"`
// volumeMode defines what type of volume is required by the claim.
// Value of Filesystem is implied when not included in claim spec.
// +optional
VolumeMode *corev1.PersistentVolumeMode `json:"volumeMode,omitempty"`
}
VolumeRequest represents the volume's requirements
func (*VolumeRequest) DeepCopy ¶
func (in *VolumeRequest) DeepCopy() *VolumeRequest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeRequest.
func (*VolumeRequest) DeepCopyInto ¶
func (in *VolumeRequest) DeepCopyInto(out *VolumeRequest)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VolumeSource ¶
type VolumeSource struct {
// Reference to the NV-Volume object
VolumeRef *ObjectRef `json:"volumeRef,omitempty"`
}
VolumeSource references to the NV-Volume object
func (*VolumeSource) DeepCopy ¶
func (in *VolumeSource) DeepCopy() *VolumeSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeSource.
func (*VolumeSource) DeepCopyInto ¶
func (in *VolumeSource) DeepCopyInto(out *VolumeSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VolumeSpec ¶
type VolumeSpec struct {
// List of storage parameters supported by the policy, values are string only
// +optional
StorageParameters map[string]string `json:"storageParameters,omitempty"`
// The capacity of the required storage space in bytes
// +required
Request VolumeRequest `json:"request,omitempty"`
// Reference to the StoragePolicy object
// +optional
StoragePolicyRef *ObjectRef `json:"storagePolicyRef,omitempty"`
// List of storage parameters supported by the policy, values are string only
// +optional
StoragePolicyParameters map[string]string `json:"storagePolicyParameters,omitempty"`
// Describe volume information in DPU cluster
// +optional
VolumeSpecDPU VolumeSpecDPU `json:"volume,omitempty"`
}
VolumeSpec defines the desired state of Volume
func (*VolumeSpec) DeepCopy ¶
func (in *VolumeSpec) DeepCopy() *VolumeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeSpec.
func (*VolumeSpec) DeepCopyInto ¶
func (in *VolumeSpec) DeepCopyInto(out *VolumeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VolumeSpecDPU ¶
type VolumeSpecDPU struct {
ID string `json:"id,omitempty"`
Capacity resource.Quantity `json:"capacity,omitempty"`
AccessModes []corev1.PersistentVolumeAccessMode `json:"accessModes,omitempty"`
// +kubebuilder:validation:Enum=Delete;Retain
ReclaimPolicy corev1.PersistentVolumeReclaimPolicy `json:"reclaimPolicy,omitempty"`
StorageVendorName string `json:"storageVendorName,omitempty"`
StorageVendorPluginName string `json:"storageVendorPluginName,omitempty"`
VolumeAttributes map[string]string `json:"volumeAttributes,omitempty"`
CSIReference CSIReference `json:"csiReference,omitempty"`
}
VolumeSpecDPU describe volume information in DPU cluster
func (*VolumeSpecDPU) DeepCopy ¶
func (in *VolumeSpecDPU) DeepCopy() *VolumeSpecDPU
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeSpecDPU.
func (*VolumeSpecDPU) DeepCopyInto ¶
func (in *VolumeSpecDPU) DeepCopyInto(out *VolumeSpecDPU)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VolumeState ¶
type VolumeState string
VolumeState represents the state of volume +kubebuilder:validation:Enum=InProgress;Available
const ( // VolumeKind is the kind of the Volume object VolumeKind = "Volume" // InProgress means the some of related resource is still in progress VolumeStateInProgress VolumeState = "InProgress" // Available means that all related resources are created VolumeStateAvailable VolumeState = "Available" )
type VolumeStatus ¶
type VolumeStatus struct {
// The state of a Volume object
// +optional
State VolumeState `json:"state,omitempty"`
}
VolumeStatus defines the observed state of Volume
func (*VolumeStatus) DeepCopy ¶
func (in *VolumeStatus) DeepCopy() *VolumeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeStatus.
func (*VolumeStatus) DeepCopyInto ¶
func (in *VolumeStatus) DeepCopyInto(out *VolumeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.