Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the nnf v1alpha1 API group +kubebuilder:object:generate=true +groupName=nnf.cray.hpe.com
Index ¶
- Constants
- Variables
- 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
- 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 (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]
- type NnfDataMovementManagerList
- type NnfDataMovementManagerSpec
- type NnfDataMovementManagerStatus
- type NnfDataMovementSpec
- type NnfDataMovementSpecSourceDestination
- type NnfDataMovementStatus
- type NnfDriveStatus
- type NnfNode
- type NnfNodeBlockStorage
- type NnfNodeBlockStorageAccessStatus
- type NnfNodeBlockStorageAllocationSpec
- type NnfNodeBlockStorageAllocationStatus
- type NnfNodeBlockStorageDeviceStatus
- type NnfNodeBlockStorageList
- type NnfNodeBlockStorageSpec
- type NnfNodeBlockStorageStatus
- type NnfNodeECData
- type NnfNodeECDataList
- type NnfNodeECDataSpec
- type NnfNodeECDataStatus
- type NnfNodeECPrivateData
- type NnfNodeList
- type NnfNodeSpec
- type NnfNodeStatus
- type NnfNodeStorage
- type NnfNodeStorageAllocationStatus
- type NnfNodeStorageList
- type NnfNodeStorageSpec
- type NnfNodeStorageStatus
- type NnfPortManager
- 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
- type NnfStorageAllocationNodes
- type NnfStorageAllocationSetSpec
- type NnfStorageAllocationSetStatus
- type NnfStorageList
- type NnfStorageLustreSpec
- 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 (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
- type NnfStorageProfileLustreCmdLines
- type NnfStorageProfileLustreData
- type NnfStorageProfileLustreMiscOptions
- type NnfStorageProfileRawData
- type NnfStorageProfileXFSData
- type NnfStorageSpec
- type NnfStorageStatus
- type VarHandler
Constants ¶
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 name of the default profile stored in the nnf-dm-config ConfigMap that is used to // configure Data Movement. DataMovementProfileDefault = "default" )
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 ( 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 ( 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 ( // 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" )
const (
AllocationSetLabel = "nnf.cray.hpe.com/allocationset"
)
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" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "nnf.cray.hpe.com", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
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"`
}
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
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
// +kubebuilder:validation:Enum=single;all
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"`
// MountPathPrefix to mount the storage target on the client when there is
// more than one mount on a client
MountPathPrefix string `json:"mountPathPrefix,omitempty"`
// StorageReference is the NnfStorage reference
StorageReference corev1.ObjectReference `json:"storageReference"`
}
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 ¶ added in v0.0.2
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 ¶ added in v0.0.2
func (in *NnfContainerProfile) DeepCopy() *NnfContainerProfile
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfContainerProfile.
func (*NnfContainerProfile) DeepCopyInto ¶ added in v0.0.2
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 ¶ added in v0.0.2
func (in *NnfContainerProfile) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NnfContainerProfile) SetupWebhookWithManager ¶ added in v0.0.2
func (r *NnfContainerProfile) SetupWebhookWithManager(mgr ctrl.Manager) error
func (*NnfContainerProfile) ValidateCreate ¶ added in v0.0.2
func (r *NnfContainerProfile) ValidateCreate() (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*NnfContainerProfile) ValidateDelete ¶ added in v0.0.2
func (r *NnfContainerProfile) ValidateDelete() (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*NnfContainerProfile) ValidateUpdate ¶ added in v0.0.2
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
type NnfContainerProfileData ¶ added in v0.0.2
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 60 if not set. A value of 0 disables this behavior.
// +kubebuilder:default:=60
// +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 60 if not set. A value of 0 disables this behavior.
// +kubebuilder:default:=60
// +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 ¶ added in v0.0.2
func (in *NnfContainerProfileData) DeepCopy() *NnfContainerProfileData
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfContainerProfileData.
func (*NnfContainerProfileData) DeepCopyInto ¶ added in v0.0.2
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 ¶ added in v0.0.2
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 ¶ added in v0.0.2
func (in *NnfContainerProfileList) DeepCopy() *NnfContainerProfileList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfContainerProfileList.
func (*NnfContainerProfileList) DeepCopyInto ¶ added in v0.0.2
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 ¶ added in v0.0.2
func (in *NnfContainerProfileList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NnfContainerProfileStorage ¶ added in v0.0.2
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 ¶ added in v0.0.2
func (in *NnfContainerProfileStorage) DeepCopy() *NnfContainerProfileStorage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfContainerProfileStorage.
func (*NnfContainerProfileStorage) DeepCopyInto ¶ added in v0.0.2
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.
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"`
// Progress 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"`
}
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 ¶ added in v0.0.2
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 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 nnf-dm-config ConfigMap.
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 nnf-dm-config ConfigMap.
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 ¶ added in v0.0.2
func (in *NnfDataMovementConfig) DeepCopy() *NnfDataMovementConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfDataMovementConfig.
func (*NnfDataMovementConfig) DeepCopyInto ¶ added in v0.0.2
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
type NnfDataMovementManager ¶ added in v0.1.0
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 ¶ added in v0.1.0
func (in *NnfDataMovementManager) DeepCopy() *NnfDataMovementManager
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfDataMovementManager.
func (*NnfDataMovementManager) DeepCopyInto ¶ added in v0.1.0
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 ¶ added in v0.1.0
func (in *NnfDataMovementManager) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NnfDataMovementManager) GetStatus ¶ added in v0.1.0
func (m *NnfDataMovementManager) GetStatus() updater.Status[*NnfDataMovementManagerStatus]
type NnfDataMovementManagerList ¶ added in v0.1.0
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 ¶ added in v0.1.0
func (in *NnfDataMovementManagerList) DeepCopy() *NnfDataMovementManagerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfDataMovementManagerList.
func (*NnfDataMovementManagerList) DeepCopyInto ¶ added in v0.1.0
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 ¶ added in v0.1.0
func (in *NnfDataMovementManagerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NnfDataMovementManagerSpec ¶ added in v0.1.0
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"`
// 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 ¶ added in v0.1.0
func (in *NnfDataMovementManagerSpec) DeepCopy() *NnfDataMovementManagerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfDataMovementManagerSpec.
func (*NnfDataMovementManagerSpec) DeepCopyInto ¶ added in v0.1.0
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 ¶ added in v0.1.0
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 ¶ added in v0.1.0
func (in *NnfDataMovementManagerStatus) DeepCopy() *NnfDataMovementManagerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfDataMovementManagerStatus.
func (*NnfDataMovementManagerStatus) DeepCopyInto ¶ added in v0.1.0
func (in *NnfDataMovementManagerStatus) DeepCopyInto(out *NnfDataMovementManagerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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"`
// Profile specifies the name of profile in the nnf-dm-config ConfigMap to be used for
// configuring data movement. Defaults to the default profile.
// +kubebuilder:default:=default
Profile string `json:"profile,omitempty"`
// User defined configuration on how data movement should be performed. This overrides the
// configuration defined in the nnf-dm-config ConfigMap. 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 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 ¶ added in v0.1.0
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: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 ¶ added in v0.1.0
func (in *NnfNodeBlockStorage) DeepCopy() *NnfNodeBlockStorage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeBlockStorage.
func (*NnfNodeBlockStorage) DeepCopyInto ¶ added in v0.1.0
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 ¶ added in v0.1.0
func (in *NnfNodeBlockStorage) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NnfNodeBlockStorage) GetStatus ¶ added in v0.1.0
func (ns *NnfNodeBlockStorage) GetStatus() updater.Status[*NnfNodeBlockStorageStatus]
type NnfNodeBlockStorageAccessStatus ¶ added in v0.1.0
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 ¶ added in v0.1.0
func (in *NnfNodeBlockStorageAccessStatus) DeepCopy() *NnfNodeBlockStorageAccessStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeBlockStorageAccessStatus.
func (*NnfNodeBlockStorageAccessStatus) DeepCopyInto ¶ added in v0.1.0
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 ¶ added in v0.1.0
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 ¶ added in v0.1.0
func (in *NnfNodeBlockStorageAllocationSpec) DeepCopy() *NnfNodeBlockStorageAllocationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeBlockStorageAllocationSpec.
func (*NnfNodeBlockStorageAllocationSpec) DeepCopyInto ¶ added in v0.1.0
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 ¶ added in v0.1.0
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 ¶ added in v0.1.0
func (in *NnfNodeBlockStorageAllocationStatus) DeepCopy() *NnfNodeBlockStorageAllocationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeBlockStorageAllocationStatus.
func (*NnfNodeBlockStorageAllocationStatus) DeepCopyInto ¶ added in v0.1.0
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 ¶ added in v0.1.0
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 ¶ added in v0.1.0
func (in *NnfNodeBlockStorageDeviceStatus) DeepCopy() *NnfNodeBlockStorageDeviceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeBlockStorageDeviceStatus.
func (*NnfNodeBlockStorageDeviceStatus) DeepCopyInto ¶ added in v0.1.0
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 ¶ added in v0.1.0
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 ¶ added in v0.1.0
func (in *NnfNodeBlockStorageList) DeepCopy() *NnfNodeBlockStorageList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeBlockStorageList.
func (*NnfNodeBlockStorageList) DeepCopyInto ¶ added in v0.1.0
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 ¶ added in v0.1.0
func (in *NnfNodeBlockStorageList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NnfNodeBlockStorageList) GetObjectList ¶ added in v0.1.0
func (n *NnfNodeBlockStorageList) GetObjectList() []client.Object
type NnfNodeBlockStorageSpec ¶ added in v0.1.0
type NnfNodeBlockStorageSpec struct {
// Allocations is the list of storage allocations to make
Allocations []NnfNodeBlockStorageAllocationSpec `json:"allocations,omitempty"`
}
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 ¶ added in v0.1.0
func (in *NnfNodeBlockStorageSpec) DeepCopy() *NnfNodeBlockStorageSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeBlockStorageSpec.
func (*NnfNodeBlockStorageSpec) DeepCopyInto ¶ added in v0.1.0
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 ¶ added in v0.1.0
type NnfNodeBlockStorageStatus struct {
// Allocations is the list of storage allocations that were made
Allocations []NnfNodeBlockStorageAllocationStatus `json:"allocations,omitempty"`
dwsv1alpha2.ResourceError `json:",inline"`
Ready bool `json:"ready"`
}
func (*NnfNodeBlockStorageStatus) DeepCopy ¶ added in v0.1.0
func (in *NnfNodeBlockStorageStatus) DeepCopy() *NnfNodeBlockStorageStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeBlockStorageStatus.
func (*NnfNodeBlockStorageStatus) DeepCopyInto ¶ added in v0.1.0
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.
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.
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.
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: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]
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
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"`
// 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"`
// 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 ¶ added in v0.0.2
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 ¶ added in v0.0.2
func (in *NnfPortManager) DeepCopy() *NnfPortManager
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfPortManager.
func (*NnfPortManager) DeepCopyInto ¶ added in v0.0.2
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 ¶ added in v0.0.2
func (in *NnfPortManager) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NnfPortManager) GetStatus ¶ added in v0.0.2
func (mgr *NnfPortManager) GetStatus() updater.Status[*NnfPortManagerStatus]
type NnfPortManagerAllocationSpec ¶ added in v0.0.2
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 ¶ added in v0.0.2
func (in *NnfPortManagerAllocationSpec) DeepCopy() *NnfPortManagerAllocationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfPortManagerAllocationSpec.
func (*NnfPortManagerAllocationSpec) DeepCopyInto ¶ added in v0.0.2
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 ¶ added in v0.0.2
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 ¶ added in v0.0.2
func (in *NnfPortManagerAllocationStatus) DeepCopy() *NnfPortManagerAllocationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfPortManagerAllocationStatus.
func (*NnfPortManagerAllocationStatus) DeepCopyInto ¶ added in v0.0.2
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 ¶ added in v0.0.2
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 ¶ added in v0.0.2
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 ¶ added in v0.0.2
func (in *NnfPortManagerList) DeepCopy() *NnfPortManagerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfPortManagerList.
func (*NnfPortManagerList) DeepCopyInto ¶ added in v0.0.2
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 ¶ added in v0.0.2
func (in *NnfPortManagerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NnfPortManagerSpec ¶ added in v0.0.2
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 ¶ added in v0.0.2
func (in *NnfPortManagerSpec) DeepCopy() *NnfPortManagerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfPortManagerSpec.
func (*NnfPortManagerSpec) DeepCopyInto ¶ added in v0.0.2
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 ¶ added in v0.0.2
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 ¶ added in v0.0.2
func (in *NnfPortManagerStatus) DeepCopy() *NnfPortManagerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfPortManagerStatus.
func (*NnfPortManagerStatus) DeepCopyInto ¶ added in v0.0.2
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 ¶ added in v0.0.2
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 ¶ added in v0.0.2
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]
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"`
// 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
type NnfStorageLustreSpec ¶
type NnfStorageLustreSpec 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"`
// 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 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 ¶ added in v0.0.2
func (n *NnfStorageProfile) GetLustreMiscOptions(target string) NnfStorageProfileLustreMiscOptions
func (*NnfStorageProfile) SetupWebhookWithManager ¶
func (r *NnfStorageProfile) SetupWebhookWithManager(mgr ctrl.Manager) error
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"`
// 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"`
// MountCompute specifies mount options for mounting on the Compute.
MountCompute string `json:"mountCompute,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 an immutable copy
// +kubebuilder:default:=false
Pinned bool `json:"pinned,omitempty"`
// LustreStorage defines the Lustre-specific configuration
LustreStorage NnfStorageProfileLustreData `json:"lustreStorage"`
// GFS2Storage defines the GFS2-specific configuration
GFS2Storage NnfStorageProfileGFS2Data `json:"gfs2Storage"`
// XFSStorage defines the XFS-specific configuration
XFSStorage NnfStorageProfileXFSData `json:"xfsStorage"`
// RawStorage defines the Raw-specific configuration
RawStorage NnfStorageProfileRawData `json:"rawStorage"`
}
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"`
}
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 ¶ added in v0.1.0
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 ¶ added in v0.1.0
func (in *NnfStorageProfileLVMLvChangeCmdLines) DeepCopy() *NnfStorageProfileLVMLvChangeCmdLines
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorageProfileLVMLvChangeCmdLines.
func (*NnfStorageProfileLVMLvChangeCmdLines) DeepCopyInto ¶ added in v0.1.0
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 ¶ added in v0.0.2
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 ¶ added in v0.0.2
func (in *NnfStorageProfileLVMVgChangeCmdLines) DeepCopy() *NnfStorageProfileLVMVgChangeCmdLines
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorageProfileLVMVgChangeCmdLines.
func (*NnfStorageProfileLVMVgChangeCmdLines) DeepCopyInto ¶ added in v0.0.2
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
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"`
}
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"`
// 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"`
}
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"`
}
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"`
}
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"`
// 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 {
// MgsAddress is the NID of the MGS.
MgsAddress string `json:"mgsAddress,omitempty"`
// 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 VarHandler ¶ added in v0.1.0
func NewVarHandler ¶ added in v0.1.0
func NewVarHandler(vars map[string]string) *VarHandler
func (*VarHandler) DeepCopy ¶ added in v0.1.0
func (in *VarHandler) DeepCopy() *VarHandler
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VarHandler.
func (*VarHandler) DeepCopyInto ¶ added in v0.1.0
func (in *VarHandler) DeepCopyInto(out *VarHandler)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*VarHandler) ListToVars ¶ added in v0.1.0
func (v *VarHandler) ListToVars(listVarName, newVarPrefix string) error
ListToVars splits the value of one of its variables, and creates a new indexed variable for each of the items in the split.
func (*VarHandler) ReplaceAll ¶ added in v0.1.0
func (v *VarHandler) ReplaceAll(s string) string
Source Files
¶
- groupversion_info.go
- nnf_access_types.go
- nnf_datamovement_types.go
- nnf_datamovementmanager_types.go
- nnf_node_block_storage_types.go
- nnf_node_ec_data_types.go
- nnf_node_storage_types.go
- nnf_node_types.go
- nnf_port_manager_types.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
- nnf_storage_types.go
- nnfcontainerprofile_types.go
- nnfcontainerprofile_webhook.go
- nnfstorageprofile_types.go
- nnfstorageprofile_webhook.go
- workflow_helpers.go
- zz_generated.deepcopy.go