Documentation ¶
Overview ¶
Package v1alpha2 contains API Schema definitions for the dws v1alpha2 API group +kubebuilder:object:generate=true +groupName=dataworkflowservices.github.io
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(ctx context.Context, o client.Object) []reconcile.Request
- func RemoveOwnerLabels(child metav1.Object)
- func SeverityStringToStatus(severity string) (string, error)
- type AllocationSetColocationConstraint
- type AllocationSetConstraints
- type AllocationStrategy
- type ClientMount
- func (in *ClientMount) DeepCopy() *ClientMount
- func (in *ClientMount) DeepCopyInto(out *ClientMount)
- func (in *ClientMount) DeepCopyObject() runtime.Object
- func (c *ClientMount) GetStatus() updater.Status[*ClientMountStatus]
- func (*ClientMount) Hub()
- func (r *ClientMount) SetupWebhookWithManager(mgr ctrl.Manager) error
- 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 ComputeLocationAccess
- type ComputeLocationConstraint
- type ComputeLocationPriority
- type ComputeLocationType
- type Computes
- type ComputesData
- type ComputesList
- type DWDirectiveRule
- type DWDirectiveRuleList
- type DeleteStatus
- type DirectiveBreakdown
- func (in *DirectiveBreakdown) DeepCopy() *DirectiveBreakdown
- func (in *DirectiveBreakdown) DeepCopyInto(out *DirectiveBreakdown)
- func (in *DirectiveBreakdown) DeepCopyObject() runtime.Object
- func (db *DirectiveBreakdown) GetStatus() updater.Status[*DirectiveBreakdownStatus]
- func (*DirectiveBreakdown) Hub()
- func (r *DirectiveBreakdown) SetupWebhookWithManager(mgr ctrl.Manager) error
- type DirectiveBreakdownList
- func (in *DirectiveBreakdownList) DeepCopy() *DirectiveBreakdownList
- func (in *DirectiveBreakdownList) DeepCopyInto(out *DirectiveBreakdownList)
- func (in *DirectiveBreakdownList) DeepCopyObject() runtime.Object
- func (d *DirectiveBreakdownList) GetObjectList() []client.Object
- func (*DirectiveBreakdownList) Hub()
- 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]
- func (*PersistentStorageInstance) Hub()
- func (r *PersistentStorageInstance) SetupWebhookWithManager(mgr ctrl.Manager) error
- 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
- func (*PersistentStorageInstanceList) Hub()
- 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) GetUserMessage() string
- func (e *ResourceErrorInfo) WithError(err error) *ResourceErrorInfo
- func (e *ResourceErrorInfo) WithFatal() *ResourceErrorInfo
- func (e *ResourceErrorInfo) WithInternal() *ResourceErrorInfo
- func (e *ResourceErrorInfo) WithMajor() *ResourceErrorInfo
- func (e *ResourceErrorInfo) WithMinor() *ResourceErrorInfo
- func (e *ResourceErrorInfo) WithUser() *ResourceErrorInfo
- func (e *ResourceErrorInfo) WithUserMessage(format string, a ...any) *ResourceErrorInfo
- func (e *ResourceErrorInfo) WithWLM() *ResourceErrorInfo
- type ResourceErrorSeverity
- type ResourceErrorType
- type ResourceState
- type ResourceStatus
- 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 StorageAccessProtocol
- type StorageAllocationSet
- type StorageBreakdown
- type StorageDevice
- type StorageList
- type StorageSpec
- type StorageStatus
- type StorageType
- type SystemConfiguration
- func (in *SystemConfiguration) Computes() []*string
- func (in *SystemConfiguration) ComputesExternal() []*string
- func (in *SystemConfiguration) DeepCopy() *SystemConfiguration
- func (in *SystemConfiguration) DeepCopyInto(out *SystemConfiguration)
- func (in *SystemConfiguration) DeepCopyObject() runtime.Object
- func (s *SystemConfiguration) GetStatus() updater.Status[*SystemConfigurationStatus]
- func (*SystemConfiguration) Hub()
- func (r *SystemConfiguration) SetupWebhookWithManager(mgr ctrl.Manager) error
- type SystemConfigurationComputeNodeReference
- type SystemConfigurationExternalComputeNode
- 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 (*Workflow) Hub()
- func (w *Workflow) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (w *Workflow) ValidateCreate() (admission.Warnings, error)
- func (w *Workflow) ValidateDelete() (admission.Warnings, error)
- func (w *Workflow) ValidateUpdate(old runtime.Object) (admission.Warnings, 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 ( OwnerKindLabel = "dataworkflowservices.github.io/owner.kind" OwnerNameLabel = "dataworkflowservices.github.io/owner.name" OwnerNamespaceLabel = "dataworkflowservices.github.io/owner.namespace" OwnerUidLabel = "dataworkflowservices.github.io/owner.uid" )
const ( // PersistentStorageNameLabel is defined for resources that relate to the name of a DWS PersistentStorageInstance PersistentStorageNameLabel = "dataworkflowservices.github.io/persistentstorage.name" // PersistentStorageNamespaceLabel is defined for resources that relate to the namespace of a DWS PersistentStorageInstance PersistentStorageNamespaceLabel = "dataworkflowservices.github.io/persistentstorage.namespace" )
const ( // WorkflowNameLabel is defined for resources that relate to the name of a DWS Workflow WorkflowNameLabel = "dataworkflowservices.github.io/workflow.name" // WorkflowNamespaceLabel is defined for resources that relate to the namespace of a DWS Workflow WorkflowNamespaceLabel = "dataworkflowservices.github.io/workflow.namespace" // WorkflowUIDLabel holds the UID of the parent workflow resource WorkflowUidLabel = "dataworkflowservices.github.io/workflow.uid" )
const ( StatusPending = "Pending" StatusQueued = "Queued" StatusRunning = "Running" StatusCompleted = "Completed" StatusTransientCondition = "TransientCondition" StatusError = "Error" StatusDriverWait = "DriverWait" )
Strings associated with workflow statuses
const ( // StorageTypeLabel is the label key used for tagging Storage resources // with a driver specific label. For example: dataworkflowservices.github.io/storage=Rabbit StorageTypeLabel = "dataworkflowservices.github.io/storage" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "dataworkflowservices.github.io", Version: "v1alpha2"} // 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 OwnerLabelMapFunc ¶
func RemoveOwnerLabels ¶
func SeverityStringToStatus ¶
SeverityStringToStatus will return a Status* string that goes with the given severity. An empty severity string will be considered a minor severity.
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"` // Scale is a hint for the number of allocations to make based on a 1-10 value // +kubebuilder:validation:Minimum:=1 // +kubebuilder:validation:Maximum:=10 Scale int `json:"scale,omitempty"` // Count is the number of the allocations to make // +kubebuilder:validation:Minimum:=1 Count int `json:"count,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]
func (*ClientMount) Hub ¶
func (*ClientMount) Hub()
func (*ClientMount) SetupWebhookWithManager ¶
func (r *ClientMount) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager will setup the manager to manage the webhooks
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"` // UserID to set for the mount UserID uint32 `json:"userID,omitempty"` // GroupID to set for the mount GroupID uint32 `json:"groupID,omitempty"` // SetPermissions will set UserID and GroupID on the mount if true SetPermissions bool `json:"setPermissions"` // 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.
func (*ClientMountList) Hub ¶
func (*ClientMountList) Hub()
The conversion-verifier tool wants these...though they're never used.
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"` // Rollup of each mounts ready status AllReady bool `json:"allReady"` // 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 ComputeLocationAccess ¶
type ComputeLocationAccess struct { // Type is the relationship between the compute nodes and the resource in the Reference // +kubebuilder:validation:Enum=physical;network Type ComputeLocationType `json:"type"` // Priority specifies whether the location constraint is mandatory or best effort // +kubebuilder:validation:Enum=mandatory;bestEffort Priority ComputeLocationPriority `json:"priority"` }
func (*ComputeLocationAccess) DeepCopy ¶
func (in *ComputeLocationAccess) DeepCopy() *ComputeLocationAccess
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComputeLocationAccess.
func (*ComputeLocationAccess) DeepCopyInto ¶
func (in *ComputeLocationAccess) DeepCopyInto(out *ComputeLocationAccess)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComputeLocationConstraint ¶
type ComputeLocationConstraint struct { Access []ComputeLocationAccess `json:"access"` // 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 ComputeLocationPriority ¶
type ComputeLocationPriority string
const ( ComputeLocationPriorityMandatory ComputeLocationPriority = "mandatory" ComputeLocationPriorityBestEffort ComputeLocationPriority = "bestEffort" )
type ComputeLocationType ¶
type ComputeLocationType string
const ( ComputeLocationNetwork ComputeLocationType = "network" ComputeLocationPhysical ComputeLocationType = "physical" )
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
func (*ComputesList) Hub ¶
func (*ComputesList) Hub()
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.
func (*DWDirectiveRule) Hub ¶
func (*DWDirectiveRule) Hub()
func (*DWDirectiveRule) SetupWebhookWithManager ¶
func (r *DWDirectiveRule) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager will setup the manager to manage the webhooks
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.
func (*DWDirectiveRuleList) Hub ¶
func (*DWDirectiveRuleList) Hub()
type DeleteStatus ¶
type DeleteStatus struct {
// contains filtered or unexported fields
}
DeleteStatus provides information about the status of DeleteChildren* operation +kubebuilder:object:generate=false +k8s:conversion-gen=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]
func (*DirectiveBreakdown) Hub ¶
func (*DirectiveBreakdown) Hub()
func (*DirectiveBreakdown) SetupWebhookWithManager ¶
func (r *DirectiveBreakdown) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager will setup the manager to manage the webhooks
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
func (*DirectiveBreakdownList) Hub ¶
func (*DirectiveBreakdownList) Hub()
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"` // RequiredDeamons tells the WLM about any driver-specific daemons it must enable for the job; it is assumed that the WLM knows about the driver-specific daemons and that if the users are specifying these then the WLM knows how to start them RequiredDaemons []string `json:"requiredDaemons,omitempty"` // 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 Status ResourceStatus `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]
func (*PersistentStorageInstance) Hub ¶
func (*PersistentStorageInstance) Hub()
func (*PersistentStorageInstance) SetupWebhookWithManager ¶
func (r *PersistentStorageInstance) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager will setup the manager to manage the webhooks
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.
func (*PersistentStorageInstanceList) Hub ¶
func (*PersistentStorageInstanceList) Hub()
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)
func (*ResourceError) SetResourceErrorAndLog ¶
func (e *ResourceError) SetResourceErrorAndLog(err error, log logr.Logger)
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"` // Internal or user error // +kubebuilder:validation:Enum=Internal;User;WLM Type ResourceErrorType `json:"type"` // Indication of how severe the error is. Minor will likely succeed, Major may // succeed, and Fatal will never succeed. // +kubebuilder:validation:Enum=Minor;Major;Fatal Severity ResourceErrorSeverity `json:"severity"` }
func NewResourceError ¶
func NewResourceError(format string, a ...any) *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) GetUserMessage ¶
func (e *ResourceErrorInfo) GetUserMessage() string
func (*ResourceErrorInfo) WithError ¶
func (e *ResourceErrorInfo) WithError(err error) *ResourceErrorInfo
func (*ResourceErrorInfo) WithFatal ¶
func (e *ResourceErrorInfo) WithFatal() *ResourceErrorInfo
func (*ResourceErrorInfo) WithInternal ¶
func (e *ResourceErrorInfo) WithInternal() *ResourceErrorInfo
func (*ResourceErrorInfo) WithMajor ¶
func (e *ResourceErrorInfo) WithMajor() *ResourceErrorInfo
func (*ResourceErrorInfo) WithMinor ¶
func (e *ResourceErrorInfo) WithMinor() *ResourceErrorInfo
func (*ResourceErrorInfo) WithUser ¶
func (e *ResourceErrorInfo) WithUser() *ResourceErrorInfo
func (*ResourceErrorInfo) WithUserMessage ¶
func (e *ResourceErrorInfo) WithUserMessage(format string, a ...any) *ResourceErrorInfo
A resource error can have an optional user message that is displayed in the workflow.Status.Message field. The user message of the lowest level error is all that's displayed.
func (*ResourceErrorInfo) WithWLM ¶
func (e *ResourceErrorInfo) WithWLM() *ResourceErrorInfo
type ResourceErrorSeverity ¶
type ResourceErrorSeverity string
const ( // Minor errors are very likely to eventually succeed (e.g., errors caused by a stale cache) // The WLM doesn't see these errors directly. The workflow stays in the DriverWait state, and // the error string is put in workflow.Status.Message. SeverityMinor ResourceErrorSeverity = "Minor" // Major errors may or may not succeed. These are transient errors that could be persistent // due to an underlying problem (e.g., errors from OS calls) SeverityMajor ResourceErrorSeverity = "Major" // Fatal errors will never succeed. This is for situations where we can guarantee that retrying // will not fix the error (e.g., a DW directive that is not valid) SeverityFatal ResourceErrorSeverity = "Fatal" )
func (ResourceErrorSeverity) ToStatus ¶
func (severity ResourceErrorSeverity) ToStatus() (string, error)
ToStatus will return a Status* string that goes with the given severity.
type ResourceErrorType ¶
type ResourceErrorType string
const ( // Internal errors are due to an error in the DWS/driver code TypeInternal ResourceErrorType = "Internal" // WLM errors are due to an error with the input from the WLM TypeWLM ResourceErrorType = "WLM" // User errors are due to an error with the input from a user TypeUser ResourceErrorType = "User" )
type ResourceState ¶
type ResourceState string
ResourceState is the enumeration of the state of a DWS resource +kubebuilder:validation:Enum:=Enabled;Disabled
const ( // Enabled means the resource shall be enabled. EnabledState ResourceState = "Enabled" // Disabled means the resource shall be disabled. DisabledState ResourceState = "Disabled" )
type ResourceStatus ¶
type ResourceStatus string
ResourceStatus is the enumeration of the status of a DWS resource +kubebuilder:validation:Enum:=Starting;Ready;Disabled;NotPresent;Offline;Failed;Degraded;Drained;Unknown
const ( // Starting means the resource is currently starting prior to becoming ready. StartingStatus ResourceStatus = "Starting" // Ready means the resource is fully operational and ready for use. ReadyStatus ResourceStatus = "Ready" // Disabled means the resource is present but disabled by an administrator or external // user. DisabledStatus ResourceStatus = "Disabled" // NotPresent means the resource is not present within the system, likely because // it is missing or powered down. This differs from the Offline state in that the // resource is not known to exist. NotPresentStatus ResourceStatus = "NotPresent" // Offline means the resource is offline and cannot be communicated with. This differs // from the NotPresent state in that the resource is known to exist. OfflineStatus ResourceStatus = "Offline" // Failed means the resource has failed during startup or execution. FailedStatus ResourceStatus = "Failed" // Degraded means the resource is ready but operating in a degraded state. Certain // recovery actions may alleviate a degraded status. DegradedStatus ResourceStatus = "Degraded" // Drained means the resource has had its pods drained from the node. DrainedStatus ResourceStatus = "Drained" // Unknown means the resource status is unknown. UnknownStatus ResourceStatus = "Unknown" )
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.
func (*ServersList) Hub ¶
func (*ServersList) Hub()
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"` // Error information ResourceError `json:",inline"` }
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"` Spec StorageSpec `json:"spec"` Status StorageStatus `json:"status,omitempty"` }
Storage is the Schema for the storages API
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 Protocol StorageAccessProtocol `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 StorageAccessProtocol ¶
type StorageAccessProtocol string
StorageAccessProtocol is the enumeration of supported protocols. +kubebuilder:validation:Enum:=PCIe
const (
PCIe StorageAccessProtocol = "PCIe"
)
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 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 Status ResourceStatus `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.
func (*StorageList) GetObjectList ¶ added in v0.1.6
func (s *StorageList) GetObjectList() []client.Object
func (*StorageList) Hub ¶
func (*StorageList) Hub()
type StorageSpec ¶
type StorageSpec struct { // State describes the desired state of the Storage resource. // +kubebuilder:default:=Enabled State ResourceState `json:"state,omitempty"` // Mode indicates whether the resource is live and is being updated // by the reconcilers or whether it is in testing mode and is being // updated manually. // +kubebuilder:validation:Enum:=Live;Testing // +kubebuilder:default:=Live Mode string `json:"mode,omitempty"` }
StorageSpec defines the desired specifications of Storage resource
func (*StorageSpec) DeepCopy ¶
func (in *StorageSpec) DeepCopy() *StorageSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageSpec.
func (*StorageSpec) DeepCopyInto ¶
func (in *StorageSpec) DeepCopyInto(out *StorageSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StorageStatus ¶
type StorageStatus struct { // Type describes what type of storage this is Type StorageType `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 Status ResourceStatus `json:"status,omitempty"` // Reboot Required is true if the node requires a reboot and false otherwise. A reboot my be // necessary to recover from certain hardware failures or high-availability clustering events. RebootRequired bool `json:"rebootRequired,omitempty"` // Message provides additional details on the current status of the resource Message string `json:"message,omitempty"` }
StorageData contains the data about the storage
func (*StorageStatus) DeepCopy ¶
func (in *StorageStatus) DeepCopy() *StorageStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageStatus.
func (*StorageStatus) DeepCopyInto ¶
func (in *StorageStatus) DeepCopyInto(out *StorageStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StorageType ¶
type StorageType string
StorageType is the enumeration of storage types. +kubebuilder:validation:Enum:=NVMe
const (
NVMe StorageType = "NVMe"
)
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) Computes ¶ added in v0.0.16
func (in *SystemConfiguration) Computes() []*string
Computes returns the names of the computes attached to Rabbit nodes
func (*SystemConfiguration) ComputesExternal ¶ added in v0.0.18
func (in *SystemConfiguration) ComputesExternal() []*string
ComputesExternal returns the names of the external compute nodes in the system
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.
func (*SystemConfiguration) GetStatus ¶
func (s *SystemConfiguration) GetStatus() updater.Status[*SystemConfigurationStatus]
func (*SystemConfiguration) Hub ¶
func (*SystemConfiguration) Hub()
func (*SystemConfiguration) SetupWebhookWithManager ¶
func (r *SystemConfiguration) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager will setup the manager to manage the webhooks
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 SystemConfigurationExternalComputeNode ¶ added in v0.0.16
type SystemConfigurationExternalComputeNode struct { // Name of the compute node Name string `json:"name"` }
SystemConfigurationExternalComputeNode describes a compute node that is not directly matched with any of the nodes in the StorageNodes list.
func (*SystemConfigurationExternalComputeNode) DeepCopy ¶ added in v0.0.16
func (in *SystemConfigurationExternalComputeNode) DeepCopy() *SystemConfigurationExternalComputeNode
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemConfigurationExternalComputeNode.
func (*SystemConfigurationExternalComputeNode) DeepCopyInto ¶ added in v0.0.16
func (in *SystemConfigurationExternalComputeNode) DeepCopyInto(out *SystemConfigurationExternalComputeNode)
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.
func (*SystemConfigurationList) Hub ¶
func (*SystemConfigurationList) Hub()
type SystemConfigurationSpec ¶
type SystemConfigurationSpec struct { // ExternalComputeNodes is the list of compute nodes that are not // directly matched with any of the StorageNodes. ExternalComputeNodes []SystemConfigurationExternalComputeNode `json:"externalComputeNodes,omitempty"` // StorageNodes is the list of storage nodes on the system StorageNodes []SystemConfigurationStorageNode `json:"storageNodes,omitempty"` // Ports is the list of ports available for communication between nodes in the system. // Valid values are single integers, or a range of values of the form "START-END" where // START is an integer value that represents the start of a port range and END is an // integer value that represents the end of the port range (inclusive). Ports []intstr.IntOrString `json:"ports,omitempty"` // PortsCooldownInSeconds is the number of seconds to wait before a port can be reused. Defaults // to 60 seconds (to match the typical value for the kernel's TIME_WAIT). A value of 0 means the // ports can be reused immediately. // +kubebuilder:default:=60 PortsCooldownInSeconds int `json:"portsCooldownInSeconds"` }
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"` // Error information ResourceError `json:",inline"` }
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 will setup the manager to manage the webhooks
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 // +kubebuilder:validation:Enum=Pending;Queued;Running;Completed;TransientCondition;Error;DriverWait Status string `json:"status,omitempty"` // Message provides additional details on the current status of the resource 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.
func (*WorkflowList) Hub ¶
func (*WorkflowList) Hub()
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. DesiredState WorkflowState `json:"desiredState"` // WLMID identifies the Workflow Manager (WLM), and is set by the WLM // when it creates the workflow resource. WLMID string `json:"wlmID"` // JobID is the WLM job ID that corresponds to this workflow, and is // set by the WLM when it creates the workflow resource. JobID intstr.IntOrString `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 +kubebuilder:validation:Enum:=Proposal;Setup;DataIn;PreRun;PostRun;DataOut;Teardown
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,omitempty"` // Ready can be 'True', 'False' // Indicates whether State has been reached. Ready bool `json:"ready"` // User readable reason and status message. // - Completed: The workflow has reached the state in workflow.Status.State. // - DriverWait: The underlying drivers are currently running. // - TransientCondition: A driver has encountered an error that might be recoverable. // - Error: A driver has encountered an error that will not recover. // +kubebuilder:validation:Enum=Completed;DriverWait;TransientCondition;Error Status string `json:"status,omitempty"` // Message provides additional details on the current status of the resource 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
- clientmount_webhook.go
- computes_types.go
- computes_webhook.go
- conversion.go
- directivebreakdown_types.go
- directivebreakdown_webhook.go
- dwdirectiverule_types.go
- dwdirectiverule_webhook.go
- groupversion_info.go
- owner_labels.go
- persistentstorageinstance_types.go
- persistentstorageinstance_webhook.go
- resource.go
- resource_error.go
- servers_types.go
- servers_webhook.go
- storage_types.go
- storage_webhook.go
- systemconfiguration_types.go
- systemconfiguration_webhook.go
- workflow_types.go
- workflow_webhook.go
- zz_generated.deepcopy.go