Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the dws v1alpha1 API group +kubebuilder:object:generate=true +groupName=dws.cray.hpe.com
Index ¶
- Constants
- Variables
- func AddOwnerLabels(child metav1.Object, owner metav1.Object)
- func AddPersistentStorageLabels(child metav1.Object, persistentStorage *PersistentStorageInstance)
- func AddWorkflowLabels(child metav1.Object, workflow *Workflow)
- func InheritParentLabels(child metav1.Object, owner metav1.Object)
- func MatchingOwner(owner metav1.Object) client.MatchingLabels
- func MatchingPersistentStorage(persistentStorage *PersistentStorageInstance) client.MatchingLabels
- func MatchingWorkflow(workflow *Workflow) client.MatchingLabels
- func OwnerLabelMapFunc(o client.Object) []reconcile.Request
- func RemoveOwnerLabels(child metav1.Object)
- type AllocationSetColocationConstraint
- type AllocationSetConstraints
- type AllocationStrategy
- type ClientMount
- type ClientMountDevice
- type ClientMountDeviceLVM
- type ClientMountDeviceLustre
- type ClientMountDeviceReference
- type ClientMountDeviceType
- type ClientMountInfo
- type ClientMountInfoStatus
- type ClientMountLVMDeviceType
- type ClientMountList
- type ClientMountNVMeDesc
- type ClientMountSpec
- type ClientMountState
- type ClientMountStatus
- type ComputeBreakdown
- type ComputeConstraints
- type ComputeLocationConstraint
- type Computes
- type ComputesData
- type ComputesList
- type DWDirectiveRule
- type DWDirectiveRuleList
- type DeleteStatus
- type DirectiveBreakdown
- type DirectiveBreakdownList
- type DirectiveBreakdownSpec
- type DirectiveBreakdownStatus
- type MutatingRuleParser
- type Node
- type ObjectList
- type PersistentStorageInstance
- func (in *PersistentStorageInstance) DeepCopy() *PersistentStorageInstance
- func (in *PersistentStorageInstance) DeepCopyInto(out *PersistentStorageInstance)
- func (in *PersistentStorageInstance) DeepCopyObject() runtime.Object
- func (psi *PersistentStorageInstance) GetStatus() updater.Status[*PersistentStorageInstanceStatus]
- type PersistentStorageInstanceList
- func (in *PersistentStorageInstanceList) DeepCopy() *PersistentStorageInstanceList
- func (in *PersistentStorageInstanceList) DeepCopyInto(out *PersistentStorageInstanceList)
- func (in *PersistentStorageInstanceList) DeepCopyObject() runtime.Object
- func (p *PersistentStorageInstanceList) GetObjectList() []client.Object
- type PersistentStorageInstanceSpec
- type PersistentStorageInstanceState
- type PersistentStorageInstanceStatus
- type ResourceError
- type ResourceErrorInfo
- func (in *ResourceErrorInfo) DeepCopy() *ResourceErrorInfo
- func (in *ResourceErrorInfo) DeepCopyInto(out *ResourceErrorInfo)
- func (e *ResourceErrorInfo) Error() string
- func (e *ResourceErrorInfo) WithFatal() *ResourceErrorInfo
- func (e *ResourceErrorInfo) WithUserMessage(message string) *ResourceErrorInfo
- type RuleList
- type RuleParser
- type Servers
- type ServersList
- type ServersSpec
- type ServersSpecAllocationSet
- type ServersSpecStorage
- type ServersStatus
- type ServersStatusAllocationSet
- type ServersStatusStorage
- type Storage
- type StorageAccess
- type StorageAllocationSet
- type StorageBreakdown
- type StorageData
- type StorageDevice
- type StorageList
- type SystemConfiguration
- type SystemConfigurationComputeNode
- type SystemConfigurationComputeNodeReference
- type SystemConfigurationList
- type SystemConfigurationSpec
- type SystemConfigurationStatus
- type SystemConfigurationStorageNode
- type ValidatingRuleParser
- type Workflow
- func (in *Workflow) DeepCopy() *Workflow
- func (in *Workflow) DeepCopyInto(out *Workflow)
- func (in *Workflow) DeepCopyObject() runtime.Object
- func (w *Workflow) Default()
- func (c *Workflow) GetStatus() updater.Status[*WorkflowStatus]
- func (w *Workflow) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (w *Workflow) ValidateCreate() error
- func (w *Workflow) ValidateDelete() error
- func (w *Workflow) ValidateUpdate(old runtime.Object) error
- type WorkflowDriverStatus
- type WorkflowList
- type WorkflowSpec
- type WorkflowState
- type WorkflowStatus
Constants ¶
const ( // DirectiveLifetimeJob specifies storage allocated for the lifetime of the job DirectiveLifetimeJob = "job" // DirectiveLifetimePersistent specifies storage allocated an indefinite lifetime usually longer than a job DirectiveLifetimePersistent = "persistent" )
const ( StorageLifetimePersistent = "persistent" StorageLifetimeJob = "job" )
const ( ComputeLocationNetwork = "network" ComputeLocationPhysical = "physical" )
const ( OwnerKindLabel = "dws.cray.hpe.com/owner.kind" OwnerNameLabel = "dws.cray.hpe.com/owner.name" OwnerNamespaceLabel = "dws.cray.hpe.com/owner.namespace" )
const ( // PersistentStorageNameLabel is defined for resources that relate to the name of a DWS PersistentStorageInstance PersistentStorageNameLabel = "dws.cray.hpe.com/persistentstorage.name" // PersistentStorageNamespaceLabel is defined for resources that relate to the namespace of a DWS PersistentStorageInstance PersistentStorageNamespaceLabel = "dws.cray.hpe.com/persistentstorage.namespace" )
const ( // StorageTypeLabel is the label key used for tagging Storage resources // with a driver specific label. For example: dws.cray.hpe.com/storage=Rabbit StorageTypeLabel = "dws.cray.hpe.com/storage" // StoragePoolLabelPrefix is the prefix for the label key used for tagging // Storage resources with a storage pool label. // For example: dws.cray.hpe.com/storage-pool-default=true StoragePoolLabelPrefix = "dws.cray.hpe.com/storage-pool-" )
const ( // WorkflowNameLabel is defined for resources that relate to the name of a DWS Workflow WorkflowNameLabel = "dws.cray.hpe.com/workflow.name" // WorkflowNamespaceLabel is defined for resources that relate to the namespace of a DWS Workflow WorkflowNamespaceLabel = "dws.cray.hpe.com/workflow.namespace" )
const ( StatusPending = "Pending" StatusQueued = "Queued" StatusRunning = "Running" StatusCompleted = "Completed" StatusError = "Error" StatusDriverWait = "DriverWait" )
Strings associated with workflow statuses
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "dws.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 AddOwnerLabels ¶
AddOwnerLabels adds labels to a child resource that identifies the owner
func AddPersistentStorageLabels ¶
func AddPersistentStorageLabels(child metav1.Object, persistentStorage *PersistentStorageInstance)
AddPersistentStorageLabels adds labels to a resource to indicate which persistent storage instance it belongs to
func AddWorkflowLabels ¶
AddWorkflowLabels adds labels to a resource to indicate which workflow it belongs to
func InheritParentLabels ¶
InheritParentLabels adds all labels from a parent resource to a child resource, excluding the owner labels
func MatchingOwner ¶
func MatchingOwner(owner metav1.Object) client.MatchingLabels
MatchingOwner returns the MatchingLabels to match the owner labels
func MatchingPersistentStorage ¶
func MatchingPersistentStorage(persistentStorage *PersistentStorageInstance) client.MatchingLabels
MatchingPersistentStorage returns the MatchingLabels to match the persistent storage labels
func MatchingWorkflow ¶
func MatchingWorkflow(workflow *Workflow) client.MatchingLabels
MatchingWorkflow returns the MatchingLabels to match the workflow labels
func RemoveOwnerLabels ¶
Types ¶
type AllocationSetColocationConstraint ¶
type AllocationSetColocationConstraint struct { // Type of colocation constraint // +kubebuilder:validation:Enum=exclusive Type string `json:"type"` // Key shared by all the allocation sets that have their location constrained // in relation to each other. Key string `json:"key"` }
AllocationSetColocationConstraint specifies how to colocate storage resources. A colocation constraint specifies how the location(s) of an allocation set should be selected with relation to other allocation sets. Locations for allocation sets with the same colocation key should be picked according to the colocation type.
func (*AllocationSetColocationConstraint) DeepCopy ¶
func (in *AllocationSetColocationConstraint) DeepCopy() *AllocationSetColocationConstraint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllocationSetColocationConstraint.
func (*AllocationSetColocationConstraint) DeepCopyInto ¶
func (in *AllocationSetColocationConstraint) DeepCopyInto(out *AllocationSetColocationConstraint)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AllocationSetConstraints ¶
type AllocationSetConstraints struct { // Labels is a list of labels is used to filter the Storage resources Labels []string `json:"labels,omitempty"` // Colocation is a list of constraints for which Storage resources // to pick in relation to Storage resources for other allocation sets. Colocation []AllocationSetColocationConstraint `json:"colocation,omitempty"` }
AllocationSetConstraints specifies the constraints required for colocation of Storage resources
func (*AllocationSetConstraints) DeepCopy ¶
func (in *AllocationSetConstraints) DeepCopy() *AllocationSetConstraints
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AllocationSetConstraints.
func (*AllocationSetConstraints) DeepCopyInto ¶
func (in *AllocationSetConstraints) DeepCopyInto(out *AllocationSetConstraints)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AllocationStrategy ¶
type AllocationStrategy string
const ( AllocatePerCompute AllocationStrategy = "AllocatePerCompute" AllocateAcrossServers AllocationStrategy = "AllocateAcrossServers" AllocateSingleServer AllocationStrategy = "AllocateSingleServer" )
type ClientMount ¶
type ClientMount struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ClientMountSpec `json:"spec,omitempty"` Status ClientMountStatus `json:"status,omitempty"` }
ClientMount is the Schema for the clientmounts API
func (*ClientMount) DeepCopy ¶
func (in *ClientMount) DeepCopy() *ClientMount
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientMount.
func (*ClientMount) DeepCopyInto ¶
func (in *ClientMount) DeepCopyInto(out *ClientMount)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClientMount) DeepCopyObject ¶
func (in *ClientMount) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ClientMount) GetStatus ¶
func (c *ClientMount) GetStatus() updater.Status[*ClientMountStatus]
type ClientMountDevice ¶
type ClientMountDevice struct { // +kubebuilder:validation:Enum=lustre;lvm;reference Type ClientMountDeviceType `json:"type"` // Lustre specific device information Lustre *ClientMountDeviceLustre `json:"lustre,omitempty"` // LVM logical volume specific device information LVM *ClientMountDeviceLVM `json:"lvm,omitempty"` DeviceReference *ClientMountDeviceReference `json:"deviceReference,omitempty"` }
ClientMountDevice defines the device to mount
func (*ClientMountDevice) DeepCopy ¶
func (in *ClientMountDevice) DeepCopy() *ClientMountDevice
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientMountDevice.
func (*ClientMountDevice) DeepCopyInto ¶
func (in *ClientMountDevice) DeepCopyInto(out *ClientMountDevice)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClientMountDeviceLVM ¶
type ClientMountDeviceLVM struct { // Type of underlying block deices used for the PVs // +kubebuilder:validation:Enum=nvme DeviceType ClientMountLVMDeviceType `json:"deviceType"` // List of NVMe namespaces that are used by the VG NVMeInfo []ClientMountNVMeDesc `json:"nvmeInfo,omitempty"` // LVM volume group name VolumeGroup string `json:"volumeGroup,omitempty"` // LVM logical volume name LogicalVolume string `json:"logicalVolume,omitempty"` }
ClientMountDeviceLVM defines an LVM device by the VG/LV pair and optionally the drives that are the PVs.
func (*ClientMountDeviceLVM) DeepCopy ¶
func (in *ClientMountDeviceLVM) DeepCopy() *ClientMountDeviceLVM
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientMountDeviceLVM.
func (*ClientMountDeviceLVM) DeepCopyInto ¶
func (in *ClientMountDeviceLVM) DeepCopyInto(out *ClientMountDeviceLVM)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClientMountDeviceLustre ¶
type ClientMountDeviceLustre struct { // Lustre fsname FileSystemName string `json:"fileSystemName"` // List of mgsAddresses of the form [address]@[lnet] MgsAddresses string `json:"mgsAddresses"` }
ClientMountDeviceLustre defines the lustre device information for mounting
func (*ClientMountDeviceLustre) DeepCopy ¶
func (in *ClientMountDeviceLustre) DeepCopy() *ClientMountDeviceLustre
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientMountDeviceLustre.
func (*ClientMountDeviceLustre) DeepCopyInto ¶
func (in *ClientMountDeviceLustre) DeepCopyInto(out *ClientMountDeviceLustre)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClientMountDeviceReference ¶
type ClientMountDeviceReference struct { // Object reference for the device information ObjectReference corev1.ObjectReference `json:"objectReference"` // Optional private data for the driver Data int `json:"data,omitempty"` }
ClientMountDeviceReference is an reference to a different Kubernetes object where device information can be found
func (*ClientMountDeviceReference) DeepCopy ¶
func (in *ClientMountDeviceReference) DeepCopy() *ClientMountDeviceReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientMountDeviceReference.
func (*ClientMountDeviceReference) DeepCopyInto ¶
func (in *ClientMountDeviceReference) DeepCopyInto(out *ClientMountDeviceReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClientMountDeviceType ¶
type ClientMountDeviceType string
ClientMountDeviceType specifies the go type for device type
const ( // ClientMountDeviceTypeLustre is used to define the device as a Lustre file system ClientMountDeviceTypeLustre ClientMountDeviceType = "lustre" // ClientMountDeviceTypeLVM is used to define the device as a LVM logical volume ClientMountDeviceTypeLVM ClientMountDeviceType = "lvm" // ClientMountDeviceTypeReference is used when the device information is described in // a separate Kubernetes resource. The clientmountd (or another controller doing the mounts) // must know how to interpret the resource to extract the device information. ClientMountDeviceTypeReference ClientMountDeviceType = "reference" )
type ClientMountInfo ¶
type ClientMountInfo struct { // Client path for mount target MountPath string `json:"mountPath"` // Options for the file system mount Options string `json:"options"` // Description of the device to mount Device ClientMountDevice `json:"device"` // mount type // +kubebuilder:validation:Enum=lustre;xfs;gfs2;none Type string `json:"type"` // TargetType determines whether the mount target is a file or a directory // +kubebuilder:validation:Enum=file;directory TargetType string `json:"targetType"` // Compute is the name of the compute node which shares this mount if present. Empty if not shared. Compute string `json:"compute,omitempty"` }
ClientMountInfo defines a single mount
func (*ClientMountInfo) DeepCopy ¶
func (in *ClientMountInfo) DeepCopy() *ClientMountInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientMountInfo.
func (*ClientMountInfo) DeepCopyInto ¶
func (in *ClientMountInfo) DeepCopyInto(out *ClientMountInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClientMountInfoStatus ¶
type ClientMountInfoStatus struct { // Current state // +kubebuilder:validation:Enum=mounted;unmounted State ClientMountState `json:"state"` // Ready indicates whether status.state has been achieved Ready bool `json:"ready"` }
ClientMountInfoStatus is the status for a single mount point
func (*ClientMountInfoStatus) DeepCopy ¶
func (in *ClientMountInfoStatus) DeepCopy() *ClientMountInfoStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientMountInfoStatus.
func (*ClientMountInfoStatus) DeepCopyInto ¶
func (in *ClientMountInfoStatus) DeepCopyInto(out *ClientMountInfoStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClientMountLVMDeviceType ¶
type ClientMountLVMDeviceType string
ClientMountLVMDeviceType specifies the go type for LVMDeviceType
const ( // ClientMountLVMDeviceTypeNVMe specifies the NVMe constant device type ClientMountLVMDeviceTypeNVMe ClientMountLVMDeviceType = "nvme" )
type ClientMountList ¶
type ClientMountList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ClientMount `json:"items"` }
ClientMountList contains a list of ClientMount
func (*ClientMountList) DeepCopy ¶
func (in *ClientMountList) DeepCopy() *ClientMountList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientMountList.
func (*ClientMountList) DeepCopyInto ¶
func (in *ClientMountList) DeepCopyInto(out *ClientMountList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClientMountList) DeepCopyObject ¶
func (in *ClientMountList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ClientMountList) GetObjectList ¶
func (c *ClientMountList) GetObjectList() []client.Object
GetObjectList returns a list of Client references.
type ClientMountNVMeDesc ¶
type ClientMountNVMeDesc struct { // Serial number of the base NVMe device DeviceSerial string `json:"deviceSerial"` // Id of the Namespace on the NVMe device (e.g., "2") NamespaceID string `json:"namespaceID"` // Globally unique namespace ID NamespaceGUID string `json:"namespaceGUID"` }
ClientMountNVMeDesc uniquely describes an NVMe namespace
func (*ClientMountNVMeDesc) DeepCopy ¶
func (in *ClientMountNVMeDesc) DeepCopy() *ClientMountNVMeDesc
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientMountNVMeDesc.
func (*ClientMountNVMeDesc) DeepCopyInto ¶
func (in *ClientMountNVMeDesc) DeepCopyInto(out *ClientMountNVMeDesc)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClientMountSpec ¶
type ClientMountSpec struct { // Name of the client node that is targeted by this mount Node string `json:"node"` // Desired state of the mount point // +kubebuilder:validation:Enum=mounted;unmounted DesiredState ClientMountState `json:"desiredState"` // List of mounts to create on this client // +kubebuilder:validation:MinItems=1 Mounts []ClientMountInfo `json:"mounts"` }
ClientMountSpec defines the desired state of ClientMount
func (*ClientMountSpec) DeepCopy ¶
func (in *ClientMountSpec) DeepCopy() *ClientMountSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientMountSpec.
func (*ClientMountSpec) DeepCopyInto ¶
func (in *ClientMountSpec) DeepCopyInto(out *ClientMountSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClientMountState ¶
type ClientMountState string
ClientMountState specifies the go type for MountState
const ( ClientMountStateMounted ClientMountState = "mounted" ClientMountStateUnmounted ClientMountState = "unmounted" )
ClientMountState string constants
type ClientMountStatus ¶
type ClientMountStatus struct { // List of mount statuses Mounts []ClientMountInfoStatus `json:"mounts"` // Error information ResourceError `json:",inline"` }
ClientMountStatus defines the observed state of ClientMount
func (*ClientMountStatus) DeepCopy ¶
func (in *ClientMountStatus) DeepCopy() *ClientMountStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientMountStatus.
func (*ClientMountStatus) DeepCopyInto ¶
func (in *ClientMountStatus) DeepCopyInto(out *ClientMountStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComputeBreakdown ¶
type ComputeBreakdown struct { // Constraints to use when picking compute nodes Constraints ComputeConstraints `json:"constraints,omitempty"` }
ComputeBreakdown describes the compute requirements of a directive
func (*ComputeBreakdown) DeepCopy ¶
func (in *ComputeBreakdown) DeepCopy() *ComputeBreakdown
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComputeBreakdown.
func (*ComputeBreakdown) DeepCopyInto ¶
func (in *ComputeBreakdown) DeepCopyInto(out *ComputeBreakdown)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComputeConstraints ¶
type ComputeConstraints struct { // Location is a list of location constraints Location []ComputeLocationConstraint `json:"location,omitempty"` }
ComputeConstraints describes the constraints to use when picking compute nodes
func (*ComputeConstraints) DeepCopy ¶
func (in *ComputeConstraints) DeepCopy() *ComputeConstraints
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComputeConstraints.
func (*ComputeConstraints) DeepCopyInto ¶
func (in *ComputeConstraints) DeepCopyInto(out *ComputeConstraints)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComputeLocationConstraint ¶
type ComputeLocationConstraint struct { // Type is the relationship between the compute nodes and the resource in the Reference // +kubebuilder:validation:Enum=physical;network Type string `json:"type"` // Reference is an object reference to a resource that contains the location information Reference corev1.ObjectReference `json:"reference"` }
ComputeLocationConstraint describes a constraints on which compute nodes can be used with a directive based on their location
func (*ComputeLocationConstraint) DeepCopy ¶
func (in *ComputeLocationConstraint) DeepCopy() *ComputeLocationConstraint
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComputeLocationConstraint.
func (*ComputeLocationConstraint) DeepCopyInto ¶
func (in *ComputeLocationConstraint) DeepCopyInto(out *ComputeLocationConstraint)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Computes ¶
type Computes struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Data []ComputesData `json:"data,omitempty"` }
Computes is the Schema for the computes API
func (*Computes) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Computes.
func (*Computes) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Computes) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ComputesData ¶
type ComputesData struct { // Name is the identifer name for the compute node Name string `json:"name"` }
ComputesData defines the compute nodes that are assigned to the workflow
func (*ComputesData) DeepCopy ¶
func (in *ComputesData) DeepCopy() *ComputesData
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComputesData.
func (*ComputesData) DeepCopyInto ¶
func (in *ComputesData) DeepCopyInto(out *ComputesData)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComputesList ¶
type ComputesList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Computes `json:"items"` }
ComputesList contains a list of Computes
func (*ComputesList) DeepCopy ¶
func (in *ComputesList) DeepCopy() *ComputesList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComputesList.
func (*ComputesList) DeepCopyInto ¶
func (in *ComputesList) DeepCopyInto(out *ComputesList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ComputesList) DeepCopyObject ¶
func (in *ComputesList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ComputesList) GetObjectList ¶
func (c *ComputesList) GetObjectList() []client.Object
type DWDirectiveRule ¶
type DWDirectiveRule struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec []dwdparse.DWDirectiveRuleSpec `json:"spec,omitempty"` }
DWDirectiveRule is the Schema for the DWDirective API
func (*DWDirectiveRule) DeepCopy ¶
func (in *DWDirectiveRule) DeepCopy() *DWDirectiveRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DWDirectiveRule.
func (*DWDirectiveRule) DeepCopyInto ¶
func (in *DWDirectiveRule) DeepCopyInto(out *DWDirectiveRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DWDirectiveRule) DeepCopyObject ¶
func (in *DWDirectiveRule) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DWDirectiveRuleList ¶
type DWDirectiveRuleList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []DWDirectiveRule `json:"items"` }
DWDirectiveRuleList contains a list of DWDirective
func (*DWDirectiveRuleList) DeepCopy ¶
func (in *DWDirectiveRuleList) DeepCopy() *DWDirectiveRuleList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DWDirectiveRuleList.
func (*DWDirectiveRuleList) DeepCopyInto ¶
func (in *DWDirectiveRuleList) DeepCopyInto(out *DWDirectiveRuleList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DWDirectiveRuleList) DeepCopyObject ¶
func (in *DWDirectiveRuleList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type DeleteStatus ¶
type DeleteStatus struct {
// contains filtered or unexported fields
}
DeleteStatus provides information about the status of DeleteChildren* operation +kubebuilder:object:generate=false
func DeleteChildren ¶
func DeleteChildren(ctx context.Context, c client.Client, childObjectLists []ObjectList, parent metav1.Object) (DeleteStatus, error)
DeleteChildren deletes all the children of a parent with the resource types defined in a list of ObjectList types. All children of a single type will be fully deleted before starting to delete any children of the next type.
func DeleteChildrenWithLabels ¶
func DeleteChildrenWithLabels(ctx context.Context, c client.Client, childObjectLists []ObjectList, parent metav1.Object, matchingLabels client.MatchingLabels) (DeleteStatus, error)
DeleteChildrenWithLabels deletes all the children of a parent with the resource types defined in a list of ObjectList types and the labels defined in matchingLabels. All children of a single type will be fully deleted before starting to delete any children of the next type.
func (*DeleteStatus) Complete ¶
func (d *DeleteStatus) Complete() bool
Complete returns true if the delete is complete, and false otherwise
func (*DeleteStatus) Info ¶
func (d *DeleteStatus) Info() []interface{}
Info returns key/value pairs that describe the delete status operation; the returned array must alternate string keys and arbitrary values so it can be passed to logr.Logging.Info()
type DirectiveBreakdown ¶
type DirectiveBreakdown struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec DirectiveBreakdownSpec `json:"spec,omitempty"` Status DirectiveBreakdownStatus `json:"status,omitempty"` }
DirectiveBreakdown is the Schema for the directivebreakdown API
func (*DirectiveBreakdown) DeepCopy ¶
func (in *DirectiveBreakdown) DeepCopy() *DirectiveBreakdown
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DirectiveBreakdown.
func (*DirectiveBreakdown) DeepCopyInto ¶
func (in *DirectiveBreakdown) DeepCopyInto(out *DirectiveBreakdown)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DirectiveBreakdown) DeepCopyObject ¶
func (in *DirectiveBreakdown) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*DirectiveBreakdown) GetStatus ¶
func (db *DirectiveBreakdown) GetStatus() updater.Status[*DirectiveBreakdownStatus]
type DirectiveBreakdownList ¶
type DirectiveBreakdownList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []DirectiveBreakdown `json:"items"` }
DirectiveBreakdownList contains a list of DirectiveBreakdown
func (*DirectiveBreakdownList) DeepCopy ¶
func (in *DirectiveBreakdownList) DeepCopy() *DirectiveBreakdownList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DirectiveBreakdownList.
func (*DirectiveBreakdownList) DeepCopyInto ¶
func (in *DirectiveBreakdownList) DeepCopyInto(out *DirectiveBreakdownList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DirectiveBreakdownList) DeepCopyObject ¶
func (in *DirectiveBreakdownList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*DirectiveBreakdownList) GetObjectList ¶
func (d *DirectiveBreakdownList) GetObjectList() []client.Object
type DirectiveBreakdownSpec ¶
type DirectiveBreakdownSpec struct { // Directive is a copy of the #DW for this breakdown Directive string `json:"directive"` // User ID of the user associated with the job UserID uint32 `json:"userID"` }
DirectiveBreakdownSpec defines the directive string to breakdown
func (*DirectiveBreakdownSpec) DeepCopy ¶
func (in *DirectiveBreakdownSpec) DeepCopy() *DirectiveBreakdownSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DirectiveBreakdownSpec.
func (*DirectiveBreakdownSpec) DeepCopyInto ¶
func (in *DirectiveBreakdownSpec) DeepCopyInto(out *DirectiveBreakdownSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DirectiveBreakdownStatus ¶
type DirectiveBreakdownStatus struct { // Storage is the storage breakdown for the directive Storage *StorageBreakdown `json:"storage,omitempty"` // Compute is the compute breakdown for the directive Compute *ComputeBreakdown `json:"compute,omitempty"` // Ready indicates whether AllocationSets have been generated (true) or not (false) Ready bool `json:"ready"` // Error information ResourceError `json:",inline"` }
DirectiveBreakdownStatus defines the storage information WLM needs to select NNF Nodes and request storage from the selected nodes
func (*DirectiveBreakdownStatus) DeepCopy ¶
func (in *DirectiveBreakdownStatus) DeepCopy() *DirectiveBreakdownStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DirectiveBreakdownStatus.
func (*DirectiveBreakdownStatus) DeepCopyInto ¶
func (in *DirectiveBreakdownStatus) DeepCopyInto(out *DirectiveBreakdownStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MutatingRuleParser ¶
type MutatingRuleParser struct {
RuleList
}
MutatingRuleParser provides the rulelist +kubebuilder:object:generate=false
func (*MutatingRuleParser) MatchedDirective ¶
func (r *MutatingRuleParser) MatchedDirective(workflow *Workflow, watchStates string, index int, label string)
MatchedDirective updates the driver status entries to indicate driver availability
type Node ¶
type Node struct { // Name is the Kubernetes name of the node Name string `json:"name,omitempty"` // Status of the node // +kubebuilder:validation:Enum=Starting;Ready;Disabled;NotPresent;Offline;Failed Status string `json:"status,omitempty"` }
Node provides the status of either a compute or a server
func (*Node) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Node.
func (*Node) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObjectList ¶
+kubebuilder:object:generate=false
type PersistentStorageInstance ¶
type PersistentStorageInstance struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PersistentStorageInstanceSpec `json:"spec,omitempty"` Status PersistentStorageInstanceStatus `json:"status,omitempty"` }
PersistentStorageInstance is the Schema for the Persistentstorageinstances API
func (*PersistentStorageInstance) DeepCopy ¶
func (in *PersistentStorageInstance) DeepCopy() *PersistentStorageInstance
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PersistentStorageInstance.
func (*PersistentStorageInstance) DeepCopyInto ¶
func (in *PersistentStorageInstance) DeepCopyInto(out *PersistentStorageInstance)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PersistentStorageInstance) DeepCopyObject ¶
func (in *PersistentStorageInstance) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*PersistentStorageInstance) GetStatus ¶
func (psi *PersistentStorageInstance) GetStatus() updater.Status[*PersistentStorageInstanceStatus]
type PersistentStorageInstanceList ¶
type PersistentStorageInstanceList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []PersistentStorageInstance `json:"items"` }
PersistentStorageInstanceList contains a list of PersistentStorageInstances
func (*PersistentStorageInstanceList) DeepCopy ¶
func (in *PersistentStorageInstanceList) DeepCopy() *PersistentStorageInstanceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PersistentStorageInstanceList.
func (*PersistentStorageInstanceList) DeepCopyInto ¶
func (in *PersistentStorageInstanceList) DeepCopyInto(out *PersistentStorageInstanceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PersistentStorageInstanceList) DeepCopyObject ¶
func (in *PersistentStorageInstanceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*PersistentStorageInstanceList) GetObjectList ¶
func (p *PersistentStorageInstanceList) GetObjectList() []client.Object
GetObjectList returns a list of PersistentStorageInstance references.
type PersistentStorageInstanceSpec ¶
type PersistentStorageInstanceSpec struct { // Name is the name given to this persistent storage instance. Name string `json:"name"` // FsType describes the File System Type for this storage instance. // +kubebuilder:validation:Enum:=raw;xfs;gfs2;lustre FsType string `json:"fsType"` // DWDirective is a copy of the #DW for this instance DWDirective string `json:"dwDirective"` // User ID of the user that created the persistent storage UserID uint32 `json:"userID"` // Desired state of the PersistentStorageInstance // +kubebuilder:validation:Enum:=active;destroying State PersistentStorageInstanceState `json:"state"` // List of consumers using this persistent storage ConsumerReferences []corev1.ObjectReference `json:"consumerReferences,omitempty"` }
PersistentStorageInstanceSpec defines the desired state of PersistentStorageInstance
func (*PersistentStorageInstanceSpec) DeepCopy ¶
func (in *PersistentStorageInstanceSpec) DeepCopy() *PersistentStorageInstanceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PersistentStorageInstanceSpec.
func (*PersistentStorageInstanceSpec) DeepCopyInto ¶
func (in *PersistentStorageInstanceSpec) DeepCopyInto(out *PersistentStorageInstanceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PersistentStorageInstanceState ¶
type PersistentStorageInstanceState string
PersistentStorageInstanceState specifies the golang type for PSIState
const ( // The PSI resource exists in k8s, but the storage and filesystem that it represents has not been created yet PSIStateCreating PersistentStorageInstanceState = "creating" // The storage and filesystem represented by the PSI exists and is ready for use PSIStateActive PersistentStorageInstanceState = "active" // A #DW destroy_persistent directive has been issued in a workflow. // Once all other workflows with persistent_dw reservations on the PSI complete, the PSI will be destroyed. // New #DW persistent_dw requests after the PSI enters the 'destroying' state will fail. PSIStateDestroying PersistentStorageInstanceState = "destroying" )
State enumerations
type PersistentStorageInstanceStatus ¶
type PersistentStorageInstanceStatus struct { // Servers refers to the Servers resource that provides the backing storage for this storage instance Servers corev1.ObjectReference `json:"servers,omitempty"` // Current state of the PersistentStorageInstance // +kubebuilder:validation:Enum:=creating;active;destroying State PersistentStorageInstanceState `json:"state"` // Error information ResourceError `json:",inline"` }
PersistentStorageInstanceStatus defines the observed state of PersistentStorageInstance
func (*PersistentStorageInstanceStatus) DeepCopy ¶
func (in *PersistentStorageInstanceStatus) DeepCopy() *PersistentStorageInstanceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PersistentStorageInstanceStatus.
func (*PersistentStorageInstanceStatus) DeepCopyInto ¶
func (in *PersistentStorageInstanceStatus) DeepCopyInto(out *PersistentStorageInstanceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceError ¶
type ResourceError struct { // Error information Error *ResourceErrorInfo `json:"error,omitempty"` }
func (*ResourceError) DeepCopy ¶
func (in *ResourceError) DeepCopy() *ResourceError
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceError.
func (*ResourceError) DeepCopyInto ¶
func (in *ResourceError) DeepCopyInto(out *ResourceError)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ResourceError) SetResourceError ¶
func (e *ResourceError) SetResourceError(err error)
type ResourceErrorInfo ¶
type ResourceErrorInfo struct { // Optional user facing message if the error is relevant to an end user UserMessage string `json:"userMessage,omitempty"` // Internal debug message for the error DebugMessage string `json:"debugMessage"` // Indication if the error is likely recoverable or not Recoverable bool `json:"recoverable"` }
func NewResourceError ¶
func NewResourceError(message string, err error) *ResourceErrorInfo
func (*ResourceErrorInfo) DeepCopy ¶
func (in *ResourceErrorInfo) DeepCopy() *ResourceErrorInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceErrorInfo.
func (*ResourceErrorInfo) DeepCopyInto ¶
func (in *ResourceErrorInfo) DeepCopyInto(out *ResourceErrorInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ResourceErrorInfo) Error ¶
func (e *ResourceErrorInfo) Error() string
func (*ResourceErrorInfo) WithFatal ¶
func (e *ResourceErrorInfo) WithFatal() *ResourceErrorInfo
func (*ResourceErrorInfo) WithUserMessage ¶
func (e *ResourceErrorInfo) WithUserMessage(message string) *ResourceErrorInfo
type RuleList ¶
type RuleList struct {
// contains filtered or unexported fields
}
RuleList contains the rules to be applied for a particular driver +kubebuilder:object:generate=false
func (*RuleList) GetRuleList ¶
func (r *RuleList) GetRuleList() []dwdparse.DWDirectiveRuleSpec
GetRuleList returns the current rules
type RuleParser ¶
type RuleParser interface { ReadRules() error GetRuleList() []dwdparse.DWDirectiveRuleSpec MatchedDirective(*Workflow, string, int, string) }
RuleParser defines the interface a rule parser must provide +kubebuilder:object:generate=false
type Servers ¶
type Servers struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ServersSpec `json:"spec,omitempty"` Status ServersStatus `json:"status,omitempty"` }
Servers is the Schema for the servers API
func (*Servers) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Servers.
func (*Servers) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Servers) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ServersList ¶
type ServersList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Servers `json:"items"` }
ServersList contains a list of Servers
func (*ServersList) DeepCopy ¶
func (in *ServersList) DeepCopy() *ServersList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServersList.
func (*ServersList) DeepCopyInto ¶
func (in *ServersList) DeepCopyInto(out *ServersList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ServersList) DeepCopyObject ¶
func (in *ServersList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*ServersList) GetObjectList ¶
func (s *ServersList) GetObjectList() []client.Object
GetObjectList returns a list of Servers references.
type ServersSpec ¶
type ServersSpec struct {
AllocationSets []ServersSpecAllocationSet `json:"allocationSets,omitempty"`
}
ServersSpec defines the desired state of Servers
func (*ServersSpec) DeepCopy ¶
func (in *ServersSpec) DeepCopy() *ServersSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServersSpec.
func (*ServersSpec) DeepCopyInto ¶
func (in *ServersSpec) DeepCopyInto(out *ServersSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServersSpecAllocationSet ¶
type ServersSpecAllocationSet struct { // Label as specified in the DirectiveBreakdown Label string `json:"label"` // Allocation size in bytes // +kubebuilder:validation:Minimum=1 AllocationSize int64 `json:"allocationSize"` // List of storage resources where allocations are created Storage []ServersSpecStorage `json:"storage"` }
ServersSpecAllocationSet is a set of allocations that all share the same allocation size and allocation type (e.g., XFS)
func (*ServersSpecAllocationSet) DeepCopy ¶
func (in *ServersSpecAllocationSet) DeepCopy() *ServersSpecAllocationSet
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServersSpecAllocationSet.
func (*ServersSpecAllocationSet) DeepCopyInto ¶
func (in *ServersSpecAllocationSet) DeepCopyInto(out *ServersSpecAllocationSet)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServersSpecStorage ¶
type ServersSpecStorage struct { // The name of the storage Name string `json:"name"` // The number of allocations to create of the size in bytes specified in ServersSpecAllocationSet // +kubebuilder:validation:Minimum=1 AllocationCount int `json:"allocationCount"` }
ServersSpecStorage specifies info required to identify the storage to use, and the number of allocations to make on that storage. ServersSpecAllocationSet.AllocationSize specifies the size of each allocation.
func (*ServersSpecStorage) DeepCopy ¶
func (in *ServersSpecStorage) DeepCopy() *ServersSpecStorage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServersSpecStorage.
func (*ServersSpecStorage) DeepCopyInto ¶
func (in *ServersSpecStorage) DeepCopyInto(out *ServersSpecStorage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServersStatus ¶
type ServersStatus struct { Ready bool `json:"ready"` LastUpdate *metav1.MicroTime `json:"lastUpdate,omitempty"` AllocationSets []ServersStatusAllocationSet `json:"allocationSets,omitempty"` }
ServersStatus specifies whether the Servers has achieved the ready condition along with the allocationSets that are managed by the Servers resource.
func (*ServersStatus) DeepCopy ¶
func (in *ServersStatus) DeepCopy() *ServersStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServersStatus.
func (*ServersStatus) DeepCopyInto ¶
func (in *ServersStatus) DeepCopyInto(out *ServersStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServersStatusAllocationSet ¶
type ServersStatusAllocationSet struct { // Label as specified in the DirectiveBreakdown Label string `json:"label"` // List of storage resources that have allocations Storage map[string]ServersStatusStorage `json:"storage"` }
ServersStatusAllocationSet is the status of a set of allocations
func (*ServersStatusAllocationSet) DeepCopy ¶
func (in *ServersStatusAllocationSet) DeepCopy() *ServersStatusAllocationSet
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServersStatusAllocationSet.
func (*ServersStatusAllocationSet) DeepCopyInto ¶
func (in *ServersStatusAllocationSet) DeepCopyInto(out *ServersStatusAllocationSet)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServersStatusStorage ¶
type ServersStatusStorage struct { // Allocation size in bytes AllocationSize int64 `json:"allocationSize"` }
ServersStatusStorage is the status of the allocations on a storage
func (*ServersStatusStorage) DeepCopy ¶
func (in *ServersStatusStorage) DeepCopy() *ServersStatusStorage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServersStatusStorage.
func (*ServersStatusStorage) DeepCopyInto ¶
func (in *ServersStatusStorage) DeepCopyInto(out *ServersStatusStorage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Storage ¶
type Storage struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Data StorageData `json:"data,omitempty"` }
Storage is the Schema for the storages API +kubebuilder:object:root=true
func (*Storage) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Storage.
func (*Storage) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Storage) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type StorageAccess ¶
type StorageAccess struct { // Protocol is the method that this storage can be accessed // +kubebuilder:validation:Enum=PCIe Protocol string `json:"protocol,omitempty"` // Servers is the list of non-compute nodes that have access to // the storage Servers []Node `json:"servers,omitempty"` // Computes is the list of compute nodes that have access to // the storage Computes []Node `json:"computes,omitempty"` }
StorageAccess contains nodes and the protocol that may access the storage
func (*StorageAccess) DeepCopy ¶
func (in *StorageAccess) DeepCopy() *StorageAccess
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageAccess.
func (*StorageAccess) DeepCopyInto ¶
func (in *StorageAccess) DeepCopyInto(out *StorageAccess)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StorageAllocationSet ¶
type StorageAllocationSet struct { // AllocationStrategy specifies the way to determine the number of allocations of the MinimumCapacity required for this AllocationSet. // +kubebuilder:validation:Enum=AllocatePerCompute;AllocateAcrossServers;AllocateSingleServer AllocationStrategy AllocationStrategy `json:"allocationStrategy"` // MinimumCapacity is the minumum number of bytes required to meet the needs of the filesystem that // will use the storage. // +kubebuilder:validation:Minimum:=1 MinimumCapacity int64 `json:"minimumCapacity"` // Label is an identifier used to communicate from the DWS interface to internal interfaces // the filesystem use of this AllocationSet. // +kubebuilder:validation:Enum=raw;xfs;gfs2;mgt;mdt;mgtmdt;ost; Label string `json:"label"` // Constraint is an additional requirement pertaining to the suitability of Storage resources that may be used // for this AllocationSet Constraints AllocationSetConstraints `json:"constraints,omitempty"` }
StorageAllocationSet defines the details of an allocation set
func (*StorageAllocationSet) DeepCopy ¶
func (in *StorageAllocationSet) DeepCopy() *StorageAllocationSet
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageAllocationSet.
func (*StorageAllocationSet) DeepCopyInto ¶
func (in *StorageAllocationSet) DeepCopyInto(out *StorageAllocationSet)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StorageBreakdown ¶
type StorageBreakdown struct { // Lifetime is the duration of the allocation // +kubebuilder:validation:Enum=job;persistent Lifetime string `json:"lifetime"` // Reference is an ObjectReference to another resource Reference corev1.ObjectReference `json:"reference,omitempty"` // AllocationSets lists the allocations required to fulfill the #DW Directive AllocationSets []StorageAllocationSet `json:"allocationSets,omitempty"` }
StorageBreakdown describes the storage requirements of a directive
func (*StorageBreakdown) DeepCopy ¶
func (in *StorageBreakdown) DeepCopy() *StorageBreakdown
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageBreakdown.
func (*StorageBreakdown) DeepCopyInto ¶
func (in *StorageBreakdown) DeepCopyInto(out *StorageBreakdown)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StorageData ¶
type StorageData struct { // Type describes what type of storage this is // +kubebuilder:validation:Enum=NVMe Type string `json:"type,omitempty"` // Devices is the list of physical devices that make up this storage Devices []StorageDevice `json:"devices,omitempty"` // Access contains the information about where the storage is accessible Access StorageAccess `json:"access,omitempty"` // Capacity is the number of bytes this storage provides. This is the // total accessible bytes as determined by the driver and may be different // than the sum of the devices' capacities. // +kubebuilder:default:=0 Capacity int64 `json:"capacity"` // Status is the overall status of the storage // +kubebuilder:validation:Enum=Starting;Ready;Disabled;NotPresent;Offline;Failed Status string `json:"status,omitempty"` }
StorageData contains the data about the storage
func (*StorageData) DeepCopy ¶
func (in *StorageData) DeepCopy() *StorageData
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageData.
func (*StorageData) DeepCopyInto ¶
func (in *StorageData) DeepCopyInto(out *StorageData)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StorageDevice ¶
type StorageDevice 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. A value of 100 indicates the estimated endurance of the non-volatile memory // has been consumed, but may not indicate a storage failure. WearLevel *int64 `json:"wearLevel,omitempty"` // Status of the individual device // +kubebuilder:validation:Enum=Starting;Ready;Disabled;NotPresent;Offline;Failed Status string `json:"status,omitempty"` }
StorageDevice contains the details of the storage hardware
func (*StorageDevice) DeepCopy ¶
func (in *StorageDevice) DeepCopy() *StorageDevice
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageDevice.
func (*StorageDevice) DeepCopyInto ¶
func (in *StorageDevice) DeepCopyInto(out *StorageDevice)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StorageList ¶
type StorageList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Storage `json:"items"` }
StorageList contains a list of Storage
func (*StorageList) DeepCopy ¶
func (in *StorageList) DeepCopy() *StorageList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageList.
func (*StorageList) DeepCopyInto ¶
func (in *StorageList) DeepCopyInto(out *StorageList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*StorageList) DeepCopyObject ¶
func (in *StorageList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SystemConfiguration ¶
type SystemConfiguration struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec SystemConfigurationSpec `json:"spec,omitempty"` Status SystemConfigurationStatus `json:"status,omitempty"` }
SystemConfiguration is the Schema for the systemconfigurations API
func (*SystemConfiguration) DeepCopy ¶
func (in *SystemConfiguration) DeepCopy() *SystemConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemConfiguration.
func (*SystemConfiguration) DeepCopyInto ¶
func (in *SystemConfiguration) DeepCopyInto(out *SystemConfiguration)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SystemConfiguration) DeepCopyObject ¶
func (in *SystemConfiguration) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SystemConfigurationComputeNode ¶
type SystemConfigurationComputeNode struct { // Name of the compute node Name string `json:"name"` }
SystemConfigurationComputeNode describes a compute node in the system
func (*SystemConfigurationComputeNode) DeepCopy ¶
func (in *SystemConfigurationComputeNode) DeepCopy() *SystemConfigurationComputeNode
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemConfigurationComputeNode.
func (*SystemConfigurationComputeNode) DeepCopyInto ¶
func (in *SystemConfigurationComputeNode) DeepCopyInto(out *SystemConfigurationComputeNode)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SystemConfigurationComputeNodeReference ¶
type SystemConfigurationComputeNodeReference struct { // Name of the compute node Name string `json:"name"` // Index of the compute node from the server Index int `json:"index"` }
SystemConfigurationComputeNodeReference describes a compute node that has access to a server.
func (*SystemConfigurationComputeNodeReference) DeepCopy ¶
func (in *SystemConfigurationComputeNodeReference) DeepCopy() *SystemConfigurationComputeNodeReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemConfigurationComputeNodeReference.
func (*SystemConfigurationComputeNodeReference) DeepCopyInto ¶
func (in *SystemConfigurationComputeNodeReference) DeepCopyInto(out *SystemConfigurationComputeNodeReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SystemConfigurationList ¶
type SystemConfigurationList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []SystemConfiguration `json:"items"` }
SystemConfigurationList contains a list of SystemConfiguration
func (*SystemConfigurationList) DeepCopy ¶
func (in *SystemConfigurationList) DeepCopy() *SystemConfigurationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemConfigurationList.
func (*SystemConfigurationList) DeepCopyInto ¶
func (in *SystemConfigurationList) DeepCopyInto(out *SystemConfigurationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SystemConfigurationList) DeepCopyObject ¶
func (in *SystemConfigurationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SystemConfigurationSpec ¶
type SystemConfigurationSpec struct { // ComputeNodes is the list of compute nodes on the system ComputeNodes []SystemConfigurationComputeNode `json:"computeNodes,omitempty"` // StorageNodes is the list of storage nodes on the system StorageNodes []SystemConfigurationStorageNode `json:"storageNodes,omitempty"` }
SystemConfigurationSpec describes the node layout of the system. This is filled in by an administrator at software installation time.
func (*SystemConfigurationSpec) DeepCopy ¶
func (in *SystemConfigurationSpec) DeepCopy() *SystemConfigurationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemConfigurationSpec.
func (*SystemConfigurationSpec) DeepCopyInto ¶
func (in *SystemConfigurationSpec) DeepCopyInto(out *SystemConfigurationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SystemConfigurationStatus ¶
type SystemConfigurationStatus struct { // Ready indicates when the SystemConfiguration has been reconciled Ready bool `json:"ready"` }
SystemConfigurationStatus defines the status of SystemConfiguration
func (*SystemConfigurationStatus) DeepCopy ¶
func (in *SystemConfigurationStatus) DeepCopy() *SystemConfigurationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemConfigurationStatus.
func (*SystemConfigurationStatus) DeepCopyInto ¶
func (in *SystemConfigurationStatus) DeepCopyInto(out *SystemConfigurationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SystemConfigurationStorageNode ¶
type SystemConfigurationStorageNode struct { // Type is the type of server Type string `json:"type"` // Name of the server node Name string `json:"name"` // ComputesAccess is the list of compute nodes that can use the server ComputesAccess []SystemConfigurationComputeNodeReference `json:"computesAccess,omitempty"` }
SystemConfigurationStorageNode describes a storage node in the system
func (*SystemConfigurationStorageNode) DeepCopy ¶
func (in *SystemConfigurationStorageNode) DeepCopy() *SystemConfigurationStorageNode
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemConfigurationStorageNode.
func (*SystemConfigurationStorageNode) DeepCopyInto ¶
func (in *SystemConfigurationStorageNode) DeepCopyInto(out *SystemConfigurationStorageNode)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ValidatingRuleParser ¶
type ValidatingRuleParser struct {
RuleList
}
ValidatingRuleParser provides the rulelist +kubebuilder:object:generate=false
func (*ValidatingRuleParser) MatchedDirective ¶
func (r *ValidatingRuleParser) MatchedDirective(workflow *Workflow, watchStates string, index int, label string)
MatchedDirective provides the interface function for the validating webhook
type Workflow ¶
type Workflow struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec WorkflowSpec `json:"spec,omitempty"` Status WorkflowStatus `json:"status,omitempty"` }
Workflow is the Schema for the workflows API
func (*Workflow) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Workflow.
func (*Workflow) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Workflow) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Workflow) Default ¶
func (w *Workflow) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type
func (*Workflow) SetupWebhookWithManager ¶
SetupWebhookWithManager connects the webhook with the manager
func (*Workflow) ValidateCreate ¶
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*Workflow) ValidateDelete ¶
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
type WorkflowDriverStatus ¶
type WorkflowDriverStatus struct { DriverID string `json:"driverID"` TaskID string `json:"taskID"` DWDIndex int `json:"dwdIndex"` WatchState WorkflowState `json:"watchState"` LastHB int64 `json:"lastHB"` Completed bool `json:"completed"` // User readable reason. // For the CDS driver, this could be the state of the underlying // data movement request: Pending, Queued, Running, Completed or Error // +kubebuilder:validation:Enum=Pending;Queued;Running;Completed;Error;DriverWait Status string `json:"status,omitempty"` Message string `json:"message,omitempty"` // Driver error string. This is not rolled up into the workflow's // overall status section Error string `json:"error,omitempty"` // CompleteTime reflects the time that the workflow reconciler marks the driver complete CompleteTime *metav1.MicroTime `json:"completeTime,omitempty"` }
WorkflowDriverStatus defines the status information provided by integration drivers.
func (*WorkflowDriverStatus) DeepCopy ¶
func (in *WorkflowDriverStatus) DeepCopy() *WorkflowDriverStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowDriverStatus.
func (*WorkflowDriverStatus) DeepCopyInto ¶
func (in *WorkflowDriverStatus) DeepCopyInto(out *WorkflowDriverStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkflowList ¶
type WorkflowList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Workflow `json:"items"` }
WorkflowList contains a list of Workflows
func (*WorkflowList) DeepCopy ¶
func (in *WorkflowList) DeepCopy() *WorkflowList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowList.
func (*WorkflowList) DeepCopyInto ¶
func (in *WorkflowList) DeepCopyInto(out *WorkflowList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*WorkflowList) DeepCopyObject ¶
func (in *WorkflowList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type WorkflowSpec ¶
type WorkflowSpec struct { // Desired state for the workflow to be in. Unless progressing to the teardown state, // this can only be set to the next state when the current desired state has been achieved. // +kubebuilder:validation:Enum:=Proposal;Setup;DataIn;PreRun;PostRun;DataOut;Teardown // +kubebuilder:validation:Type:=string DesiredState WorkflowState `json:"desiredState"` WLMID string `json:"wlmID"` JobID int `json:"jobID"` // UserID specifies the user ID for the workflow. The User ID is used by the various states // in the workflow to ensure the user has permissions to perform certain actions. Used in // conjunction with Group ID to run subtasks with UserID:GroupID credentials UserID uint32 `json:"userID"` // GroupID specifies the group ID for the workflow. The Group ID is used by the various states // in the workflow to ensure the group has permissions to perform certain actions. Used in // conjunction with User ID to run subtasks with UserID:GroupID credentials. GroupID uint32 `json:"groupID"` // Hurry indicates that the workflow's driver should kill the job in a hurry when this workflow enters its teardown state. // The driver must release all resources and unmount any filesystems that were mounted as part of the workflow, though some drivers would have done this anyway as part of their teardown state. // The driver must also kill any in-progress data transfers, or skip any data transfers that have not yet begun. // +kubebuilder:default:=false Hurry bool `json:"hurry,omitempty"` // List of #DW strings from a WLM job script DWDirectives []string `json:"dwDirectives"` }
WorkflowSpec defines the desired state of Workflow
func (*WorkflowSpec) DeepCopy ¶
func (in *WorkflowSpec) DeepCopy() *WorkflowSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowSpec.
func (*WorkflowSpec) DeepCopyInto ¶
func (in *WorkflowSpec) DeepCopyInto(out *WorkflowSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type WorkflowState ¶
type WorkflowState string
WorkflowState is the enumeration of the state of the workflow
const ( StateProposal WorkflowState = "Proposal" StateSetup WorkflowState = "Setup" StateDataIn WorkflowState = "DataIn" StatePreRun WorkflowState = "PreRun" StatePostRun WorkflowState = "PostRun" StateDataOut WorkflowState = "DataOut" StateTeardown WorkflowState = "Teardown" )
WorkflowState values
type WorkflowStatus ¶
type WorkflowStatus struct { // The state the resource is currently transitioning to. // Updated by the controller once started. State WorkflowState `json:"state"` // Ready can be 'True', 'False' // Indicates whether State has been reached. Ready bool `json:"ready"` // User readable reason and status message // +kubebuilder:validation:Enum=Completed;DriverWait;Error Status string `json:"status,omitempty"` Message string `json:"message,omitempty"` // Set of DW environment variable settings for WLM to apply to the job. // - DW_JOB_STRIPED // - DW_JOB_PRIVATE // - DW_JOB_STRIPED_CACHE // - DW_JOB_LDBAL_CACHE // - DW_PERSISTENT_STRIPED_{resname} Env map[string]string `json:"env,omitempty"` // List of registered drivers and related status. Updated by drivers. Drivers []WorkflowDriverStatus `json:"drivers,omitempty"` // List of #DW directive breakdowns indicating to WLM what to allocate on what Server // 1 DirectiveBreakdown per #DW Directive that requires storage DirectiveBreakdowns []corev1.ObjectReference `json:"directiveBreakdowns,omitempty"` // Reference to Computes Computes corev1.ObjectReference `json:"computes,omitempty"` // Time of the most recent desiredState change DesiredStateChange *metav1.MicroTime `json:"desiredStateChange,omitempty"` // Time of the most recent desiredState's achieving Ready status ReadyChange *metav1.MicroTime `json:"readyChange,omitempty"` // Duration of the last state change ElapsedTimeLastState string `json:"elapsedTimeLastState,omitempty"` }
WorkflowStatus defines the observed state of the Workflow
func (*WorkflowStatus) DeepCopy ¶
func (in *WorkflowStatus) DeepCopy() *WorkflowStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WorkflowStatus.
func (*WorkflowStatus) DeepCopyInto ¶
func (in *WorkflowStatus) DeepCopyInto(out *WorkflowStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
Source Files ¶
- clientmount_types.go
- computes_types.go
- directivebreakdown_types.go
- dwdirectiverule_types.go
- groupversion_info.go
- owner_labels.go
- persistentstorageinstance_types.go
- resource_error.go
- servers_types.go
- storage_types.go
- systemconfiguration_types.go
- workflow_types.go
- workflow_webhook.go
- zz_generated.deepcopy.go