Documentation ¶
Overview ¶
Package v1alpha4 contains API Schema definitions for the nnf v1alpha4 API group +kubebuilder:object:generate=true +groupName=nnf.cray.hpe.com
Index ¶
- Constants
- Variables
- func AddDataMovementInitiatorLabel(object metav1.Object, initiator string)
- func AddDataMovementTeardownStateLabel(object metav1.Object, state dwsv1alpha2.WorkflowState)
- func NewConditions() []metav1.Condition
- func SetGetResourceFailureCondition(c []metav1.Condition, err error)
- func SetResourceInvalidCondition(c []metav1.Condition, err error)
- type LustreStorageSpec
- type NnfAccess
- func (in *NnfAccess) DeepCopy() *NnfAccess
- func (in *NnfAccess) DeepCopyInto(out *NnfAccess)
- func (in *NnfAccess) DeepCopyObject() runtime.Object
- func (a *NnfAccess) GetStatus() updater.Status[*NnfAccessStatus]
- func (*NnfAccess) Hub()
- func (r *NnfAccess) SetupWebhookWithManager(mgr ctrl.Manager) error
- type NnfAccessList
- type NnfAccessSpec
- type NnfAccessStatus
- type NnfContainerProfile
- func (in *NnfContainerProfile) DeepCopy() *NnfContainerProfile
- func (in *NnfContainerProfile) DeepCopyInto(out *NnfContainerProfile)
- func (in *NnfContainerProfile) DeepCopyObject() runtime.Object
- func (*NnfContainerProfile) Hub()
- func (r *NnfContainerProfile) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *NnfContainerProfile) ValidateCreate() (admission.Warnings, error)
- func (r *NnfContainerProfile) ValidateDelete() (admission.Warnings, error)
- func (r *NnfContainerProfile) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
- type NnfContainerProfileData
- type NnfContainerProfileList
- type NnfContainerProfileStorage
- type NnfDataMovement
- type NnfDataMovementCommandStatus
- type NnfDataMovementConfig
- type NnfDataMovementList
- type NnfDataMovementManager
- func (in *NnfDataMovementManager) DeepCopy() *NnfDataMovementManager
- func (in *NnfDataMovementManager) DeepCopyInto(out *NnfDataMovementManager)
- func (in *NnfDataMovementManager) DeepCopyObject() runtime.Object
- func (m *NnfDataMovementManager) GetStatus() updater.Status[*NnfDataMovementManagerStatus]
- func (*NnfDataMovementManager) Hub()
- func (r *NnfDataMovementManager) SetupWebhookWithManager(mgr ctrl.Manager) error
- type NnfDataMovementManagerList
- type NnfDataMovementManagerSpec
- type NnfDataMovementManagerStatus
- type NnfDataMovementProfile
- func (in *NnfDataMovementProfile) DeepCopy() *NnfDataMovementProfile
- func (in *NnfDataMovementProfile) DeepCopyInto(out *NnfDataMovementProfile)
- func (in *NnfDataMovementProfile) DeepCopyObject() runtime.Object
- func (*NnfDataMovementProfile) Hub()
- func (r *NnfDataMovementProfile) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *NnfDataMovementProfile) ValidateCreate() (admission.Warnings, error)
- func (r *NnfDataMovementProfile) ValidateDelete() (admission.Warnings, error)
- func (r *NnfDataMovementProfile) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
- type NnfDataMovementProfileData
- type NnfDataMovementProfileList
- type NnfDataMovementSpec
- type NnfDataMovementSpecSourceDestination
- type NnfDataMovementStatus
- type NnfDriveStatus
- type NnfLustreMGT
- func (in *NnfLustreMGT) DeepCopy() *NnfLustreMGT
- func (in *NnfLustreMGT) DeepCopyInto(out *NnfLustreMGT)
- func (in *NnfLustreMGT) DeepCopyObject() runtime.Object
- func (a *NnfLustreMGT) GetStatus() updater.Status[*NnfLustreMGTStatus]
- func (*NnfLustreMGT) Hub()
- func (r *NnfLustreMGT) SetupWebhookWithManager(mgr ctrl.Manager) error
- type NnfLustreMGTList
- type NnfLustreMGTSpec
- type NnfLustreMGTStatus
- type NnfLustreMGTStatusClaim
- type NnfNode
- type NnfNodeBlockStorage
- func (in *NnfNodeBlockStorage) DeepCopy() *NnfNodeBlockStorage
- func (in *NnfNodeBlockStorage) DeepCopyInto(out *NnfNodeBlockStorage)
- func (in *NnfNodeBlockStorage) DeepCopyObject() runtime.Object
- func (ns *NnfNodeBlockStorage) GetStatus() updater.Status[*NnfNodeBlockStorageStatus]
- func (*NnfNodeBlockStorage) Hub()
- func (r *NnfNodeBlockStorage) SetupWebhookWithManager(mgr ctrl.Manager) error
- type NnfNodeBlockStorageAccessStatus
- type NnfNodeBlockStorageAllocationSpec
- type NnfNodeBlockStorageAllocationStatus
- type NnfNodeBlockStorageDeviceStatus
- type NnfNodeBlockStorageList
- func (in *NnfNodeBlockStorageList) DeepCopy() *NnfNodeBlockStorageList
- func (in *NnfNodeBlockStorageList) DeepCopyInto(out *NnfNodeBlockStorageList)
- func (in *NnfNodeBlockStorageList) DeepCopyObject() runtime.Object
- func (n *NnfNodeBlockStorageList) GetObjectList() []client.Object
- func (*NnfNodeBlockStorageList) Hub()
- type NnfNodeBlockStorageSpec
- type NnfNodeBlockStorageStatus
- type NnfNodeECData
- type NnfNodeECDataList
- type NnfNodeECDataSpec
- type NnfNodeECDataStatus
- type NnfNodeECPrivateData
- type NnfNodeList
- type NnfNodeSpec
- type NnfNodeStatus
- type NnfNodeStorage
- func (in *NnfNodeStorage) DeepCopy() *NnfNodeStorage
- func (in *NnfNodeStorage) DeepCopyInto(out *NnfNodeStorage)
- func (in *NnfNodeStorage) DeepCopyObject() runtime.Object
- func (ns *NnfNodeStorage) GetStatus() updater.Status[*NnfNodeStorageStatus]
- func (*NnfNodeStorage) Hub()
- func (r *NnfNodeStorage) SetupWebhookWithManager(mgr ctrl.Manager) error
- type NnfNodeStorageAllocationStatus
- type NnfNodeStorageList
- type NnfNodeStorageSpec
- type NnfNodeStorageStatus
- type NnfPortManager
- func (in *NnfPortManager) DeepCopy() *NnfPortManager
- func (in *NnfPortManager) DeepCopyInto(out *NnfPortManager)
- func (in *NnfPortManager) DeepCopyObject() runtime.Object
- func (mgr *NnfPortManager) GetStatus() updater.Status[*NnfPortManagerStatus]
- func (*NnfPortManager) Hub()
- func (r *NnfPortManager) SetupWebhookWithManager(mgr ctrl.Manager) error
- type NnfPortManagerAllocationSpec
- type NnfPortManagerAllocationStatus
- type NnfPortManagerAllocationStatusStatus
- type NnfPortManagerList
- type NnfPortManagerSpec
- type NnfPortManagerStatus
- type NnfPortManagerStatusStatus
- type NnfResourceHealthType
- type NnfResourceStateType
- type NnfResourceStatus
- type NnfResourceStatusType
- type NnfServerStatus
- type NnfStorage
- func (in *NnfStorage) DeepCopy() *NnfStorage
- func (in *NnfStorage) DeepCopyInto(out *NnfStorage)
- func (in *NnfStorage) DeepCopyObject() runtime.Object
- func (s *NnfStorage) GetStatus() updater.Status[*NnfStorageStatus]
- func (*NnfStorage) Hub()
- func (r *NnfStorage) SetupWebhookWithManager(mgr ctrl.Manager) error
- type NnfStorageAllocationNodes
- type NnfStorageAllocationSetSpec
- type NnfStorageAllocationSetStatus
- type NnfStorageList
- type NnfStorageLustreComponents
- type NnfStorageLustreSpec
- type NnfStorageLustreStatus
- type NnfStorageProfile
- func (in *NnfStorageProfile) DeepCopy() *NnfStorageProfile
- func (in *NnfStorageProfile) DeepCopyInto(out *NnfStorageProfile)
- func (in *NnfStorageProfile) DeepCopyObject() runtime.Object
- func (n *NnfStorageProfile) GetLustreMiscOptions(target string) NnfStorageProfileLustreMiscOptions
- func (*NnfStorageProfile) Hub()
- func (r *NnfStorageProfile) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *NnfStorageProfile) ValidateCreate() (admission.Warnings, error)
- func (r *NnfStorageProfile) ValidateDelete() (admission.Warnings, error)
- func (r *NnfStorageProfile) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
- type NnfStorageProfileCmdLines
- type NnfStorageProfileData
- type NnfStorageProfileGFS2Data
- type NnfStorageProfileLVMLvChangeCmdLines
- type NnfStorageProfileLVMVgChangeCmdLines
- type NnfStorageProfileList
- func (in *NnfStorageProfileList) DeepCopy() *NnfStorageProfileList
- func (in *NnfStorageProfileList) DeepCopyInto(out *NnfStorageProfileList)
- func (in *NnfStorageProfileList) DeepCopyObject() runtime.Object
- func (n *NnfStorageProfileList) GetObjectList() []client.Object
- func (*NnfStorageProfileList) Hub()
- type NnfStorageProfileLustreCmdLines
- type NnfStorageProfileLustreData
- type NnfStorageProfileLustreMiscOptions
- type NnfStorageProfileRawData
- type NnfStorageProfileXFSData
- type NnfStorageSpec
- type NnfStorageStatus
- type NnfSystemStorage
- func (in *NnfSystemStorage) DeepCopy() *NnfSystemStorage
- func (in *NnfSystemStorage) DeepCopyInto(out *NnfSystemStorage)
- func (in *NnfSystemStorage) DeepCopyObject() runtime.Object
- func (a *NnfSystemStorage) GetStatus() updater.Status[*NnfSystemStorageStatus]
- func (*NnfSystemStorage) Hub()
- func (r *NnfSystemStorage) SetupWebhookWithManager(mgr ctrl.Manager) error
- type NnfSystemStorageComputesTarget
- type NnfSystemStorageList
- type NnfSystemStorageSpec
- type NnfSystemStorageStatus
Constants ¶
const ( ConditionIndexCreateStoragePool = iota ConditionIndexDeleteStoragePool ConditionIndexCreateStorageGroup ConditionIndexCreateFileSystem ConditionIndexGetResource ConditionIndexInvalidResource ConditionCreateStoragePool = "CreateStoragePool" ConditionDeleteStoragePool = "DeleteStoragePool" ConditionCreateStorageGroup = "CreateStorageGroup" ConditionCreateFileSystem = "CreateFileSystem" ConditionGetResource = "GetResource" ConditionInvalidResource = "InvalidResource" )
Types define the condition type that is recorded by the system. Each storage resource defines an array of conditions as state transitions. Entry into and out of the state is recorded by the metav1.ConditionStatus. Order must be preserved and consistent between the Index and string values.
const ( ConditionUnknown = "Unknown" ConditionFailed = "Failed" ConditionInvalid = "Invalid" ConditionSuccess = "Success" )
Reason implements the Reason field of a metav1.Condition. In accordance with the metav1.Condition, the value should be a CamelCase string and may not be empty.
const ( // ResourceOkay is SF health OK ResourceOkay NnfResourceHealthType = NnfResourceHealthType(sf.OK_RH) // ResourceWarning is SF health WARNING ResourceWarning = NnfResourceHealthType(sf.WARNING_RH) // ResourceCritical is SF health CRITICAL ResourceCritical = NnfResourceHealthType(sf.CRITICAL_RH) )
const ( // ResourceEnable means this static NNF resource should be enabled. ResourceEnable NnfResourceStateType = "Enable" // ResourceDisable means this static NNF resource should be disabled. Not all static resources can be disabled. ResourceDisable = "Disable" // ResourceCreate means the resource should be created and enabled for operation. For a newly // created resource, the default state is create. ResourceCreate NnfResourceStateType = "Create" // ResourceDestroy means the resource should be released from the allocated resource pool, and // this resource and all child resources will be released to the free resource pools // managed by the system. ResourceDestroy = "Destroy" )
const ( // ResourceEnabled means the static NNF resource is enabled and ready to fullfil requests for // managed resources. ResourceEnabled NnfResourceStatusType = NnfResourceStatusType(sf.ENABLED_RST) // ResourceDisabled means the static NNF resource is present but disabled and not available for use ResourceDisabled = NnfResourceStatusType(sf.DISABLED_RST) // ResourceNotPresent means the static NNF resource is not found; likely because it is disconnected // or in a powered down state. ResourceNotPresent = "NotPresent" // ResourceOffline means the static NNF resource is offline and the NNF Node cannot communicate with // the resource. This differs from a NotPresent status in that the device is known to exist. ResourceOffline = "Offline" // ResourceStarting means the NNF resource is currently in the process of starting - resources // are being prepared for transition to an Active state. ResourceStarting = NnfResourceStatusType(sf.STARTING_RST) // ResourceDeleting means the NNF resource is currently in the process of being deleted - the resource // and all child resources are being returned to the NNF node's free resources. Upon a successful // deletion, the resource will be removed from the list of managed NNF resources ResourceDeleting = "Deleting" // ResourceDeleted means the NNF resource was deleted. This reflects the state where the NNF resource does // not exist in the NNF space, but the resource might still exist in Kubernetes. A resource in // this state suggests that Kubernetes is unable to delete the object. ResourceDeleted = "Deleted" // ResourceReady means the NNF resource is ready for use. ResourceReady = "Ready" // ResourceFailed means the NNF resource has failed during startup or execution. A failed state is // an unrecoverable condition. Additional information about the Failed cause can be found by // looking at the owning resource's Conditions field. A failed resource can only be removed // by transition to a Delete state. ResourceFailed = "Failed" // ResourceInvalid means the NNF resource configuration is invalid due to an improper format or arrangement // of listed resource parameters. ResourceInvalid = "Invalid" )
const ( ContainerLabel = "nnf.cray.hpe.com/container" ContainerUser = "user" ContainerMPIUser = "mpiuser" )
const ( // The required namespace for an NNF Data Movement operation. This is for system wide (lustre) // data movement. Individual nodes may also perform data movement in which case they use the // NNF Node Name as the namespace. DataMovementNamespace = "nnf-dm-system" // The namespace for NnfDataMovementProfiles that are not pinned. DataMovementProfileNamespace = "nnf-system" )
const ( DataMovementConditionTypeStarting = "Starting" DataMovementConditionTypeRunning = "Running" DataMovementConditionTypeFinished = "Finished" )
Types describing the various data movement status conditions.
const ( DataMovementConditionReasonSuccess = "Success" DataMovementConditionReasonFailed = "Failed" DataMovementConditionReasonInvalid = "Invalid" DataMovementConditionReasonCancelled = "Cancelled" )
Reasons describing the various data movement status conditions. Must be in CamelCase format (see metav1.Condition)
const ( // DataMovementTeardownStateLabel is the label applied to Data Movement and related resources that describes // the workflow state when the resource is no longer need and can be safely deleted. DataMovementTeardownStateLabel = "nnf.cray.hpe.com/teardown_state" // DataMovementInitiatorLabel is the label applied to Data Movement resources that describes the origin of // data movement request. This would be from a copy_in/copy_out directive or from a compute node via the // Copy Offload API (i.e. nnf-dm daemon). DataMovementInitiatorLabel = "dm.cray.hpe.com/initiator" )
const ( DataMovementWorkerLabel = "dm.cray.hpe.com/worker" // The name of the expected Data Movement manager. This is to ensure Data Movement is ready in // the DataIn/DataOut stages before attempting data movement operations. DataMovementManagerName = "nnf-dm-manager-controller-manager" )
const ( AllocationSetLabel = "nnf.cray.hpe.com/allocationset" AllocationSetOST0Label = "nnf.cray.hpe.com/allocationset_ost0" )
const ( // DirectiveIndexLabel is a label applied to child objects of the workflow // to show which directive they were created for. This is useful during deletion // to filter the child objects by the directive index and only delete the // resources for the directive being processed DirectiveIndexLabel = "nnf.cray.hpe.com/directive_index" // TargetDirectiveIndexLabel is used for ClientMount resources to indicate the // directive index of the storage they're targeting. TargetDirectiveIndexLabel = "nnf.cray.hpe.com/target_directive_index" // TargetOwnerUidLabel is used for ClientMount resources to indicate the UID of the // parent NnfStorage it's targeting TargetOwnerUidLabel = "nnf.cray.hpe.com/target_owner_uid" // PinnedStorageProfileLabelName is a label applied to NnfStorage objects to show // which pinned storage profile is being used. PinnedStorageProfileLabelName = "nnf.cray.hpe.com/pinned_storage_profile_name" // PinnedStorageProfileLabelNameSpace is a label applied to NnfStorage objects to show // which pinned storage profile is being used. PinnedStorageProfileLabelNameSpace = "nnf.cray.hpe.com/pinned_storage_profile_namespace" // PinnedContainerProfileLabelName is a label applied to NnfStorage objects to show // which pinned container profile is being used. PinnedContainerProfileLabelName = "nnf.cray.hpe.com/pinned_container_profile_name" // PinnedContainerProfileLabelNameSpace is a label applied to NnfStorage objects to show // which pinned container profile is being used. PinnedContainerProfileLabelNameSpace = "nnf.cray.hpe.com/pinned_container_profile_namespace" // StandaloneMGTLabel is a label applied to the PersistentStorageInstance to show that // it is for a Lustre MGT only. The value for the label is the pool name. StandaloneMGTLabel = "nnf.cray.hpe.com/standalone_mgt" // RabbitNodeSelectorLabel is a label applied to each k8s Node that is a Rabbit. // It is used for scheduling NLCs onto the rabbits. // (This is left in its legacy form because so many existing services are // using it in their nodeSelector.) RabbitNodeSelectorLabel = "cray.nnf.node" // TaintsAndLabelsCompletedLabel is a label applied to each k8s Node that is a Rabbit. // It is used to indicate that the node has completed the process of applying // the taints and labels that mark it as a rabbit. TaintsAndLabelsCompletedLabel = "nnf.cray.hpe.com/taints_and_labels_completed" // RabbitNodeTaintKey is a taint key applied to each k8s Node that is a Rabbit. // It is used for scheduling NLCs onto the rabbits. // (This is left in its legacy form to avoid having existing clusters, // which already have this taint, grind to a halt.) RabbitNodeTaintKey = "cray.nnf.node" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "nnf.cray.hpe.com", Version: "v1alpha4"} // 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 ¶
func AddDataMovementTeardownStateLabel ¶
func AddDataMovementTeardownStateLabel(object metav1.Object, state dwsv1alpha2.WorkflowState)
func NewConditions ¶
NewConditions generates a new conditions array for NNFNodeStorage
func SetGetResourceFailureCondition ¶
SetGetResourceFailureCondition sets/gets the specified condition to failed
func SetResourceInvalidCondition ¶
SetResourceInvalidCondition sets/gets the specified condition to invalid
Types ¶
type LustreStorageSpec ¶
type LustreStorageSpec struct { // FileSystemName is the fsname parameter for the Lustre filesystem. // +kubebuilder:validation:MaxLength:=8 FileSystemName string `json:"fileSystemName,omitempty"` // TargetType is the type of Lustre target to be created. // +kubebuilder:validation:Enum=mgt;mdt;mgtmdt;ost TargetType string `json:"targetType,omitempty"` // StartIndex is used to order a series of MDTs or OSTs. This is used only // when creating MDT and OST targets. If count in the NnfNodeStorageSpec is more // than 1, then StartIndex is the index of the first allocation, and the indexes // increment from there. // +kubebuilder:validation:Minimum:=0 StartIndex int `json:"startIndex,omitempty"` // MgsAddress is the NID of the MGS to use. This is used only when // creating MDT and OST targets. MgsAddress string `json:"mgsAddress,omitempty"` // BackFs is the type of backing filesystem to use. // +kubebuilder:validation:Enum=ldiskfs;zfs BackFs string `json:"backFs,omitempty"` // LustreComponents defines that list of NNF Nodes that are used for the components (e.g. OSTs) // in the lustre filesystem. This information is helpful when creating the lustre filesystem and // using PostMount commands (e.g. to set the striping). LustreComponents NnfStorageLustreComponents `json:"lustreComponents,omitempty"` }
LustreStorageSpec describes the Lustre target to be created here.
func (*LustreStorageSpec) DeepCopy ¶
func (in *LustreStorageSpec) DeepCopy() *LustreStorageSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LustreStorageSpec.
func (*LustreStorageSpec) DeepCopyInto ¶
func (in *LustreStorageSpec) DeepCopyInto(out *LustreStorageSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfAccess ¶
type NnfAccess struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec NnfAccessSpec `json:"spec,omitempty"` Status NnfAccessStatus `json:"status,omitempty"` }
NnfAccess is the Schema for the nnfaccesses API
func (*NnfAccess) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfAccess.
func (*NnfAccess) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NnfAccess) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NnfAccessList ¶
type NnfAccessList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []NnfAccess `json:"items"` }
NnfAccessList contains a list of NnfAccess
func (*NnfAccessList) DeepCopy ¶
func (in *NnfAccessList) DeepCopy() *NnfAccessList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfAccessList.
func (*NnfAccessList) DeepCopyInto ¶
func (in *NnfAccessList) DeepCopyInto(out *NnfAccessList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NnfAccessList) DeepCopyObject ¶
func (in *NnfAccessList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NnfAccessList) GetObjectList ¶
func (n *NnfAccessList) GetObjectList() []client.Object
func (*NnfAccessList) Hub ¶
func (*NnfAccessList) Hub()
The conversion-verifier tool wants these...though they're never used.
type NnfAccessSpec ¶
type NnfAccessSpec struct { // DesiredState is the desired state for the mounts on the client // +kubebuilder:validation:Enum=mounted;unmounted DesiredState string `json:"desiredState"` // TeardownState is the desired state of the workflow for this NNF Access resource to // be torn down and deleted. // +kubebuilder:validation:Enum:=PreRun;PostRun;Teardown // +kubebuilder:validation:Type:=string TeardownState dwsv1alpha2.WorkflowState `json:"teardownState"` // Target specifies which storage targets the client should mount // - single: Only one of the storage the client can access // - all: All of the storage the client can access // - shared: Multiple clients access the same storage // +kubebuilder:validation:Enum=single;all;shared Target string `json:"target"` // UserID for the new mount. Currently only used for raw UserID uint32 `json:"userID"` // GroupID for the new mount. Currently only used for raw GroupID uint32 `json:"groupID"` // ClientReference is for a client resource. (DWS) Computes is the only client // resource type currently supported ClientReference corev1.ObjectReference `json:"clientReference,omitempty"` // MountPath for the storage target on the client MountPath string `json:"mountPath,omitempty"` // MakeClientMounts determines whether the ClientMount resources are made, or if only // the access list on the NnfNodeBlockStorage is updated // +kubebuilder:default=true MakeClientMounts bool `json:"makeClientMounts"` MountPathPrefix string `json:"mountPathPrefix,omitempty"` // StorageReference is the NnfStorage reference StorageReference corev1.ObjectReference `json:"storageReference"` // +kubebuilder:default=false IgnoreOfflineComputes bool `json:"ignoreOfflineComputes"` }
NnfAccessSpec defines the desired state of NnfAccess
func (*NnfAccessSpec) DeepCopy ¶
func (in *NnfAccessSpec) DeepCopy() *NnfAccessSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfAccessSpec.
func (*NnfAccessSpec) DeepCopyInto ¶
func (in *NnfAccessSpec) DeepCopyInto(out *NnfAccessSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfAccessStatus ¶
type NnfAccessStatus struct { // State is the current state // +kubebuilder:validation:Enum=mounted;unmounted State string `json:"state"` // Ready signifies whether status.state has been achieved Ready bool `json:"ready"` dwsv1alpha2.ResourceError `json:",inline"` }
NnfAccessStatus defines the observed state of NnfAccess
func (*NnfAccessStatus) DeepCopy ¶
func (in *NnfAccessStatus) DeepCopy() *NnfAccessStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfAccessStatus.
func (*NnfAccessStatus) DeepCopyInto ¶
func (in *NnfAccessStatus) DeepCopyInto(out *NnfAccessStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfContainerProfile ¶
type NnfContainerProfile struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Data NnfContainerProfileData `json:"data"` }
NnfContainerProfile is the Schema for the nnfcontainerprofiles API
func (*NnfContainerProfile) DeepCopy ¶
func (in *NnfContainerProfile) DeepCopy() *NnfContainerProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfContainerProfile.
func (*NnfContainerProfile) DeepCopyInto ¶
func (in *NnfContainerProfile) DeepCopyInto(out *NnfContainerProfile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NnfContainerProfile) DeepCopyObject ¶
func (in *NnfContainerProfile) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NnfContainerProfile) Hub ¶
func (*NnfContainerProfile) Hub()
func (*NnfContainerProfile) SetupWebhookWithManager ¶
func (r *NnfContainerProfile) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager will setup the manager to manage the webhooks
func (*NnfContainerProfile) ValidateCreate ¶
func (r *NnfContainerProfile) ValidateCreate() (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*NnfContainerProfile) ValidateDelete ¶
func (r *NnfContainerProfile) ValidateDelete() (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*NnfContainerProfile) ValidateUpdate ¶
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
type NnfContainerProfileData ¶
type NnfContainerProfileData struct { // Pinned is true if this instance is an immutable copy // +kubebuilder:default:=false Pinned bool `json:"pinned,omitempty"` // List of possible filesystems supported by this container profile Storages []NnfContainerProfileStorage `json:"storages,omitempty"` // Containers are launched in the PreRun state. Allow this many seconds for the containers to // start before declaring an error to the workflow. // Defaults to 300 if not set. A value of 0 disables this behavior. // +kubebuilder:default:=300 // +kubebuilder:validation:Minimum:=0 PreRunTimeoutSeconds *int64 `json:"preRunTimeoutSeconds,omitempty"` // Containers are expected to complete in the PostRun State. Allow this many seconds for the // containers to exit before declaring an error the workflow. // Defaults to 300 if not set. A value of 0 disables this behavior. // +kubebuilder:default:=300 // +kubebuilder:validation:Minimum:=0 PostRunTimeoutSeconds *int64 `json:"postRunTimeoutSeconds,omitempty"` // Specifies the number of times a container will be retried upon a failure. A new pod is // deployed on each retry. Defaults to 6 by kubernetes itself and must be set. A value of 0 // disables retries. // +kubebuilder:validation:Minimum:=0 // +kubebuilder:default:=6 RetryLimit int32 `json:"retryLimit"` // UserID specifies the user ID that is allowed to use this profile. If this is specified, only // Workflows that have a matching user ID can select this profile. UserID *uint32 `json:"userID,omitempty"` // GroupID specifies the group ID that is allowed to use this profile. If this is specified, // only Workflows that have a matching group ID can select this profile. GroupID *uint32 `json:"groupID,omitempty"` // Number of ports to open for communication with the user container. These ports are opened on // the targeted NNF nodes and can be accessed outside of the k8s cluster (e.g. compute nodes). // The requested ports are made available as environment variables inside the container and in // the DWS workflow (NNF_CONTAINER_PORTS). NumPorts int32 `json:"numPorts,omitempty"` // Spec to define the containers created from this profile. This is used for non-MPI containers. // Refer to the K8s documentation for `PodSpec` for more definition: // https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#PodSpec // Either this or MPISpec must be provided, but not both. Spec *corev1.PodSpec `json:"spec,omitempty"` // MPIJobSpec to define the MPI containers created from this profile. This functionality is // provided via mpi-operator, a 3rd party tool to assist in running MPI applications across // worker containers. // Either this or Spec must be provided, but not both. // // All the fields defined drive mpi-operator behavior. See the type definition of MPISpec for // more detail: // https://github.com/kubeflow/mpi-operator/blob/v0.4.0/pkg/apis/kubeflow/v2beta1/types.go#L137 // // Note: most of these fields are fully customizable with a few exceptions. These fields are // overridden by NNF software to ensure proper behavior to interface with the DWS workflow // - Replicas // - RunPolicy.BackoffLimit (this is set above by `RetryLimit`) // - Worker/Launcher.RestartPolicy MPISpec *mpiv2beta1.MPIJobSpec `json:"mpiSpec,omitempty"` }
NnfContainerProfileSpec defines the desired state of NnfContainerProfile
func (*NnfContainerProfileData) DeepCopy ¶
func (in *NnfContainerProfileData) DeepCopy() *NnfContainerProfileData
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfContainerProfileData.
func (*NnfContainerProfileData) DeepCopyInto ¶
func (in *NnfContainerProfileData) DeepCopyInto(out *NnfContainerProfileData)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfContainerProfileList ¶
type NnfContainerProfileList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []NnfContainerProfile `json:"items"` }
NnfContainerProfileList contains a list of NnfContainerProfile
func (*NnfContainerProfileList) DeepCopy ¶
func (in *NnfContainerProfileList) DeepCopy() *NnfContainerProfileList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfContainerProfileList.
func (*NnfContainerProfileList) DeepCopyInto ¶
func (in *NnfContainerProfileList) DeepCopyInto(out *NnfContainerProfileList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NnfContainerProfileList) DeepCopyObject ¶
func (in *NnfContainerProfileList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NnfContainerProfileList) Hub ¶
func (*NnfContainerProfileList) Hub()
type NnfContainerProfileStorage ¶
type NnfContainerProfileStorage struct { // Name specifies the name of the mounted filesystem; must match the user supplied #DW directive Name string `json:"name"` // Optional designates that this filesystem is available to be mounted, but can be ignored by // the user not supplying this filesystem in the #DW directives //+kubebuilder:default:=false Optional bool `json:"optional"` // For DW_GLOBAL_ (global lustre) storages, the access mode must match what is configured in // the LustreFilesystem resource for the namespace. Defaults to `ReadWriteMany` for global // lustre, otherwise empty. PVCMode corev1.PersistentVolumeAccessMode `json:"pvcMode,omitempty"` }
NnfContainerProfileStorage defines the mount point information that will be available to the container
func (*NnfContainerProfileStorage) DeepCopy ¶
func (in *NnfContainerProfileStorage) DeepCopy() *NnfContainerProfileStorage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfContainerProfileStorage.
func (*NnfContainerProfileStorage) DeepCopyInto ¶
func (in *NnfContainerProfileStorage) DeepCopyInto(out *NnfContainerProfileStorage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfDataMovement ¶
type NnfDataMovement struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec NnfDataMovementSpec `json:"spec,omitempty"` Status NnfDataMovementStatus `json:"status,omitempty"` }
NnfDataMovement is the Schema for the nnfdatamovements API
func (*NnfDataMovement) DeepCopy ¶
func (in *NnfDataMovement) DeepCopy() *NnfDataMovement
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfDataMovement.
func (*NnfDataMovement) DeepCopyInto ¶
func (in *NnfDataMovement) DeepCopyInto(out *NnfDataMovement)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NnfDataMovement) DeepCopyObject ¶
func (in *NnfDataMovement) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NnfDataMovement) Hub ¶
func (*NnfDataMovement) Hub()
func (*NnfDataMovement) SetupWebhookWithManager ¶
func (r *NnfDataMovement) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager will setup the manager to manage the webhooks
type NnfDataMovementCommandStatus ¶
type NnfDataMovementCommandStatus struct { // The command that was executed during data movement. Command string `json:"command,omitempty"` // ElapsedTime reflects the elapsed time since the underlying data movement command started. ElapsedTime metav1.Duration `json:"elapsedTime,omitempty"` // ProgressPercentage refects the progress of the underlying data movement command as captured from // standard output. A best effort is made to parse the command output as a percentage. If no // progress has yet to be measured than this field is omitted. If the latest command output does // not contain a valid percentage, then the value is unchanged from the previously parsed value. ProgressPercentage *int32 `json:"progress,omitempty"` // LastMessage reflects the last message received over standard output or standard error as // captured by the underlying data movement command. LastMessage string `json:"lastMessage,omitempty"` // LastMessageTime reflects the time at which the last message was received over standard output // or standard error by the underlying data movement command. LastMessageTime metav1.MicroTime `json:"lastMessageTime,omitempty"` // Seconds is parsed from the dcp output when the command is finished. Seconds string `json:"seconds,omitempty"` // Items is parsed from the dcp output when the command is finished. This is a total of // the number of directories, files, and links that dcp copied. Items *int32 `json:"items,omitempty"` // Directories is parsed from the dcp output when the command is finished. This is the number of // directories that dcp copied. Note: This value may be inflated due to NNF index mount // directories when copying from XFS or GFS2 filesystems. Directories *int32 `json:"directories,omitempty"` // Files is parsed from the dcp output when the command is finished. This is the number of files // that dcp copied. Files *int32 `json:"files,omitempty"` // Links is parsed from the dcp output when the command is finished. This is the number of links // that dcp copied. Links *int32 `json:"links,omitempty"` // Data is parsed from the dcp output when the command is finished. This is the total amount of // data copied by dcp. Data string `json:"data,omitempty"` // Rate is parsed from the dcp output when the command is finished. This is transfer rate of the // data copied by dcp. Rate string `json:"rate,omitempty"` }
NnfDataMovementCommandStatus defines the observed status of the underlying data movement command (MPI File Utils' `dcp` command).
func (*NnfDataMovementCommandStatus) DeepCopy ¶
func (in *NnfDataMovementCommandStatus) DeepCopy() *NnfDataMovementCommandStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfDataMovementCommandStatus.
func (*NnfDataMovementCommandStatus) DeepCopyInto ¶
func (in *NnfDataMovementCommandStatus) DeepCopyInto(out *NnfDataMovementCommandStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfDataMovementConfig ¶
type NnfDataMovementConfig struct { // Fake the Data Movement operation. The system "performs" Data Movement but the command to do so // is trivial. This means a Data Movement request is still submitted but the IO is skipped. // +kubebuilder:default:=false Dryrun bool `json:"dryrun,omitempty"` // Extra options to pass to the mpirun command (used to perform data movement). MpirunOptions string `json:"mpirunOptions,omitempty"` // Extra options to pass to the dcp command (used to perform data movement). DcpOptions string `json:"dcpOptions,omitempty"` // If true, enable the command's stdout to be saved in the log when the command completes // successfully. On failure, the output is always logged. // Note: Enabling this option may degrade performance. // +kubebuilder:default:=false LogStdout bool `json:"logStdout,omitempty"` // Similar to LogStdout, store the command's stdout in Status.Message when the command completes // successfully. On failure, the output is always stored. // Note: Enabling this option may degrade performance. // +kubebuilder:default:=false StoreStdout bool `json:"storeStdout,omitempty"` // The number of slots specified in the MPI hostfile. A value of 0 disables the use of slots in // the hostfile. Nil will defer to the value specified in the NnfDataMovementProfile. Slots *int `json:"slots,omitempty"` // The number of max_slots specified in the MPI hostfile. A value of 0 disables the use of slots // in the hostfile. Nil will defer to the value specified in the NnfDataMovementProfile. MaxSlots *int `json:"maxSlots,omitempty"` }
NnfDataMovementConfig provides a way for a user to override the data movement behavior on a per DM basis.
func (*NnfDataMovementConfig) DeepCopy ¶
func (in *NnfDataMovementConfig) DeepCopy() *NnfDataMovementConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfDataMovementConfig.
func (*NnfDataMovementConfig) DeepCopyInto ¶
func (in *NnfDataMovementConfig) DeepCopyInto(out *NnfDataMovementConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfDataMovementList ¶
type NnfDataMovementList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []NnfDataMovement `json:"items"` }
NnfDataMovementList contains a list of NnfDataMovement
func (*NnfDataMovementList) DeepCopy ¶
func (in *NnfDataMovementList) DeepCopy() *NnfDataMovementList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfDataMovementList.
func (*NnfDataMovementList) DeepCopyInto ¶
func (in *NnfDataMovementList) DeepCopyInto(out *NnfDataMovementList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NnfDataMovementList) DeepCopyObject ¶
func (in *NnfDataMovementList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NnfDataMovementList) GetObjectList ¶
func (n *NnfDataMovementList) GetObjectList() []client.Object
func (*NnfDataMovementList) Hub ¶
func (*NnfDataMovementList) Hub()
type NnfDataMovementManager ¶
type NnfDataMovementManager struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec NnfDataMovementManagerSpec `json:"spec,omitempty"` Status NnfDataMovementManagerStatus `json:"status,omitempty"` }
NnfDataMovementManager is the Schema for the nnfdatamovementmanagers API
func (*NnfDataMovementManager) DeepCopy ¶
func (in *NnfDataMovementManager) DeepCopy() *NnfDataMovementManager
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfDataMovementManager.
func (*NnfDataMovementManager) DeepCopyInto ¶
func (in *NnfDataMovementManager) DeepCopyInto(out *NnfDataMovementManager)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NnfDataMovementManager) DeepCopyObject ¶
func (in *NnfDataMovementManager) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NnfDataMovementManager) GetStatus ¶
func (m *NnfDataMovementManager) GetStatus() updater.Status[*NnfDataMovementManagerStatus]
func (*NnfDataMovementManager) Hub ¶
func (*NnfDataMovementManager) Hub()
func (*NnfDataMovementManager) SetupWebhookWithManager ¶
func (r *NnfDataMovementManager) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager will setup the manager to manage the webhooks
type NnfDataMovementManagerList ¶
type NnfDataMovementManagerList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []NnfDataMovementManager `json:"items"` }
NnfDataMovementManagerList contains a list of NnfDataMovementManager
func (*NnfDataMovementManagerList) DeepCopy ¶
func (in *NnfDataMovementManagerList) DeepCopy() *NnfDataMovementManagerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfDataMovementManagerList.
func (*NnfDataMovementManagerList) DeepCopyInto ¶
func (in *NnfDataMovementManagerList) DeepCopyInto(out *NnfDataMovementManagerList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NnfDataMovementManagerList) DeepCopyObject ¶
func (in *NnfDataMovementManagerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NnfDataMovementManagerList) Hub ¶
func (*NnfDataMovementManagerList) Hub()
type NnfDataMovementManagerSpec ¶
type NnfDataMovementManagerSpec struct { // Selector defines the pod selector used in scheduling the worker nodes. This value is duplicated // to the template.spec.metadata.labels to satisfy the requirements of the worker's Daemon Set. Selector metav1.LabelSelector `json:"selector"` // Template defines the pod template that is used for the basis of the worker Daemon Set that // manages the per node data movement operations. Template corev1.PodTemplateSpec `json:"template"` // UpdateStrategy defines the UpdateStrategy that is used for the basis of the worker Daemon Set // that manages the per node data movement operations. UpdateStrategy appsv1.DaemonSetUpdateStrategy `json:"updateStrategy"` // Host Path defines the directory location of shared mounts on an individual worker node. HostPath string `json:"hostPath"` // Mount Path defines the location within the container at which the Host Path volume should be mounted. MountPath string `json:"mountPath"` }
NnfDataMovementManagerSpec defines the desired state of NnfDataMovementManager
func (*NnfDataMovementManagerSpec) DeepCopy ¶
func (in *NnfDataMovementManagerSpec) DeepCopy() *NnfDataMovementManagerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfDataMovementManagerSpec.
func (*NnfDataMovementManagerSpec) DeepCopyInto ¶
func (in *NnfDataMovementManagerSpec) DeepCopyInto(out *NnfDataMovementManagerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfDataMovementManagerStatus ¶
type NnfDataMovementManagerStatus struct { // Ready indicates that the Data Movement Manager has achieved the desired readiness state // and all managed resources are initialized. // +kubebuilder:default:=false Ready bool `json:"ready"` }
NnfDataMovementManagerStatus defines the observed state of NnfDataMovementManager
func (*NnfDataMovementManagerStatus) DeepCopy ¶
func (in *NnfDataMovementManagerStatus) DeepCopy() *NnfDataMovementManagerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfDataMovementManagerStatus.
func (*NnfDataMovementManagerStatus) DeepCopyInto ¶
func (in *NnfDataMovementManagerStatus) DeepCopyInto(out *NnfDataMovementManagerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfDataMovementProfile ¶
type NnfDataMovementProfile struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Data NnfDataMovementProfileData `json:"data,omitempty"` }
NnfDataMovementProfile is the Schema for the nnfdatamovementprofiles API
func (*NnfDataMovementProfile) DeepCopy ¶
func (in *NnfDataMovementProfile) DeepCopy() *NnfDataMovementProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfDataMovementProfile.
func (*NnfDataMovementProfile) DeepCopyInto ¶
func (in *NnfDataMovementProfile) DeepCopyInto(out *NnfDataMovementProfile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NnfDataMovementProfile) DeepCopyObject ¶
func (in *NnfDataMovementProfile) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NnfDataMovementProfile) Hub ¶
func (*NnfDataMovementProfile) Hub()
func (*NnfDataMovementProfile) SetupWebhookWithManager ¶
func (r *NnfDataMovementProfile) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager will setup the manager to manage the webhooks
func (*NnfDataMovementProfile) ValidateCreate ¶
func (r *NnfDataMovementProfile) ValidateCreate() (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*NnfDataMovementProfile) ValidateDelete ¶
func (r *NnfDataMovementProfile) ValidateDelete() (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*NnfDataMovementProfile) ValidateUpdate ¶
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
type NnfDataMovementProfileData ¶
type NnfDataMovementProfileData struct { // Default is true if this instance is the default resource to use // +kubebuilder:default:=false Default bool `json:"default,omitempty"` // Pinned is true if this instance is an immutable copy // +kubebuilder:default:=false Pinned bool `json:"pinned,omitempty"` // Slots is the number of slots specified in the MPI hostfile. A value of 0 disables the use of // slots in the hostfile. The hostfile is used for both `statCommand` and `Command`. // +kubebuilder:default:=8 // +kubebuilder:validation:Minimum:=0 Slots int `json:"slots"` // MaxSlots is the number of max_slots specified in the MPI hostfile. A value of 0 disables the // use of max_slots in the hostfile. The hostfile is used for both `statCommand` and `Command`. // +kubebuilder:default:=0 // +kubebuilder:validation:Minimum:=0 MaxSlots int `json:"maxSlots"` // Command to execute to perform data movement. $VARS are replaced by the nnf software and must // be present in the command. // Available $VARS: // HOSTFILE: hostfile that is created and used for mpirun. Contains a list of hosts and the // slots/max_slots for each host. This hostfile is created at `/tmp/<dm-name>/hostfile` // UID: User ID that is inherited from the Workflow // GID: Group ID that is inherited from the Workflow // SRC: source for the data movement // DEST destination for the data movement // +kubebuilder:default:="ulimit -n 2048 && mpirun --allow-run-as-root --hostfile $HOSTFILE dcp --progress 1 --uid $UID --gid $GID $SRC $DEST" Command string `json:"command"` // If true, enable the command's stdout to be saved in the log when the command completes // successfully. On failure, the output is always logged. // +kubebuilder:default:=false LogStdout bool `json:"logStdout,omitempty"` // Similar to logStdout, store the command's stdout in Status.Message when the command completes // successfully. On failure, the output is always stored. // +kubebuilder:default:=false StoreStdout bool `json:"storeStdout,omitempty"` // NnfDataMovement resources have the ability to collect and store the progress percentage and the // last few lines of output in the CommandStatus field. This number is used for the interval to collect // the progress data. `dcp --progress N` must be included in the data movement command in order for // progress to be collected. A value of 0 disables this functionality. // +kubebuilder:default:=5 // +kubebuilder:validation:Minimum:=0 ProgressIntervalSeconds int `json:"progressIntervalSeconds,omitempty"` // CreateDestDir will ensure that the destination directory exists before performing data // movement. This will cause a number of stat commands to determine the source and destination // file types, so that the correct pathing for the destination can be determined. Then, a mkdir // is issued. // +kubebuilder:default:=true CreateDestDir bool `json:"createDestDir"` // If CreateDestDir is true, then use StatCommand to perform the stat commands. // Use setpriv to execute with the specified UID/GID. // Available $VARS: // HOSTFILE: hostfile that is created and used for mpirun. Contains a list of hosts and the // slots/max_slots for each host. This hostfile is created at // `/tmp/<dm-name>/hostfile`. This is the same hostfile used as the one for Command. // UID: User ID that is inherited from the Workflow // GID: Group ID that is inherited from the Workflow // PATH: Path to stat // +kubebuilder:default:="mpirun --allow-run-as-root -np 1 --hostfile $HOSTFILE -- setpriv --euid $UID --egid $GID --clear-groups stat --cached never -c '%F' $PATH" StatCommand string `json:"statCommand"` // If CreateDestDir is true, then use MkdirCommand to perform the mkdir commands. // Use setpriv to execute with the specified UID/GID. // Available $VARS: // HOSTFILE: hostfile that is created and used for mpirun. Contains a list of hosts and the // slots/max_slots for each host. This hostfile is created at // `/tmp/<dm-name>/hostfile`. This is the same hostfile used as the one for Command. // UID: User ID that is inherited from the Workflow // GID: Group ID that is inherited from the Workflow // PATH: Path to stat // +kubebuilder:default:="mpirun --allow-run-as-root -np 1 --hostfile $HOSTFILE -- setpriv --euid $UID --egid $GID --clear-groups mkdir -p $PATH" MkdirCommand string `json:"mkdirCommand"` }
NnfDataMovementProfileData defines the desired state of NnfDataMovementProfile
func (*NnfDataMovementProfileData) DeepCopy ¶
func (in *NnfDataMovementProfileData) DeepCopy() *NnfDataMovementProfileData
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfDataMovementProfileData.
func (*NnfDataMovementProfileData) DeepCopyInto ¶
func (in *NnfDataMovementProfileData) DeepCopyInto(out *NnfDataMovementProfileData)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfDataMovementProfileList ¶
type NnfDataMovementProfileList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []NnfDataMovementProfile `json:"items"` }
NnfDataMovementProfileList contains a list of NnfDataMovementProfile
func (*NnfDataMovementProfileList) DeepCopy ¶
func (in *NnfDataMovementProfileList) DeepCopy() *NnfDataMovementProfileList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfDataMovementProfileList.
func (*NnfDataMovementProfileList) DeepCopyInto ¶
func (in *NnfDataMovementProfileList) DeepCopyInto(out *NnfDataMovementProfileList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NnfDataMovementProfileList) DeepCopyObject ¶
func (in *NnfDataMovementProfileList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NnfDataMovementProfileList) Hub ¶
func (*NnfDataMovementProfileList) Hub()
type NnfDataMovementSpec ¶
type NnfDataMovementSpec struct { // Source describes the source of the data movement operation Source *NnfDataMovementSpecSourceDestination `json:"source,omitempty"` // Destination describes the destination of the data movement operation Destination *NnfDataMovementSpecSourceDestination `json:"destination,omitempty"` // User Id specifies the user ID for the data movement operation. This value is used // in conjunction with the group ID to ensure the user has valid permissions to perform // the data movement operation. UserId uint32 `json:"userId,omitempty"` // Group Id specifies the group ID for the data movement operation. This value is used // in conjunction with the user ID to ensure the user has valid permissions to perform // the data movement operation. GroupId uint32 `json:"groupId,omitempty"` // Set to true if the data movement operation should be canceled. // +kubebuilder:default:=false Cancel bool `json:"cancel,omitempty"` // ProfileReference is an object reference to an NnfDataMovementProfile that is used to // configure data movement. If empty, the default profile is used. ProfileReference corev1.ObjectReference `json:"profileReference,omitempty"` // User defined configuration on how data movement should be performed. This overrides the // configuration defined in the supplied ProfileReference/NnfDataMovementProfile. These values // are typically set by the Copy Offload API. UserConfig *NnfDataMovementConfig `json:"userConfig,omitempty"` }
NnfDataMovementSpec defines the desired state of NnfDataMovement
func (*NnfDataMovementSpec) DeepCopy ¶
func (in *NnfDataMovementSpec) DeepCopy() *NnfDataMovementSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfDataMovementSpec.
func (*NnfDataMovementSpec) DeepCopyInto ¶
func (in *NnfDataMovementSpec) DeepCopyInto(out *NnfDataMovementSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfDataMovementSpecSourceDestination ¶
type NnfDataMovementSpecSourceDestination struct { // Path describes the location of the user data relative to the storage instance Path string `json:"path,omitempty"` // Storage describes the storage backing this data movement specification; Storage can reference // either NNF storage or global Lustre storage depending on the object references Kind field. StorageReference corev1.ObjectReference `json:"storageReference,omitempty"` }
NnfDataMovementSpecSourceDestination defines the desired source or destination of data movement
func (*NnfDataMovementSpecSourceDestination) DeepCopy ¶
func (in *NnfDataMovementSpecSourceDestination) DeepCopy() *NnfDataMovementSpecSourceDestination
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfDataMovementSpecSourceDestination.
func (*NnfDataMovementSpecSourceDestination) DeepCopyInto ¶
func (in *NnfDataMovementSpecSourceDestination) DeepCopyInto(out *NnfDataMovementSpecSourceDestination)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfDataMovementStatus ¶
type NnfDataMovementStatus struct { // Current state of data movement. // +kubebuilder:validation:Enum=Starting;Running;Finished State string `json:"state,omitempty"` // Status of the current state. // +kubebuilder:validation:Enum=Success;Failed;Invalid;Cancelled Status string `json:"status,omitempty"` // Message contains any text that explains the Status. If Data Movement failed or storeStdout is // enabled, this will contain the command's output. Message string `json:"message,omitempty"` // StartTime reflects the time at which the Data Movement operation started. StartTime *metav1.MicroTime `json:"startTime,omitempty"` // EndTime reflects the time at which the Data Movement operation ended. EndTime *metav1.MicroTime `json:"endTime,omitempty"` // Restarts contains the number of restarts of the Data Movement operation. Restarts int `json:"restarts,omitempty"` // CommandStatus reflects the current status of the underlying Data Movement command // as it executes. The command status is polled at a certain frequency to avoid excessive // updates to the Data Movement resource. CommandStatus *NnfDataMovementCommandStatus `json:"commandStatus,omitempty"` dwsv1alpha2.ResourceError `json:",inline"` }
NnfDataMovementStatus defines the observed state of NnfDataMovement
func (*NnfDataMovementStatus) DeepCopy ¶
func (in *NnfDataMovementStatus) DeepCopy() *NnfDataMovementStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfDataMovementStatus.
func (*NnfDataMovementStatus) DeepCopyInto ¶
func (in *NnfDataMovementStatus) DeepCopyInto(out *NnfDataMovementStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfDriveStatus ¶
type NnfDriveStatus struct { // Model is the manufacturer information about the device Model string `json:"model,omitempty"` // The serial number for this storage controller. SerialNumber string `json:"serialNumber,omitempty"` // The firmware version of this storage controller. FirmwareVersion string `json:"firmwareVersion,omitempty"` // Physical slot location of the storage controller. Slot string `json:"slot,omitempty"` // Capacity in bytes of the device. The full capacity may not // be usable depending on what the storage driver can provide. Capacity int64 `json:"capacity,omitempty"` // WearLevel in percent for SSDs WearLevel int64 `json:"wearLevel,omitempty"` NnfResourceStatus `json:",inline"` }
NnfDriveStatus defines the observe status of drives connected to this NNF Node
func (*NnfDriveStatus) DeepCopy ¶
func (in *NnfDriveStatus) DeepCopy() *NnfDriveStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfDriveStatus.
func (*NnfDriveStatus) DeepCopyInto ¶
func (in *NnfDriveStatus) DeepCopyInto(out *NnfDriveStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfLustreMGT ¶
type NnfLustreMGT struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec NnfLustreMGTSpec `json:"spec,omitempty"` Status NnfLustreMGTStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:storageversion NnfLustreMGT is the Schema for the nnfstorageprofiles API
func (*NnfLustreMGT) DeepCopy ¶
func (in *NnfLustreMGT) DeepCopy() *NnfLustreMGT
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfLustreMGT.
func (*NnfLustreMGT) DeepCopyInto ¶
func (in *NnfLustreMGT) DeepCopyInto(out *NnfLustreMGT)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NnfLustreMGT) DeepCopyObject ¶
func (in *NnfLustreMGT) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NnfLustreMGT) GetStatus ¶
func (a *NnfLustreMGT) GetStatus() updater.Status[*NnfLustreMGTStatus]
func (*NnfLustreMGT) Hub ¶
func (*NnfLustreMGT) Hub()
func (*NnfLustreMGT) SetupWebhookWithManager ¶
func (r *NnfLustreMGT) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager will setup the manager to manage the webhooks
type NnfLustreMGTList ¶
type NnfLustreMGTList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []NnfLustreMGT `json:"items"` }
NnfLustreMGTList contains a list of NnfLustreMGT
func (*NnfLustreMGTList) DeepCopy ¶
func (in *NnfLustreMGTList) DeepCopy() *NnfLustreMGTList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfLustreMGTList.
func (*NnfLustreMGTList) DeepCopyInto ¶
func (in *NnfLustreMGTList) DeepCopyInto(out *NnfLustreMGTList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NnfLustreMGTList) DeepCopyObject ¶
func (in *NnfLustreMGTList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NnfLustreMGTList) GetObjectList ¶
func (n *NnfLustreMGTList) GetObjectList() []client.Object
func (*NnfLustreMGTList) Hub ¶
func (*NnfLustreMGTList) Hub()
type NnfLustreMGTSpec ¶
type NnfLustreMGTSpec struct { // Addresses is the list of LNet addresses for the MGT Addresses []string `json:"addresses"` // FsNameBlackList is a list of fsnames that can't be used. This may be // necessary if the MGT hosts file systems external to Rabbit FsNameBlackList []string `json:"fsNameBlackList,omitempty"` // FsNameStart is the starting fsname to be used // +kubebuilder:validation:MaxLength:=8 // +kubebuilder:validation:MinLength:=8 FsNameStart string `json:"fsNameStart,omitempty"` // FsNameStartReference can be used to add a configmap where the starting fsname is // stored. If this reference is set, it takes precendence over FsNameStart. The configmap // will be updated with the next available fsname anytime an fsname is used. FsNameStartReference corev1.ObjectReference `json:"fsNameStartReference,omitempty"` // ClaimList is the list of currently in use fsnames ClaimList []corev1.ObjectReference `json:"claimList,omitempty"` }
NnfLustreMGTSpec defines the desired state of NnfLustreMGT
func (*NnfLustreMGTSpec) DeepCopy ¶
func (in *NnfLustreMGTSpec) DeepCopy() *NnfLustreMGTSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfLustreMGTSpec.
func (*NnfLustreMGTSpec) DeepCopyInto ¶
func (in *NnfLustreMGTSpec) DeepCopyInto(out *NnfLustreMGTSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfLustreMGTStatus ¶
type NnfLustreMGTStatus struct { // FsNameNext is the next available fsname that hasn't been used // +kubebuilder:validation:MaxLength:=8 // +kubebuilder:validation:MinLength:=8 FsNameNext string `json:"fsNameNext,omitempty"` // ClaimList is the list of currently in use fsnames ClaimList []NnfLustreMGTStatusClaim `json:"claimList,omitempty"` dwsv1alpha2.ResourceError `json:",inline"` }
NnfLustreMGTStatus defines the current state of NnfLustreMGT
func (*NnfLustreMGTStatus) DeepCopy ¶
func (in *NnfLustreMGTStatus) DeepCopy() *NnfLustreMGTStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfLustreMGTStatus.
func (*NnfLustreMGTStatus) DeepCopyInto ¶
func (in *NnfLustreMGTStatus) DeepCopyInto(out *NnfLustreMGTStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfLustreMGTStatusClaim ¶
type NnfLustreMGTStatusClaim struct { Reference corev1.ObjectReference `json:"reference,omitempty"` FsName string `json:"fsname,omitempty"` }
func (*NnfLustreMGTStatusClaim) DeepCopy ¶
func (in *NnfLustreMGTStatusClaim) DeepCopy() *NnfLustreMGTStatusClaim
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfLustreMGTStatusClaim.
func (*NnfLustreMGTStatusClaim) DeepCopyInto ¶
func (in *NnfLustreMGTStatusClaim) DeepCopyInto(out *NnfLustreMGTStatusClaim)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfNode ¶
type NnfNode struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec NnfNodeSpec `json:"spec,omitempty"` Status NnfNodeStatus `json:"status,omitempty"` }
NnfNode is the Schema for the NnfNode API
func (*NnfNode) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNode.
func (*NnfNode) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NnfNode) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NnfNodeBlockStorage ¶
type NnfNodeBlockStorage struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec NnfNodeBlockStorageSpec `json:"spec,omitempty"` Status NnfNodeBlockStorageStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:storageversion +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.ready" +kubebuilder:printcolumn:name="ERROR",type="string",JSONPath=".status.error.severity" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp"
func (*NnfNodeBlockStorage) DeepCopy ¶
func (in *NnfNodeBlockStorage) DeepCopy() *NnfNodeBlockStorage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeBlockStorage.
func (*NnfNodeBlockStorage) DeepCopyInto ¶
func (in *NnfNodeBlockStorage) DeepCopyInto(out *NnfNodeBlockStorage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NnfNodeBlockStorage) DeepCopyObject ¶
func (in *NnfNodeBlockStorage) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NnfNodeBlockStorage) GetStatus ¶
func (ns *NnfNodeBlockStorage) GetStatus() updater.Status[*NnfNodeBlockStorageStatus]
func (*NnfNodeBlockStorage) Hub ¶
func (*NnfNodeBlockStorage) Hub()
func (*NnfNodeBlockStorage) SetupWebhookWithManager ¶
func (r *NnfNodeBlockStorage) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager will setup the manager to manage the webhooks
type NnfNodeBlockStorageAccessStatus ¶
type NnfNodeBlockStorageAccessStatus struct { // /dev paths for each of the block devices DevicePaths []string `json:"devicePaths,omitempty"` // Redfish ID for the storage group StorageGroupId string `json:"storageGroupId,omitempty"` }
func (*NnfNodeBlockStorageAccessStatus) DeepCopy ¶
func (in *NnfNodeBlockStorageAccessStatus) DeepCopy() *NnfNodeBlockStorageAccessStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeBlockStorageAccessStatus.
func (*NnfNodeBlockStorageAccessStatus) DeepCopyInto ¶
func (in *NnfNodeBlockStorageAccessStatus) DeepCopyInto(out *NnfNodeBlockStorageAccessStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfNodeBlockStorageAllocationSpec ¶
type NnfNodeBlockStorageAllocationSpec struct { // Aggregate capacity of the block devices for each allocation Capacity int64 `json:"capacity,omitempty"` // List of nodes where /dev devices should be created Access []string `json:"access,omitempty"` }
func (*NnfNodeBlockStorageAllocationSpec) DeepCopy ¶
func (in *NnfNodeBlockStorageAllocationSpec) DeepCopy() *NnfNodeBlockStorageAllocationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeBlockStorageAllocationSpec.
func (*NnfNodeBlockStorageAllocationSpec) DeepCopyInto ¶
func (in *NnfNodeBlockStorageAllocationSpec) DeepCopyInto(out *NnfNodeBlockStorageAllocationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfNodeBlockStorageAllocationStatus ¶
type NnfNodeBlockStorageAllocationStatus struct { // Accesses is a map of node name to the access status Accesses map[string]NnfNodeBlockStorageAccessStatus `json:"accesses,omitempty"` // List of NVMe namespaces used by this allocation Devices []NnfNodeBlockStorageDeviceStatus `json:"devices,omitempty"` // Total capacity allocated for the storage. This may differ from the requested storage // capacity as the system may round up to the requested capacity to satisify underlying // storage requirements (i.e. block size / stripe size). CapacityAllocated int64 `json:"capacityAllocated,omitempty"` // Redfish ID for the storage pool StoragePoolId string `json:"storagePoolId,omitempty"` }
func (*NnfNodeBlockStorageAllocationStatus) DeepCopy ¶
func (in *NnfNodeBlockStorageAllocationStatus) DeepCopy() *NnfNodeBlockStorageAllocationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeBlockStorageAllocationStatus.
func (*NnfNodeBlockStorageAllocationStatus) DeepCopyInto ¶
func (in *NnfNodeBlockStorageAllocationStatus) DeepCopyInto(out *NnfNodeBlockStorageAllocationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfNodeBlockStorageDeviceStatus ¶
type NnfNodeBlockStorageDeviceStatus struct { // NQN of the base NVMe device NQN string `json:"NQN"` // Id of the Namespace on the NVMe device (e.g., "2") NamespaceId string `json:"namespaceId"` // Total capacity allocated for the storage. This may differ from the requested storage // capacity as the system may round up to the requested capacity to satisify underlying // storage requirements (i.e. block size / stripe size). CapacityAllocated int64 `json:"capacityAllocated,omitempty"` }
func (*NnfNodeBlockStorageDeviceStatus) DeepCopy ¶
func (in *NnfNodeBlockStorageDeviceStatus) DeepCopy() *NnfNodeBlockStorageDeviceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeBlockStorageDeviceStatus.
func (*NnfNodeBlockStorageDeviceStatus) DeepCopyInto ¶
func (in *NnfNodeBlockStorageDeviceStatus) DeepCopyInto(out *NnfNodeBlockStorageDeviceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfNodeBlockStorageList ¶
type NnfNodeBlockStorageList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []NnfNodeBlockStorage `json:"items"` }
NnfNodeBlockStorageList contains a list of NNF Nodes
func (*NnfNodeBlockStorageList) DeepCopy ¶
func (in *NnfNodeBlockStorageList) DeepCopy() *NnfNodeBlockStorageList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeBlockStorageList.
func (*NnfNodeBlockStorageList) DeepCopyInto ¶
func (in *NnfNodeBlockStorageList) DeepCopyInto(out *NnfNodeBlockStorageList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NnfNodeBlockStorageList) DeepCopyObject ¶
func (in *NnfNodeBlockStorageList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NnfNodeBlockStorageList) GetObjectList ¶
func (n *NnfNodeBlockStorageList) GetObjectList() []client.Object
func (*NnfNodeBlockStorageList) Hub ¶
func (*NnfNodeBlockStorageList) Hub()
type NnfNodeBlockStorageSpec ¶
type NnfNodeBlockStorageSpec struct { bool `json:"sharedAllocation"` // Allocations is the list of storage allocations to make Allocations []NnfNodeBlockStorageAllocationSpec `json:"allocations,omitempty"` }SharedAllocation
NnfNodeBlockStorageSpec defines the desired storage attributes on a NNF Node. Storage spec are created on request of the user and fullfilled by the NNF Node Controller.
func (*NnfNodeBlockStorageSpec) DeepCopy ¶
func (in *NnfNodeBlockStorageSpec) DeepCopy() *NnfNodeBlockStorageSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeBlockStorageSpec.
func (*NnfNodeBlockStorageSpec) DeepCopyInto ¶
func (in *NnfNodeBlockStorageSpec) DeepCopyInto(out *NnfNodeBlockStorageSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfNodeBlockStorageStatus ¶
type NnfNodeBlockStorageStatus struct { // Allocations is the list of storage allocations that were made Allocations []NnfNodeBlockStorageAllocationStatus `json:"allocations,omitempty"` dwsv1alpha2.ResourceError `json:",inline"` // PodStartTime is the value of pod.status.containerStatuses[].state.running.startedAt from the pod that did // last successful full reconcile of the NnfNodeBlockStorage. This is used to tell whether the /dev paths // listed in the status section are from the current boot of the node. PodStartTime metav1.Time `json:"podStartTime,omitempty"` Ready bool `json:"ready"` }
func (*NnfNodeBlockStorageStatus) DeepCopy ¶
func (in *NnfNodeBlockStorageStatus) DeepCopy() *NnfNodeBlockStorageStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeBlockStorageStatus.
func (*NnfNodeBlockStorageStatus) DeepCopyInto ¶
func (in *NnfNodeBlockStorageStatus) DeepCopyInto(out *NnfNodeBlockStorageStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfNodeECData ¶
type NnfNodeECData struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec NnfNodeECDataSpec `json:"spec,omitempty"` Status NnfNodeECDataStatus `json:"status,omitempty"` }
NnfNodeECData is the Schema for the nnfnodeecdata API
func (*NnfNodeECData) DeepCopy ¶
func (in *NnfNodeECData) DeepCopy() *NnfNodeECData
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeECData.
func (*NnfNodeECData) DeepCopyInto ¶
func (in *NnfNodeECData) DeepCopyInto(out *NnfNodeECData)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NnfNodeECData) DeepCopyObject ¶
func (in *NnfNodeECData) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NnfNodeECData) Hub ¶
func (*NnfNodeECData) Hub()
func (*NnfNodeECData) SetupWebhookWithManager ¶
func (r *NnfNodeECData) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager will setup the manager to manage the webhooks
type NnfNodeECDataList ¶
type NnfNodeECDataList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []NnfNodeECData `json:"items"` }
NnfNodeECDataList contains a list of NnfNodeECData
func (*NnfNodeECDataList) DeepCopy ¶
func (in *NnfNodeECDataList) DeepCopy() *NnfNodeECDataList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeECDataList.
func (*NnfNodeECDataList) DeepCopyInto ¶
func (in *NnfNodeECDataList) DeepCopyInto(out *NnfNodeECDataList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NnfNodeECDataList) DeepCopyObject ¶
func (in *NnfNodeECDataList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NnfNodeECDataList) Hub ¶
func (*NnfNodeECDataList) Hub()
type NnfNodeECDataSpec ¶
type NnfNodeECDataSpec struct { }
NnfNodeECDataSpec defines the desired state of NnfNodeECData
func (*NnfNodeECDataSpec) DeepCopy ¶
func (in *NnfNodeECDataSpec) DeepCopy() *NnfNodeECDataSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeECDataSpec.
func (*NnfNodeECDataSpec) DeepCopyInto ¶
func (in *NnfNodeECDataSpec) DeepCopyInto(out *NnfNodeECDataSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfNodeECDataStatus ¶
type NnfNodeECDataStatus struct {
Data map[string]NnfNodeECPrivateData `json:"data,omitempty"`
}
NnfNodeECDataStatus defines the observed state of NnfNodeECData
func (*NnfNodeECDataStatus) DeepCopy ¶
func (in *NnfNodeECDataStatus) DeepCopy() *NnfNodeECDataStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeECDataStatus.
func (*NnfNodeECDataStatus) DeepCopyInto ¶
func (in *NnfNodeECDataStatus) DeepCopyInto(out *NnfNodeECDataStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfNodeECPrivateData ¶
func (NnfNodeECPrivateData) DeepCopy ¶
func (in NnfNodeECPrivateData) DeepCopy() NnfNodeECPrivateData
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeECPrivateData.
func (NnfNodeECPrivateData) DeepCopyInto ¶
func (in NnfNodeECPrivateData) DeepCopyInto(out *NnfNodeECPrivateData)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfNodeList ¶
type NnfNodeList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []NnfNode `json:"items"` }
NnfNodeList contains a list of NNF Nodes
func (*NnfNodeList) DeepCopy ¶
func (in *NnfNodeList) DeepCopy() *NnfNodeList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeList.
func (*NnfNodeList) DeepCopyInto ¶
func (in *NnfNodeList) DeepCopyInto(out *NnfNodeList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NnfNodeList) DeepCopyObject ¶
func (in *NnfNodeList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NnfNodeList) Hub ¶
func (*NnfNodeList) Hub()
type NnfNodeSpec ¶
type NnfNodeSpec struct { // The unique name for this NNF Node Name string `json:"name,omitempty"` // Pod name for this NNF Node Pod string `json:"pod,omitempty"` // State reflects the desired state of this NNF Node resource // +kubebuilder:validation:Enum=Enable;Disable State NnfResourceStateType `json:"state"` }
NnfNodeSpec defines the desired state of NNF Node
func (*NnfNodeSpec) DeepCopy ¶
func (in *NnfNodeSpec) DeepCopy() *NnfNodeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeSpec.
func (*NnfNodeSpec) DeepCopyInto ¶
func (in *NnfNodeSpec) DeepCopyInto(out *NnfNodeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfNodeStatus ¶
type NnfNodeStatus struct { // Status reflects the current status of the NNF Node Status NnfResourceStatusType `json:"status,omitempty"` Health NnfResourceHealthType `json:"health,omitempty"` // Fenced is true when the NNF Node is fenced by the STONITH agent, and false otherwise. Fenced bool `json:"fenced,omitempty"` // LNetNid is the LNet address for the NNF node LNetNid string `json:"lnetNid,omitempty"` Capacity int64 `json:"capacity,omitempty"` CapacityAllocated int64 `json:"capacityAllocated,omitempty"` Servers []NnfServerStatus `json:"servers,omitempty"` Drives []NnfDriveStatus `json:"drives,omitempty"` }
NnfNodeStatus defines the observed status of NNF Node
func (*NnfNodeStatus) DeepCopy ¶
func (in *NnfNodeStatus) DeepCopy() *NnfNodeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeStatus.
func (*NnfNodeStatus) DeepCopyInto ¶
func (in *NnfNodeStatus) DeepCopyInto(out *NnfNodeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfNodeStorage ¶
type NnfNodeStorage struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec NnfNodeStorageSpec `json:"spec,omitempty"` Status NnfNodeStorageStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:storageversion +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.ready" +kubebuilder:printcolumn:name="ERROR",type="string",JSONPath=".status.error.severity" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" NnfNodeStorage is the Schema for the NnfNodeStorage API
func (*NnfNodeStorage) DeepCopy ¶
func (in *NnfNodeStorage) DeepCopy() *NnfNodeStorage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeStorage.
func (*NnfNodeStorage) DeepCopyInto ¶
func (in *NnfNodeStorage) DeepCopyInto(out *NnfNodeStorage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NnfNodeStorage) DeepCopyObject ¶
func (in *NnfNodeStorage) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NnfNodeStorage) GetStatus ¶
func (ns *NnfNodeStorage) GetStatus() updater.Status[*NnfNodeStorageStatus]
func (*NnfNodeStorage) Hub ¶
func (*NnfNodeStorage) Hub()
func (*NnfNodeStorage) SetupWebhookWithManager ¶
func (r *NnfNodeStorage) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager will setup the manager to manage the webhooks
type NnfNodeStorageAllocationStatus ¶
type NnfNodeStorageAllocationStatus struct { // Name of the LVM VG VolumeGroup string `json:"volumeGroup,omitempty"` // Name of the LVM LV LogicalVolume string `json:"logicalVolume,omitempty"` Ready bool `json:"ready,omitempty"` }
NnfNodeStorageAllocationStatus defines the allocation status for each allocation in the NnfNodeStorage
func (*NnfNodeStorageAllocationStatus) DeepCopy ¶
func (in *NnfNodeStorageAllocationStatus) DeepCopy() *NnfNodeStorageAllocationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeStorageAllocationStatus.
func (*NnfNodeStorageAllocationStatus) DeepCopyInto ¶
func (in *NnfNodeStorageAllocationStatus) DeepCopyInto(out *NnfNodeStorageAllocationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfNodeStorageList ¶
type NnfNodeStorageList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []NnfNodeStorage `json:"items"` }
NnfNodeStorageList contains a list of NNF Nodes
func (*NnfNodeStorageList) DeepCopy ¶
func (in *NnfNodeStorageList) DeepCopy() *NnfNodeStorageList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeStorageList.
func (*NnfNodeStorageList) DeepCopyInto ¶
func (in *NnfNodeStorageList) DeepCopyInto(out *NnfNodeStorageList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NnfNodeStorageList) DeepCopyObject ¶
func (in *NnfNodeStorageList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NnfNodeStorageList) GetObjectList ¶
func (n *NnfNodeStorageList) GetObjectList() []client.Object
func (*NnfNodeStorageList) Hub ¶
func (*NnfNodeStorageList) Hub()
type NnfNodeStorageSpec ¶
type NnfNodeStorageSpec struct { // Count is the number of allocations to make on this node. All of the allocations will // be created with the same parameters // +kubebuilder:validation:Minimum:=0 Count int `json:"count"` SharedAllocation bool `json:"sharedAllocation"` // Capacity of an individual allocation Capacity int64 `json:"capacity,omitempty"` // User ID for file system UserID uint32 `json:"userID"` // Group ID for file system GroupID uint32 `json:"groupID"` // FileSystemType defines the type of the desired filesystem, or raw // block device. // +kubebuilder:validation:Enum=raw;lvm;zfs;xfs;gfs2;lustre // +kubebuilder:default:=raw FileSystemType string `json:"fileSystemType,omitempty"` // LustreStorageSpec describes the Lustre target created here, if // FileSystemType specifies a Lustre target. LustreStorage LustreStorageSpec `json:"lustreStorage,omitempty"` // BlockReference is an object reference to an NnfNodeBlockStorage BlockReference corev1.ObjectReference `json:"blockReference,omitempty"` }
NnfNodeStorageSpec defines the desired storage attributes on a NNF Node. Storage spec are created on bequest of the user and fullfilled by the NNF Node Controller.
func (*NnfNodeStorageSpec) DeepCopy ¶
func (in *NnfNodeStorageSpec) DeepCopy() *NnfNodeStorageSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeStorageSpec.
func (*NnfNodeStorageSpec) DeepCopyInto ¶
func (in *NnfNodeStorageSpec) DeepCopyInto(out *NnfNodeStorageSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfNodeStorageStatus ¶
type NnfNodeStorageStatus struct { // Allocations is the list of storage allocations that were made Allocations []NnfNodeStorageAllocationStatus `json:"allocations,omitempty"` Ready bool `json:"ready,omitempty"` dwsv1alpha2.ResourceError `json:",inline"` }
NnfNodeStorageStatus defines the status for NnfNodeStorage
func (*NnfNodeStorageStatus) DeepCopy ¶
func (in *NnfNodeStorageStatus) DeepCopy() *NnfNodeStorageStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeStorageStatus.
func (*NnfNodeStorageStatus) DeepCopyInto ¶
func (in *NnfNodeStorageStatus) DeepCopyInto(out *NnfNodeStorageStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfPortManager ¶
type NnfPortManager struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec NnfPortManagerSpec `json:"spec,omitempty"` Status NnfPortManagerStatus `json:"status,omitempty"` }
NnfPortManager is the Schema for the nnfportmanagers API
func (*NnfPortManager) DeepCopy ¶
func (in *NnfPortManager) DeepCopy() *NnfPortManager
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfPortManager.
func (*NnfPortManager) DeepCopyInto ¶
func (in *NnfPortManager) DeepCopyInto(out *NnfPortManager)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NnfPortManager) DeepCopyObject ¶
func (in *NnfPortManager) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NnfPortManager) GetStatus ¶
func (mgr *NnfPortManager) GetStatus() updater.Status[*NnfPortManagerStatus]
func (*NnfPortManager) Hub ¶
func (*NnfPortManager) Hub()
func (*NnfPortManager) SetupWebhookWithManager ¶
func (r *NnfPortManager) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager will setup the manager to manage the webhooks
type NnfPortManagerAllocationSpec ¶
type NnfPortManagerAllocationSpec struct { // Requester is an object reference to the requester of a ports. Requester corev1.ObjectReference `json:"requester"` // Count is the number of desired ports the requester needs. The port manager // will attempt to allocate this many ports. // +kubebuilder:default:=1 Count int `json:"count"` }
NnfPortManagerAllocationSpec defines the desired state for a single port allocation
func (*NnfPortManagerAllocationSpec) DeepCopy ¶
func (in *NnfPortManagerAllocationSpec) DeepCopy() *NnfPortManagerAllocationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfPortManagerAllocationSpec.
func (*NnfPortManagerAllocationSpec) DeepCopyInto ¶
func (in *NnfPortManagerAllocationSpec) DeepCopyInto(out *NnfPortManagerAllocationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfPortManagerAllocationStatus ¶
type NnfPortManagerAllocationStatus struct { // Requester is an object reference to the requester of the port resource, if one exists, or // empty otherwise. Requester *corev1.ObjectReference `json:"requester,omitempty"` // Ports is list of ports allocated to the owning resource. Ports []uint16 `json:"ports,omitempty"` // Status is the ownership status of the port. Status NnfPortManagerAllocationStatusStatus `json:"status"` // TimeUnallocated is when the port was unallocated. This is to ensure the proper cooldown // duration. TimeUnallocated *metav1.Time `json:"timeUnallocated,omitempty"` }
NnfPortManagerAllocationStatus defines the allocation status of a port for a given requester.
func (*NnfPortManagerAllocationStatus) DeepCopy ¶
func (in *NnfPortManagerAllocationStatus) DeepCopy() *NnfPortManagerAllocationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfPortManagerAllocationStatus.
func (*NnfPortManagerAllocationStatus) DeepCopyInto ¶
func (in *NnfPortManagerAllocationStatus) DeepCopyInto(out *NnfPortManagerAllocationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfPortManagerAllocationStatusStatus ¶
type NnfPortManagerAllocationStatusStatus string
AllocationStatus is the current status of a port requestor. A port that is in use by the respective owner will have a status of "InUse". A port that is freed by the owner but not yet reclaimed by the port manager will have a status of "Free". Any other status value indicates a failure of the port allocation. +kubebuilder:validation:Enum:=InUse;Free;Cooldown;InvalidConfiguration;InsufficientResources
const ( NnfPortManagerAllocationStatusInUse NnfPortManagerAllocationStatusStatus = "InUse" NnfPortManagerAllocationStatusFree NnfPortManagerAllocationStatusStatus = "Free" NnfPortManagerAllocationStatusCooldown NnfPortManagerAllocationStatusStatus = "Cooldown" NnfPortManagerAllocationStatusInvalidConfiguration NnfPortManagerAllocationStatusStatus = "InvalidConfiguration" NnfPortManagerAllocationStatusInsufficientResources NnfPortManagerAllocationStatusStatus = "InsufficientResources" )
type NnfPortManagerList ¶
type NnfPortManagerList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []NnfPortManager `json:"items"` }
NnfPortManagerList contains a list of NnfPortManager
func (*NnfPortManagerList) DeepCopy ¶
func (in *NnfPortManagerList) DeepCopy() *NnfPortManagerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfPortManagerList.
func (*NnfPortManagerList) DeepCopyInto ¶
func (in *NnfPortManagerList) DeepCopyInto(out *NnfPortManagerList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NnfPortManagerList) DeepCopyObject ¶
func (in *NnfPortManagerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NnfPortManagerList) Hub ¶
func (*NnfPortManagerList) Hub()
type NnfPortManagerSpec ¶
type NnfPortManagerSpec struct { // SystemConfiguration is an object reference to the system configuration. The // Port Manager will use the available ports defined in the system configuration. SystemConfiguration corev1.ObjectReference `json:"systemConfiguration"` // Allocations is a list of allocation requests that the Port Manager will attempt // to satisfy. To request port resources from the port manager, clients should add // an entry to the allocations. Entries must be unique. The port manager controller // will attempt to allocate port resources for each allocation specification in the // list. To remove an allocation and free up port resources, remove the allocation // from the list. Allocations []NnfPortManagerAllocationSpec `json:"allocations"` }
NnfPortManagerSpec defines the desired state of NnfPortManager
func (*NnfPortManagerSpec) DeepCopy ¶
func (in *NnfPortManagerSpec) DeepCopy() *NnfPortManagerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfPortManagerSpec.
func (*NnfPortManagerSpec) DeepCopyInto ¶
func (in *NnfPortManagerSpec) DeepCopyInto(out *NnfPortManagerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfPortManagerStatus ¶
type NnfPortManagerStatus struct { // Allocations is a list of port allocation status'. Allocations []NnfPortManagerAllocationStatus `json:"allocations,omitempty"` // Status is the current status of the port manager. Status NnfPortManagerStatusStatus `json:"status"` }
NnfPortManagerStatus defines the observed state of NnfPortManager
func (*NnfPortManagerStatus) DeepCopy ¶
func (in *NnfPortManagerStatus) DeepCopy() *NnfPortManagerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfPortManagerStatus.
func (*NnfPortManagerStatus) DeepCopyInto ¶
func (in *NnfPortManagerStatus) DeepCopyInto(out *NnfPortManagerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfPortManagerStatusStatus ¶
type NnfPortManagerStatusStatus string
PortManagerStatus is the current status of the port manager. +kubebuilder:validation:Enum:=Ready;SystemConfigurationNotFound
const ( NnfPortManagerStatusReady NnfPortManagerStatusStatus = "Ready" NnfPortManagerStatusSystemConfigurationNotFound NnfPortManagerStatusStatus = "SystemConfigurationNotFound" )
type NnfResourceHealthType ¶
type NnfResourceHealthType string
NnfResourceHealthType defines the health of an NNF resource.
func ResourceHealth ¶
func ResourceHealth(s sf.ResourceStatus) NnfResourceHealthType
ResourceHealth maps a SF ResourceStatus to an NNFResourceHealthType
func (NnfResourceHealthType) UpdateIfWorseThan ¶
func (rht NnfResourceHealthType) UpdateIfWorseThan(health *NnfResourceHealthType)
UpdateIfWorseThan examines the input health type and update the health if it is worse than the stored value
type NnfResourceStateType ¶
type NnfResourceStateType string
NnfResourceStateType defines valid states that a user can configure an NNF resource
type NnfResourceStatus ¶
type NnfResourceStatus struct { // ID reflects the NNF Node unique identifier for this NNF Server resource. ID string `json:"id,omitempty"` // Name reflects the common name of this NNF Server resource. Name string `json:"name,omitempty"` Status NnfResourceStatusType `json:"status,omitempty"` Health NnfResourceHealthType `json:"health,omitempty"` }
NnfResourceStatus provides common fields that are included in all NNF Resources
func (*NnfResourceStatus) DeepCopy ¶
func (in *NnfResourceStatus) DeepCopy() *NnfResourceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfResourceStatus.
func (*NnfResourceStatus) DeepCopyInto ¶
func (in *NnfResourceStatus) DeepCopyInto(out *NnfResourceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfResourceStatusType ¶
type NnfResourceStatusType string
NnfResourceStatusType is the string that indicates the resource's status
func ResourceStatus ¶
func ResourceStatus(s sf.ResourceStatus) NnfResourceStatusType
ResourceStatus will convert a Swordfish ResourceStatus to the NNF Resource Status.
func StaticResourceStatus ¶
func StaticResourceStatus(s sf.ResourceStatus) NnfResourceStatusType
StaticResourceStatus will convert a Swordfish ResourceStatus to the NNF Resource Status.
func (NnfResourceStatusType) ConvertToDWSResourceStatus ¶
func (rst NnfResourceStatusType) ConvertToDWSResourceStatus() dwsv1alpha2.ResourceStatus
func (NnfResourceStatusType) UpdateIfWorseThan ¶
func (rst NnfResourceStatusType) UpdateIfWorseThan(status *NnfResourceStatusType)
UpdateIfWorseThan updates the stored status of the resource if the new status is worse than what was stored
type NnfServerStatus ¶
type NnfServerStatus struct { Hostname string `json:"hostname,omitempty"` NnfResourceStatus `json:",inline"` }
NnfServerStatus defines the observed status of servers connected to this NNF Node
func (*NnfServerStatus) DeepCopy ¶
func (in *NnfServerStatus) DeepCopy() *NnfServerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfServerStatus.
func (*NnfServerStatus) DeepCopyInto ¶
func (in *NnfServerStatus) DeepCopyInto(out *NnfServerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfStorage ¶
type NnfStorage struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec NnfStorageSpec `json:"spec,omitempty"` Status NnfStorageStatus `json:"status,omitempty"` }
NnfStorage is the Schema for the storages API
func (*NnfStorage) DeepCopy ¶
func (in *NnfStorage) DeepCopy() *NnfStorage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorage.
func (*NnfStorage) DeepCopyInto ¶
func (in *NnfStorage) DeepCopyInto(out *NnfStorage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NnfStorage) DeepCopyObject ¶
func (in *NnfStorage) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NnfStorage) GetStatus ¶
func (s *NnfStorage) GetStatus() updater.Status[*NnfStorageStatus]
func (*NnfStorage) Hub ¶
func (*NnfStorage) Hub()
func (*NnfStorage) SetupWebhookWithManager ¶
func (r *NnfStorage) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager will setup the manager to manage the webhooks
type NnfStorageAllocationNodes ¶
type NnfStorageAllocationNodes struct { // Name of the node to make the allocation on Name string `json:"name"` // Number of allocations to make on this node Count int `json:"count"` }
NnfStorageAllocationNodes identifies the node and properties of the allocation to make on that node
func (*NnfStorageAllocationNodes) DeepCopy ¶
func (in *NnfStorageAllocationNodes) DeepCopy() *NnfStorageAllocationNodes
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorageAllocationNodes.
func (*NnfStorageAllocationNodes) DeepCopyInto ¶
func (in *NnfStorageAllocationNodes) DeepCopyInto(out *NnfStorageAllocationNodes)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfStorageAllocationSetSpec ¶
type NnfStorageAllocationSetSpec struct { // Name is a human readable label for this set of allocations (e.g., xfs) Name string `json:"name"` // Capacity defines the capacity, in bytes, of this storage specification. The NNF Node itself // may split the storage among the available drives operating in the NNF Node. Capacity int64 `json:"capacity"` // Lustre specific configuration NnfStorageLustreSpec `json:",inline"` // (within the same workflow) on a Rabbit SharedAllocation bool `json:"sharedAllocation"` // Nodes is the list of Rabbit nodes to make allocations on Nodes []NnfStorageAllocationNodes `json:"nodes"` }
NnfStorageAllocationSetSpec defines the details for an allocation set
func (*NnfStorageAllocationSetSpec) DeepCopy ¶
func (in *NnfStorageAllocationSetSpec) DeepCopy() *NnfStorageAllocationSetSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorageAllocationSetSpec.
func (*NnfStorageAllocationSetSpec) DeepCopyInto ¶
func (in *NnfStorageAllocationSetSpec) DeepCopyInto(out *NnfStorageAllocationSetSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfStorageAllocationSetStatus ¶
type NnfStorageAllocationSetStatus struct { Ready bool `json:"ready,omitempty"` // AllocationCount is the total number of allocations that currently // exist AllocationCount int `json:"allocationCount"` }
NnfStorageAllocationSetStatus contains the status information for an allocation set
func (*NnfStorageAllocationSetStatus) DeepCopy ¶
func (in *NnfStorageAllocationSetStatus) DeepCopy() *NnfStorageAllocationSetStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorageAllocationSetStatus.
func (*NnfStorageAllocationSetStatus) DeepCopyInto ¶
func (in *NnfStorageAllocationSetStatus) DeepCopyInto(out *NnfStorageAllocationSetStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfStorageList ¶
type NnfStorageList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []NnfStorage `json:"items"` }
NnfStorageList contains a list of Storage
func (*NnfStorageList) DeepCopy ¶
func (in *NnfStorageList) DeepCopy() *NnfStorageList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorageList.
func (*NnfStorageList) DeepCopyInto ¶
func (in *NnfStorageList) DeepCopyInto(out *NnfStorageList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NnfStorageList) DeepCopyObject ¶
func (in *NnfStorageList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NnfStorageList) GetObjectList ¶
func (n *NnfStorageList) GetObjectList() []client.Object
func (*NnfStorageList) Hub ¶
func (*NnfStorageList) Hub()
type NnfStorageLustreComponents ¶
type NnfStorageLustreComponents struct { // MTDs is the list of NNF nodes being used as MDTs. MDTs []string `json:"mdts,omitempty"` // MGTs is the list of NNF nodes being used as MGTs. MGTs []string `json:"mgts,omitempty"` // MGTMDTs is the list of NNF nodes being used as combined MGTMDTs. MGTMDTs []string `json:"mgtmdts,omitempty"` // OSTs is the list of NNF nodes being used as OSTs. OSTs []string `json:"osts,omitempty"` // NNfNodes is the list of NNF nodes being used for this filesystem. This is a unique list of // node names. NNFNodes []string `json:"nnfNodes,omitempty"` }
NnfStorageLustreComponents identifies which NNF nodes are used for each lustre component used by the lustre filesystem. Each list can include an NNF node multiple times if that is how it is being used (except for NNFNodes).
func (*NnfStorageLustreComponents) DeepCopy ¶
func (in *NnfStorageLustreComponents) DeepCopy() *NnfStorageLustreComponents
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorageLustreComponents.
func (*NnfStorageLustreComponents) DeepCopyInto ¶
func (in *NnfStorageLustreComponents) DeepCopyInto(out *NnfStorageLustreComponents)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfStorageLustreSpec ¶
type NnfStorageLustreSpec struct { // TargetType is the type of Lustre target to be created. // +kubebuilder:validation:Enum=mgt;mdt;mgtmdt;ost TargetType string `json:"targetType,omitempty"` // BackFs is the type of backing filesystem to use. // +kubebuilder:validation:Enum=ldiskfs;zfs BackFs string `json:"backFs,omitempty"` // MgsAddress is the NID of the MGS when a pre-existing MGS is // provided in the NnfStorageProfile MgsAddress string `json:"mgsAddress,omitempty"` // PersistentMgsReference is a reference to a persistent storage that is providing // the external MGS. PersistentMgsReference corev1.ObjectReference `json:"persistentMgsReference,omitempty"` }
NnfStorageLustreSpec defines the specifications for a Lustre filesystem
func (*NnfStorageLustreSpec) DeepCopy ¶
func (in *NnfStorageLustreSpec) DeepCopy() *NnfStorageLustreSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorageLustreSpec.
func (*NnfStorageLustreSpec) DeepCopyInto ¶
func (in *NnfStorageLustreSpec) DeepCopyInto(out *NnfStorageLustreSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfStorageLustreStatus ¶
type NnfStorageLustreStatus struct { // MgsAddress is the NID of the MGS. MgsAddress string `json:"mgsAddress,omitempty"` // FileSystemName is the fsname parameter for the Lustre filesystem. // +kubebuilder:validation:MaxLength:=8 FileSystemName string `json:"fileSystemName,omitempty"` // LustgreMgtReference is an object reference to the NnfLustreMGT resource used // by the NnfStorage LustreMgtReference corev1.ObjectReference `json:"lustreMgtReference,omitempty"` // LustreComponents defines that list of NNF Nodes that are used for the components (e.g. OSTs) // in the lustre filesystem. LustreComponents NnfStorageLustreComponents `json:"lustreComponents,omitempty"` }
func (*NnfStorageLustreStatus) DeepCopy ¶
func (in *NnfStorageLustreStatus) DeepCopy() *NnfStorageLustreStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorageLustreStatus.
func (*NnfStorageLustreStatus) DeepCopyInto ¶
func (in *NnfStorageLustreStatus) DeepCopyInto(out *NnfStorageLustreStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfStorageProfile ¶
type NnfStorageProfile struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Data NnfStorageProfileData `json:"data,omitempty"` }
NnfStorageProfile is the Schema for the nnfstorageprofiles API
func (*NnfStorageProfile) DeepCopy ¶
func (in *NnfStorageProfile) DeepCopy() *NnfStorageProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorageProfile.
func (*NnfStorageProfile) DeepCopyInto ¶
func (in *NnfStorageProfile) DeepCopyInto(out *NnfStorageProfile)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NnfStorageProfile) DeepCopyObject ¶
func (in *NnfStorageProfile) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NnfStorageProfile) GetLustreMiscOptions ¶
func (n *NnfStorageProfile) GetLustreMiscOptions(target string) NnfStorageProfileLustreMiscOptions
func (*NnfStorageProfile) Hub ¶
func (*NnfStorageProfile) Hub()
func (*NnfStorageProfile) SetupWebhookWithManager ¶
func (r *NnfStorageProfile) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager will setup the manager to manage the webhooks
func (*NnfStorageProfile) ValidateCreate ¶
func (r *NnfStorageProfile) ValidateCreate() (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*NnfStorageProfile) ValidateDelete ¶
func (r *NnfStorageProfile) ValidateDelete() (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*NnfStorageProfile) ValidateUpdate ¶
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
type NnfStorageProfileCmdLines ¶
type NnfStorageProfileCmdLines struct { // Mkfs specifies the mkfs commandline, minus the "mkfs". Mkfs string `json:"mkfs,omitempty"` // LVM VolumeGroup // +kubebuilder:default:=false SharedVg bool `json:"sharedVg,omitempty"` // PvCreate specifies the pvcreate commandline, minus the "pvcreate". PvCreate string `json:"pvCreate,omitempty"` // PvRemove specifies the pvremove commandline, minus the "pvremove". PvRemove string `json:"pvRemove,omitempty"` // VgCreate specifies the vgcreate commandline, minus the "vgcreate". VgCreate string `json:"vgCreate,omitempty"` // VgChange specifies the various vgchange commandlines, minus the "vgchange" VgChange NnfStorageProfileLVMVgChangeCmdLines `json:"vgChange,omitempty"` // VgCreate specifies the vgcreate commandline, minus the "vgremove". VgRemove string `json:"vgRemove,omitempty"` // LvCreate specifies the lvcreate commandline, minus the "lvcreate". LvCreate string `json:"lvCreate,omitempty"` // LvChange specifies the various lvchange commandlines, minus the "lvchange" LvChange NnfStorageProfileLVMLvChangeCmdLines `json:"lvChange,omitempty"` // LvRemove specifies the lvcreate commandline, minus the "lvremove". LvRemove string `json:"lvRemove,omitempty"` // MountRabbit specifies mount options for mounting on the Rabbit. MountRabbit string `json:"mountRabbit,omitempty"` // PostMount specifies a list of commands to run on the Rabbit after the // file system has been activated and mounted. PostMount []string `json:"postMount,omitempty"` // MountCompute specifies mount options for mounting on the Compute. MountCompute string `json:"mountCompute,omitempty"` // PreUnmount specifies a list of commands to run on the Rabbit before the // file system is deactivated and unmounted. PreUnmount []string `json:"preUnmount,omitempty"` }
NnfStorageProfileCmdLines defines commandlines to use for mkfs, and other utilities for storage allocations that use LVM and a simple file system type (e.g., gfs2)
func (*NnfStorageProfileCmdLines) DeepCopy ¶
func (in *NnfStorageProfileCmdLines) DeepCopy() *NnfStorageProfileCmdLines
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorageProfileCmdLines.
func (*NnfStorageProfileCmdLines) DeepCopyInto ¶
func (in *NnfStorageProfileCmdLines) DeepCopyInto(out *NnfStorageProfileCmdLines)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfStorageProfileData ¶
type NnfStorageProfileData struct { // Default is true if this instance is the default resource to use // +kubebuilder:default:=false Default bool `json:"default,omitempty"` // Pinned is true if this instance is describing an active storage resource // +kubebuilder:default:=false Pinned bool `json:"pinned,omitempty"` // LustreStorage defines the Lustre-specific configuration LustreStorage NnfStorageProfileLustreData `json:"lustreStorage,omitempty"` // GFS2Storage defines the GFS2-specific configuration GFS2Storage NnfStorageProfileGFS2Data `json:"gfs2Storage,omitempty"` // XFSStorage defines the XFS-specific configuration XFSStorage NnfStorageProfileXFSData `json:"xfsStorage,omitempty"` // RawStorage defines the Raw-specific configuration RawStorage NnfStorageProfileRawData `json:"rawStorage,omitempty"` }
NnfStorageProfileData defines the desired state of NnfStorageProfile
func (*NnfStorageProfileData) DeepCopy ¶
func (in *NnfStorageProfileData) DeepCopy() *NnfStorageProfileData
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorageProfileData.
func (*NnfStorageProfileData) DeepCopyInto ¶
func (in *NnfStorageProfileData) DeepCopyInto(out *NnfStorageProfileData)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfStorageProfileGFS2Data ¶
type NnfStorageProfileGFS2Data struct { // CmdLines contains commands to create volumes and filesystems. CmdLines NnfStorageProfileCmdLines `json:"commandlines,omitempty"` // Storagelabels defines a list of labels that are added to the DirectiveBreakdown // labels constraint. This restricts allocations to Storage resources with these labels StorageLabels []string `json:"storageLabels,omitempty"` // CapacityScalingFactor is a scaling factor for the capacity requested in the DirectiveBreakdown // +kubebuilder:default:="1.0" CapacityScalingFactor string `json:"capacityScalingFactor,omitempty"` }
NnfStorageProfileGFS2Data defines the GFS2-specific configuration
func (*NnfStorageProfileGFS2Data) DeepCopy ¶
func (in *NnfStorageProfileGFS2Data) DeepCopy() *NnfStorageProfileGFS2Data
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorageProfileGFS2Data.
func (*NnfStorageProfileGFS2Data) DeepCopyInto ¶
func (in *NnfStorageProfileGFS2Data) DeepCopyInto(out *NnfStorageProfileGFS2Data)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfStorageProfileLVMLvChangeCmdLines ¶
type NnfStorageProfileLVMLvChangeCmdLines struct { // The lvchange commandline for activate, minus the "lvchange" command Activate string `json:"activate,omitempty"` // The lvchange commandline for deactivate, minus the "lvchange" command Deactivate string `json:"deactivate,omitempty"` }
NnfStorageProfileLVMVgChangeCmdLines
func (*NnfStorageProfileLVMLvChangeCmdLines) DeepCopy ¶
func (in *NnfStorageProfileLVMLvChangeCmdLines) DeepCopy() *NnfStorageProfileLVMLvChangeCmdLines
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorageProfileLVMLvChangeCmdLines.
func (*NnfStorageProfileLVMLvChangeCmdLines) DeepCopyInto ¶
func (in *NnfStorageProfileLVMLvChangeCmdLines) DeepCopyInto(out *NnfStorageProfileLVMLvChangeCmdLines)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfStorageProfileLVMVgChangeCmdLines ¶
type NnfStorageProfileLVMVgChangeCmdLines struct { // The vgchange commandline for lockStart, minus the "vgchange" command LockStart string `json:"lockStart,omitempty"` // The vgchange commandline for lockStop, minus the "vgchange" command LockStop string `json:"lockStop,omitempty"` }
NnfStorageProfileLVMVgChangeCmdLines
func (*NnfStorageProfileLVMVgChangeCmdLines) DeepCopy ¶
func (in *NnfStorageProfileLVMVgChangeCmdLines) DeepCopy() *NnfStorageProfileLVMVgChangeCmdLines
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorageProfileLVMVgChangeCmdLines.
func (*NnfStorageProfileLVMVgChangeCmdLines) DeepCopyInto ¶
func (in *NnfStorageProfileLVMVgChangeCmdLines) DeepCopyInto(out *NnfStorageProfileLVMVgChangeCmdLines)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfStorageProfileList ¶
type NnfStorageProfileList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []NnfStorageProfile `json:"items"` }
NnfStorageProfileList contains a list of NnfStorageProfile
func (*NnfStorageProfileList) DeepCopy ¶
func (in *NnfStorageProfileList) DeepCopy() *NnfStorageProfileList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorageProfileList.
func (*NnfStorageProfileList) DeepCopyInto ¶
func (in *NnfStorageProfileList) DeepCopyInto(out *NnfStorageProfileList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NnfStorageProfileList) DeepCopyObject ¶
func (in *NnfStorageProfileList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NnfStorageProfileList) GetObjectList ¶
func (n *NnfStorageProfileList) GetObjectList() []client.Object
func (*NnfStorageProfileList) Hub ¶
func (*NnfStorageProfileList) Hub()
type NnfStorageProfileLustreCmdLines ¶
type NnfStorageProfileLustreCmdLines struct { // ZpoolCreate specifies the zpool create commandline, minus the "zpool create". // This is where you may specify zpool create options, and the virtual device (vdev) such as // "mirror", or "draid". See zpoolconcepts(7). ZpoolCreate string `json:"zpoolCreate,omitempty"` // Mkfs specifies the mkfs.lustre commandline, minus the "mkfs.lustre". // Use the --mkfsoptions argument to specify the zfs create options. See zfsprops(7). // Use the --mountfsoptions argument to specify persistent mount options for the lustre targets. Mkfs string `json:"mkfs,omitempty"` // MountTarget specifies the mount command line for the lustre target. // For persistent mount options for lustre targets, do not use this array; use the --mountfsoptions // argument to mkfs.lustre instead. MountTarget string `json:"mountTarget,omitempty"` // PostActivate specifies a list of commands to run on the Rabbit after the // Lustre target has been activated PostActivate []string `json:"postActivate,omitempty"` // PostMount specifies a list of commands to run on the Rabbit (Lustre client) after the Lustre // target is activated. This includes mounting the Lustre filesystem beforehand and unmounting // it afterward. PostMount []string `json:"postMount,omitempty"` // PreUnmount specifies a list of commands to run on the Rabbit (Lustre client) before the // Lustre target is deactivated. This includes mounting the Lustre filesystem beforehand and // unmounting it afterward. PreUnmount []string `json:"preUnmount,omitempty"` // PreDeactivate specifies a list of commands to run on the Rabbit before the // Lustre target is deactivated PreDeactivate []string `json:"preDeactivate,omitempty"` }
NnfStorageProfileLustreCmdLines defines commandlines to use for mkfs, zpool, and other utilities for Lustre allocations.
func (*NnfStorageProfileLustreCmdLines) DeepCopy ¶
func (in *NnfStorageProfileLustreCmdLines) DeepCopy() *NnfStorageProfileLustreCmdLines
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorageProfileLustreCmdLines.
func (*NnfStorageProfileLustreCmdLines) DeepCopyInto ¶
func (in *NnfStorageProfileLustreCmdLines) DeepCopyInto(out *NnfStorageProfileLustreCmdLines)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfStorageProfileLustreData ¶
type NnfStorageProfileLustreData struct { // CombinedMGTMDT indicates whether the MGT and MDT should be created on the same target device // +kubebuilder:default:=false CombinedMGTMDT bool `json:"combinedMgtMdt,omitempty"` // ExternalMGS specifies the use of an existing MGS rather than creating one. This can // be either the NID(s) of a pre-existing MGS that should be used, or it can be an NNF Persistent // Instance that was created with the "StandaloneMGTPoolName" option. In the latter case, the format // is "pool:poolName" where "poolName" is the argument from "StandaloneMGTPoolName". A single MGS will // be picked from the pool. ExternalMGS string `json:"externalMgs,omitempty"` // CapacityMGT specifies the size of the MGT device. // +kubebuilder:validation:Pattern:="^\\d+(KiB|KB|MiB|MB|GiB|GB|TiB|TB)$" // +kubebuilder:default:="5GiB" CapacityMGT string `json:"capacityMgt,omitempty"` // CapacityMDT specifies the size of the MDT device. This is also // used for a combined MGT+MDT device. // +kubebuilder:validation:Pattern:="^\\d+(KiB|KB|MiB|MB|GiB|GB|TiB|TB)$" // +kubebuilder:default:="5GiB" CapacityMDT string `json:"capacityMdt,omitempty"` // ExclusiveMDT indicates that the MDT should not be colocated with any other target on the chosen server. // +kubebuilder:default:=false ExclusiveMDT bool `json:"exclusiveMdt,omitempty"` // CapacityScalingFactor is a scaling factor for the OST capacity requested in the DirectiveBreakdown // +kubebuilder:default:="1.0" CapacityScalingFactor string `json:"capacityScalingFactor,omitempty"` // StandaloneMGTPoolName creates a Lustre MGT without a MDT or OST. This option can only be used when creating // a persistent Lustre instance. The MGS is placed into a named pool that can be used by the "ExternalMGS" option. // Multiple pools can be created. StandaloneMGTPoolName string `json:"standaloneMgtPoolName,omitempty"` // MgtCmdLines contains commands to create an MGT target. MgtCmdLines NnfStorageProfileLustreCmdLines `json:"mgtCommandlines,omitempty"` // MdtCmdLines contains commands to create an MDT target. MdtCmdLines NnfStorageProfileLustreCmdLines `json:"mdtCommandlines,omitempty"` // MgtMdtCmdLines contains commands to create a combined MGT/MDT target. MgtMdtCmdLines NnfStorageProfileLustreCmdLines `json:"mgtMdtCommandlines,omitempty"` // OstCmdLines contains commands to create an OST target. OstCmdLines NnfStorageProfileLustreCmdLines `json:"ostCommandlines,omitempty"` // MgtOptions contains options to use for libraries used for an MGT target. MgtOptions NnfStorageProfileLustreMiscOptions `json:"mgtOptions,omitempty"` // MdtOptions contains options to use for libraries used for an MDT target. MdtOptions NnfStorageProfileLustreMiscOptions `json:"mdtOptions,omitempty"` // MgtMdtOptions contains options to use for libraries used for a combined MGT/MDT target. MgtMdtOptions NnfStorageProfileLustreMiscOptions `json:"mgtMdtOptions,omitempty"` // OstOptions contains options to use for libraries used for an OST target. OstOptions NnfStorageProfileLustreMiscOptions `json:"ostOptions,omitempty"` // MountRabbit specifies mount options for making the Lustre client mount on the Rabbit. MountRabbit string `json:"mountRabbit,omitempty"` // MountCompute specifies mount options for making the Lustre client mount on the Compute. MountCompute string `json:"mountCompute,omitempty"` }
NnfStorageProfileLustreData defines the Lustre-specific configuration
func (*NnfStorageProfileLustreData) DeepCopy ¶
func (in *NnfStorageProfileLustreData) DeepCopy() *NnfStorageProfileLustreData
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorageProfileLustreData.
func (*NnfStorageProfileLustreData) DeepCopyInto ¶
func (in *NnfStorageProfileLustreData) DeepCopyInto(out *NnfStorageProfileLustreData)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfStorageProfileLustreMiscOptions ¶
type NnfStorageProfileLustreMiscOptions struct { // ColocateComputes indicates that the Lustre target should be placed on a Rabbit node that has a physical connection // to the compute nodes in a workflow // +kubebuilder:default:=false ColocateComputes bool `json:"colocateComputes"` // Count specifies how many Lustre targets to create // +kubebuilder:validation:Minimum:=1 Count int `json:"count,omitempty"` // Scale provides a unitless value to determine how many Lustre targets to create // +kubebuilder:validation:Minimum:=1 // +kubebuilder:validation:Maximum:=10 Scale int `json:"scale,omitempty"` // Storagelabels defines a list of labels that are added to the DirectiveBreakdown // labels constraint. This restricts allocations to Storage resources with these labels StorageLabels []string `json:"storageLabels,omitempty"` }
NnfStorageProfileLustreMiscOptions defines options to use for the mount library, and other utilities.
func (*NnfStorageProfileLustreMiscOptions) DeepCopy ¶
func (in *NnfStorageProfileLustreMiscOptions) DeepCopy() *NnfStorageProfileLustreMiscOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorageProfileLustreMiscOptions.
func (*NnfStorageProfileLustreMiscOptions) DeepCopyInto ¶
func (in *NnfStorageProfileLustreMiscOptions) DeepCopyInto(out *NnfStorageProfileLustreMiscOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfStorageProfileRawData ¶
type NnfStorageProfileRawData struct { // CmdLines contains commands to create volumes and filesystems. CmdLines NnfStorageProfileCmdLines `json:"commandlines,omitempty"` // Storagelabels defines a list of labels that are added to the DirectiveBreakdown // labels constraint. This restricts allocations to Storage resources with these labels StorageLabels []string `json:"storageLabels,omitempty"` // CapacityScalingFactor is a scaling factor for the capacity requested in the DirectiveBreakdown // +kubebuilder:default:="1.0" CapacityScalingFactor string `json:"capacityScalingFactor,omitempty"` }
NnfStorageProfileRawData defines the Raw-specific configuration
func (*NnfStorageProfileRawData) DeepCopy ¶
func (in *NnfStorageProfileRawData) DeepCopy() *NnfStorageProfileRawData
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorageProfileRawData.
func (*NnfStorageProfileRawData) DeepCopyInto ¶
func (in *NnfStorageProfileRawData) DeepCopyInto(out *NnfStorageProfileRawData)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfStorageProfileXFSData ¶
type NnfStorageProfileXFSData struct { // CmdLines contains commands to create volumes and filesystems. CmdLines NnfStorageProfileCmdLines `json:"commandlines,omitempty"` // Storagelabels defines a list of labels that are added to the DirectiveBreakdown // labels constraint. This restricts allocations to Storage resources with these labels StorageLabels []string `json:"storageLabels,omitempty"` // CapacityScalingFactor is a scaling factor for the capacity requested in the DirectiveBreakdown // +kubebuilder:default:="1.0" CapacityScalingFactor string `json:"capacityScalingFactor,omitempty"` }
NnfStorageProfileXFSData defines the XFS-specific configuration
func (*NnfStorageProfileXFSData) DeepCopy ¶
func (in *NnfStorageProfileXFSData) DeepCopy() *NnfStorageProfileXFSData
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorageProfileXFSData.
func (*NnfStorageProfileXFSData) DeepCopyInto ¶
func (in *NnfStorageProfileXFSData) DeepCopyInto(out *NnfStorageProfileXFSData)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfStorageSpec ¶
type NnfStorageSpec struct { // FileSystemType defines the type of the desired filesystem, or raw // block device. // +kubebuilder:validation:Enum=raw;lvm;zfs;xfs;gfs2;lustre // +kubebuilder:default:=raw FileSystemType string `json:"fileSystemType,omitempty"` // User ID for file system UserID uint32 `json:"userID"` // Group ID for file system GroupID uint32 `json:"groupID"` // AllocationSets is a list of different types of storage allocations to make. Each // AllocationSet describes an entire allocation spanning multiple Rabbits. For example, // an AllocationSet could be all of the OSTs in a Lustre filesystem, or all of the raw // block devices in a raw block configuration. AllocationSets []NnfStorageAllocationSetSpec `json:"allocationSets"` }
NnfStorageSpec defines the specification for requesting generic storage on a set of available NNF Nodes. This object is related to a #DW for NNF Storage, with the WLM making the determination for which NNF Nodes it wants to utilize.
func (*NnfStorageSpec) DeepCopy ¶
func (in *NnfStorageSpec) DeepCopy() *NnfStorageSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorageSpec.
func (*NnfStorageSpec) DeepCopyInto ¶
func (in *NnfStorageSpec) DeepCopyInto(out *NnfStorageSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfStorageStatus ¶
type NnfStorageStatus struct { NnfStorageLustreStatus `json:",inline"` // AllocationsSets holds the status information for each of the AllocationSets // from the spec. AllocationSets []NnfStorageAllocationSetStatus `json:"allocationSets,omitempty"` dwsv1alpha2.ResourceError `json:",inline"` // Ready reflects the status of this NNF Storage Ready bool `json:"ready,omitempty"` }
NnfStorageStatus defines the observed status of NNF Storage.
func (*NnfStorageStatus) DeepCopy ¶
func (in *NnfStorageStatus) DeepCopy() *NnfStorageStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorageStatus.
func (*NnfStorageStatus) DeepCopyInto ¶
func (in *NnfStorageStatus) DeepCopyInto(out *NnfStorageStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfSystemStorage ¶
type NnfSystemStorage struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec NnfSystemStorageSpec `json:"spec,omitempty"` Status NnfSystemStorageStatus `json:"status,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:storageversion NnfSystemStorage is the Schema for the nnfsystemstorages API
func (*NnfSystemStorage) DeepCopy ¶
func (in *NnfSystemStorage) DeepCopy() *NnfSystemStorage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfSystemStorage.
func (*NnfSystemStorage) DeepCopyInto ¶
func (in *NnfSystemStorage) DeepCopyInto(out *NnfSystemStorage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NnfSystemStorage) DeepCopyObject ¶
func (in *NnfSystemStorage) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NnfSystemStorage) GetStatus ¶
func (a *NnfSystemStorage) GetStatus() updater.Status[*NnfSystemStorageStatus]
func (*NnfSystemStorage) Hub ¶
func (*NnfSystemStorage) Hub()
func (*NnfSystemStorage) SetupWebhookWithManager ¶
func (r *NnfSystemStorage) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager will setup the manager to manage the webhooks
type NnfSystemStorageComputesTarget ¶
type NnfSystemStorageComputesTarget string
const ( ComputesTargetAll NnfSystemStorageComputesTarget = "all" ComputesTargetEven NnfSystemStorageComputesTarget = "even" ComputesTargetOdd NnfSystemStorageComputesTarget = "odd" ComputesTargetPattern NnfSystemStorageComputesTarget = "pattern" )
type NnfSystemStorageList ¶
type NnfSystemStorageList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []NnfSystemStorage `json:"items"` }
+kubebuilder:object:root=true NnfSystemStorageList contains a list of NnfSystemStorage
func (*NnfSystemStorageList) DeepCopy ¶
func (in *NnfSystemStorageList) DeepCopy() *NnfSystemStorageList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfSystemStorageList.
func (*NnfSystemStorageList) DeepCopyInto ¶
func (in *NnfSystemStorageList) DeepCopyInto(out *NnfSystemStorageList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NnfSystemStorageList) DeepCopyObject ¶
func (in *NnfSystemStorageList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NnfSystemStorageList) GetObjectList ¶
func (n *NnfSystemStorageList) GetObjectList() []client.Object
func (*NnfSystemStorageList) Hub ¶
func (*NnfSystemStorageList) Hub()
type NnfSystemStorageSpec ¶
type NnfSystemStorageSpec struct { // SystemConfiguration is an object reference to the SystemConfiguration resource to use. If this // field is empty, name: default namespace: default is used. SystemConfiguration corev1.ObjectReference `json:"systemConfiguration,omitempty"` // ExludeRabbits is a list of Rabbits to exclude from the Rabbits in the SystemConfiguration ExcludeRabbits []string `json:"excludeRabbits,omitempty"` // IncludeRabbits is a list of Rabbits to use rather than getting the list of Rabbits from the // SystemConfiguration IncludeRabbits []string `json:"includeRabbits,omitempty"` // ExcludeDisabledRabbits looks at the Storage resource for a Rabbit and does not use it if it's // marked as "disabled" // +kubebuilder:default:=false ExcludeDisabledRabbits bool `json:"excludeDisabledRabbits,omitempty"` // ExcludeComputes is a list of compute nodes to exclude from the the compute nodes listed in the // SystemConfiguration ExcludeComputes []string `json:"excludeComputes,omitempty"` // IncludeComputes is a list of computes nodes to use rather than getting the list of compute nodes // from the SystemConfiguration IncludeComputes []string `json:"includeComputes,omitempty"` // ComputesTarget specifies which computes to make the storage accessible to // +kubebuilder:validation:Enum=all;even;odd;pattern // +kubebuilder:default:=all ComputesTarget NnfSystemStorageComputesTarget `json:"computesTarget,omitempty"` // ComputesPattern is a list of compute node indexes (0-15) to make the storage accessible to. This // is only used if ComputesTarget is "pattern" // +kubebuilder:validation:MaxItems=16 // +kubebuilder:validation:items:Maximum=15 // +kubebuilder:validation:items:Minimum=0 ComputesPattern []int `json:"computesPattern,omitempty"` // Capacity is the allocation size on each Rabbit // +kubebuilder:default:=1073741824 Capacity int64 `json:"capacity"` // Type is the file system type to use for the storage allocation // +kubebuilder:validation:Enum=raw;xfs;gfs2 // +kubebuilder:default:=raw Type string `json:"type,omitempty"` // per compute node. // +kubebuilder:default:=true Shared bool `json:"shared"` // StorageProfile is an object reference to the storage profile to use StorageProfile corev1.ObjectReference `json:"storageProfile"` // +kubebuilder:default:=false IgnoreOfflineComputes bool `json:"ignoreOfflineComputes"` // MakeClientMounts specifies whether to make ClientMount resources or just // make the devices available to the client // +kubebuilder:default:=false MakeClientMounts bool `json:"makeClientMounts"` // ClientMountPath is an optional path for where to mount the file system on the computes ClientMountPath string `json:"clientMountPath,omitempty"` }
NnfSystemStorageSpec defines the desired state of NnfSystemStorage
func (*NnfSystemStorageSpec) DeepCopy ¶
func (in *NnfSystemStorageSpec) DeepCopy() *NnfSystemStorageSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfSystemStorageSpec.
func (*NnfSystemStorageSpec) DeepCopyInto ¶
func (in *NnfSystemStorageSpec) DeepCopyInto(out *NnfSystemStorageSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NnfSystemStorageStatus ¶
type NnfSystemStorageStatus struct { // Ready signifies whether all work has been completed Ready bool `json:"ready"` dwsv1alpha2.ResourceError `json:",inline"` }
NnfSystemStorageStatus defines the observed state of NnfSystemStorage
func (*NnfSystemStorageStatus) DeepCopy ¶
func (in *NnfSystemStorageStatus) DeepCopy() *NnfSystemStorageStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfSystemStorageStatus.
func (*NnfSystemStorageStatus) DeepCopyInto ¶
func (in *NnfSystemStorageStatus) DeepCopyInto(out *NnfSystemStorageStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
Source Files ¶
- conversion.go
- groupversion_info.go
- nnf_resource_condition_types.go
- nnf_resource_health_type.go
- nnf_resource_state_type.go
- nnf_resource_status_type.go
- nnf_resource_type.go
- nnfaccess_types.go
- nnfaccess_webhook.go
- nnfcontainerprofile_types.go
- nnfcontainerprofile_webhook.go
- nnfdatamovement_types.go
- nnfdatamovement_webhook.go
- nnfdatamovementmanager_types.go
- nnfdatamovementmanager_webhook.go
- nnfdatamovementprofile_types.go
- nnfdatamovementprofile_webhook.go
- nnflustremgt_types.go
- nnflustremgt_webhook.go
- nnfnode_types.go
- nnfnode_webhook.go
- nnfnodeblockstorage_types.go
- nnfnodeblockstorage_webhook.go
- nnfnodeecdata_types.go
- nnfnodeecdata_webhook.go
- nnfnodestorage_types.go
- nnfnodestorage_webhook.go
- nnfportmanager_types.go
- nnfportmanager_webhook.go
- nnfstorage_types.go
- nnfstorage_webhook.go
- nnfstorageprofile_types.go
- nnfstorageprofile_webhook.go
- nnfsystemstorage_types.go
- nnfsystemstorage_webhook.go
- workflow_helpers.go
- zz_generated.deepcopy.go