v1alpha1

package
v0.1.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 28, 2024 License: Apache-2.0 Imports: 19 Imported by: 2

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the nnf v1alpha1 API group +kubebuilder:object:generate=true +groupName=nnf.cray.hpe.com

Index

Constants

View Source
const (
	// The required namespace for an NNF Data Movement operation. This is for system wide (lustre)
	// data movement.  Individual nodes may also perform data movement in which case they use the
	// NNF Node Name as the namespace.
	DataMovementNamespace = "nnf-dm-system"

	// The name of the default profile stored in the nnf-dm-config ConfigMap that is used to
	// configure Data Movement.
	DataMovementProfileDefault = "default"
)
View Source
const (
	DataMovementConditionTypeStarting = "Starting"
	DataMovementConditionTypeRunning  = "Running"
	DataMovementConditionTypeFinished = "Finished"
)

Types describing the various data movement status conditions.

View Source
const (
	DataMovementConditionReasonSuccess   = "Success"
	DataMovementConditionReasonFailed    = "Failed"
	DataMovementConditionReasonInvalid   = "Invalid"
	DataMovementConditionReasonCancelled = "Cancelled"
)

Reasons describing the various data movement status conditions. Must be in CamelCase format (see metav1.Condition)

View Source
const (
	DataMovementWorkerLabel = "dm.cray.hpe.com/worker"

	// The name of the expected Data Movement manager. This is to ensure Data Movement is ready in
	// the DataIn/DataOut stages before attempting data movement operations.
	DataMovementManagerName = "nnf-dm-manager-controller-manager"
)
View Source
const (
	ConditionIndexCreateStoragePool = iota
	ConditionIndexDeleteStoragePool
	ConditionIndexCreateStorageGroup
	ConditionIndexCreateFileSystem
	ConditionIndexCreateFileShare
	ConditionIndexGetResource
	ConditionIndexInvalidResource

	ConditionCreateStoragePool  = "CreateStoragePool"
	ConditionDeleteStoragePool  = "DeleteStoragePool"
	ConditionCreateStorageGroup = "CreateStorageGroup"
	ConditionCreateFileSystem   = "CreateFileSystem"
	ConditionCreateFileShare    = "CreateFileShare"
	ConditionGetResource        = "GetResource"
	ConditionInvalidResource    = "InvalidResource"
)

Types define the condition type that is recorded by the system. Each storage resource defines an array of conditions as state transitions. Entry into and out of the state is recorded by the metav1.ConditionStatus. Order must be preserved and consistent between the Index and string values.

View Source
const (
	ConditionUnknown = "Unknown"
	ConditionFailed  = "Failed"
	ConditionInvalid = "Invalid"
	ConditionSuccess = "Success"
)

Reason implements the Reason field of a metav1.Condition. In accordance with the metav1.Condition, the value should be a CamelCase string and may not be empty.

View Source
const (
	// ResourceOkay is SF health OK
	ResourceOkay NnfResourceHealthType = NnfResourceHealthType(sf.OK_RH)

	// ResourceWarning is SF health WARNING
	ResourceWarning = NnfResourceHealthType(sf.WARNING_RH)

	// ResourceCritical is SF health CRITICAL
	ResourceCritical = NnfResourceHealthType(sf.CRITICAL_RH)
)
View Source
const (

	// ResourceEnable means this static NNF resource should be enabled.
	ResourceEnable NnfResourceStateType = "Enable"

	// ResourceDisable means this static NNF resource should be disabled. Not all static resources can be disabled.
	ResourceDisable = "Disable"

	// ResourceCreate means the resource should be created and enabled for operation. For a newly
	// created resource, the default state is create.
	ResourceCreate NnfResourceStateType = "Create"

	// ResourceDestroy means the resource should be released from the allocated resource pool, and
	// this resource and all child resources will be released to the free resource pools
	// managed by the system.
	ResourceDestroy = "Destroy"
)
View Source
const (

	// ResourceEnabled means the static NNF resource is enabled and ready to fullfil requests for
	// managed resources.
	ResourceEnabled NnfResourceStatusType = NnfResourceStatusType(sf.ENABLED_RST)

	// ResourceDisabled means the static NNF resource is present but disabled and not available for use
	ResourceDisabled = NnfResourceStatusType(sf.DISABLED_RST)

	// ResourceNotPresent means the static NNF resource is not found; likely because it is disconnected
	// or in a powered down state.
	ResourceNotPresent = "NotPresent"

	// ResourceOffline means the static NNF resource is offline and the NNF Node cannot communicate with
	// the resource. This differs from a NotPresent status in that the device is known to exist.
	ResourceOffline = "Offline"

	// ResourceStarting means the NNF resource is currently in the process of starting - resources
	// are being prepared for transition to an Active state.
	ResourceStarting = NnfResourceStatusType(sf.STARTING_RST)

	// ResourceDeleting means the NNF resource is currently in the process of being deleted - the resource
	// and all child resources are being returned to the NNF node's free resources. Upon a successful
	// deletion, the resource will be removed from the list of managed NNF resources
	ResourceDeleting = "Deleting"

	// ResourceDeleted means the NNF resource was deleted. This reflects the state where the NNF resource does
	// not exist in the NNF space, but the resource might still exist in Kubernetes. A resource in
	// this state suggests that Kubernetes is unable to delete the object.
	ResourceDeleted = "Deleted"

	// ResourceReady means the NNF resource is ready for use.
	ResourceReady = "Ready"

	// ResourceFailed means the NNF resource has failed during startup or execution. A failed state is
	// an unrecoverable condition. Additional information about the Failed cause can be found by
	// looking at the owning resource's Conditions field. A failed resource can only be removed
	// by transition to a Delete state.
	ResourceFailed = "Failed"

	// ResourceInvalid means the NNF resource configuration is invalid due to an improper format or arrangement
	// of listed resource parameters.
	ResourceInvalid = "Invalid"
)
View Source
const (
	ContainerLabel   = "nnf.cray.hpe.com/container"
	ContainerUser    = "user"
	ContainerMPIUser = "mpiuser"
)
View Source
const (
	// DirectiveIndexLabel is a label applied to child objects of the workflow
	// to show which directive they were created for. This is useful during deletion
	// to filter the child objects by the directive index and only delete the
	// resources for the directive being processed
	DirectiveIndexLabel = "nnf.cray.hpe.com/directive_index"

	// TargetDirectiveIndexLabel is used for ClientMount resources to indicate the
	// directive index of the storage they're targeting.
	TargetDirectiveIndexLabel = "nnf.cray.hpe.com/target_directive_index"

	// TargetOwnerUidLabel is used for ClientMount resources to indicate the UID of the
	// parent NnfStorage it's targeting
	TargetOwnerUidLabel = "nnf.cray.hpe.com/target_owner_uid"

	// PinnedStorageProfileLabelName is a label applied to NnfStorage objects to show
	// which pinned storage profile is being used.
	PinnedStorageProfileLabelName = "nnf.cray.hpe.com/pinned_storage_profile_name"

	// PinnedStorageProfileLabelNameSpace is a label applied to NnfStorage objects to show
	// which pinned storage profile is being used.
	PinnedStorageProfileLabelNameSpace = "nnf.cray.hpe.com/pinned_storage_profile_namespace"

	// PinnedContainerProfileLabelName is a label applied to NnfStorage objects to show
	// which pinned container profile is being used.
	PinnedContainerProfileLabelName = "nnf.cray.hpe.com/pinned_container_profile_name"

	// PinnedContainerProfileLabelNameSpace is a label applied to NnfStorage objects to show
	// which pinned container profile is being used.
	PinnedContainerProfileLabelNameSpace = "nnf.cray.hpe.com/pinned_container_profile_namespace"

	// StandaloneMGTLabel is a label applied to the PersistentStorageInstance to show that
	// it is for a Lustre MGT only. The value for the label is the pool name.
	StandaloneMGTLabel = "nnf.cray.hpe.com/standalone_mgt"

	// RabbitNodeSelectorLabel is a label applied to each k8s Node that is a Rabbit.
	// It is used for scheduling NLCs onto the rabbits.
	// (This is left in its legacy form because so many existing services are
	// using it in their nodeSelector.)
	RabbitNodeSelectorLabel = "cray.nnf.node"

	// TaintsAndLabelsCompletedLabel is a label applied to each k8s Node that is a Rabbit.
	// It is used to indicate that the node has completed the process of applying
	// the taints and labels that mark it as a rabbit.
	TaintsAndLabelsCompletedLabel = "nnf.cray.hpe.com/taints_and_labels_completed"

	// RabbitNodeTaintKey is a taint key applied to each k8s Node that is a Rabbit.
	// It is used for scheduling NLCs onto the rabbits.
	// (This is left in its legacy form to avoid having existing clusters,
	// which already have this taint, grind to a halt.)
	RabbitNodeTaintKey = "cray.nnf.node"
)
View Source
const (
	AllocationSetLabel = "nnf.cray.hpe.com/allocationset"
)
View Source
const (
	// DataMovementTeardownStateLabel is the label applied to Data Movement and related resources that describes
	// the workflow state when the resource is no longer need and can be safely deleted.
	DataMovementTeardownStateLabel = "nnf.cray.hpe.com/teardown_state"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "nnf.cray.hpe.com", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

func AddDataMovementTeardownStateLabel

func AddDataMovementTeardownStateLabel(object metav1.Object, state dwsv1alpha2.WorkflowState)

func NewConditions

func NewConditions() []metav1.Condition

NewConditions generates a new conditions array for NNFNodeStorage

func SetGetResourceFailureCondition

func SetGetResourceFailureCondition(c []metav1.Condition, err error)

SetGetResourceFailureCondition sets/gets the specified condition to failed

func SetResourceInvalidCondition

func SetResourceInvalidCondition(c []metav1.Condition, err error)

SetResourceInvalidCondition sets/gets the specified condition to invalid

Types

type LustreStorageSpec

type LustreStorageSpec struct {
	// FileSystemName is the fsname parameter for the Lustre filesystem.
	// +kubebuilder:validation:MaxLength:=8
	FileSystemName string `json:"fileSystemName,omitempty"`

	// TargetType is the type of Lustre target to be created.
	// +kubebuilder:validation:Enum=mgt;mdt;mgtmdt;ost
	TargetType string `json:"targetType,omitempty"`

	// StartIndex is used to order a series of MDTs or OSTs.  This is used only
	// when creating MDT and OST targets. If count in the NnfNodeStorageSpec is more
	// than 1, then StartIndex is the index of the first allocation, and the indexes
	// increment from there.
	// +kubebuilder:validation:Minimum:=0
	StartIndex int `json:"startIndex,omitempty"`

	// MgsAddress is the NID of the MGS to use. This is used only when
	// creating MDT and OST targets.
	MgsAddress string `json:"mgsAddress,omitempty"`

	// BackFs is the type of backing filesystem to use.
	// +kubebuilder:validation:Enum=ldiskfs;zfs
	BackFs string `json:"backFs,omitempty"`
}

LustreStorageSpec describes the Lustre target to be created here.

func (*LustreStorageSpec) DeepCopy

func (in *LustreStorageSpec) DeepCopy() *LustreStorageSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LustreStorageSpec.

func (*LustreStorageSpec) DeepCopyInto

func (in *LustreStorageSpec) DeepCopyInto(out *LustreStorageSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfAccess

type NnfAccess struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   NnfAccessSpec   `json:"spec,omitempty"`
	Status NnfAccessStatus `json:"status,omitempty"`
}

NnfAccess is the Schema for the nnfaccesses API

func (*NnfAccess) DeepCopy

func (in *NnfAccess) DeepCopy() *NnfAccess

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfAccess.

func (*NnfAccess) DeepCopyInto

func (in *NnfAccess) DeepCopyInto(out *NnfAccess)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NnfAccess) DeepCopyObject

func (in *NnfAccess) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*NnfAccess) GetStatus

func (a *NnfAccess) GetStatus() updater.Status[*NnfAccessStatus]

type NnfAccessList

type NnfAccessList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []NnfAccess `json:"items"`
}

NnfAccessList contains a list of NnfAccess

func (*NnfAccessList) DeepCopy

func (in *NnfAccessList) DeepCopy() *NnfAccessList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfAccessList.

func (*NnfAccessList) DeepCopyInto

func (in *NnfAccessList) DeepCopyInto(out *NnfAccessList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NnfAccessList) DeepCopyObject

func (in *NnfAccessList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*NnfAccessList) GetObjectList

func (n *NnfAccessList) GetObjectList() []client.Object

type NnfAccessSpec

type NnfAccessSpec struct {
	// DesiredState is the desired state for the mounts on the client
	// +kubebuilder:validation:Enum=mounted;unmounted
	DesiredState string `json:"desiredState"`

	// TeardownState is the desired state of the workflow for this NNF Access resource to
	// be torn down and deleted.
	// +kubebuilder:validation:Enum:=PreRun;PostRun;Teardown
	// +kubebuilder:validation:Type:=string
	TeardownState dwsv1alpha2.WorkflowState `json:"teardownState"`

	// Target specifies which storage targets the client should mount
	// - single: Only one of the storage the client can access
	// - all: All of the storage the client can access
	// +kubebuilder:validation:Enum=single;all
	Target string `json:"target"`

	// UserID for the new mount. Currently only used for raw
	UserID uint32 `json:"userID"`

	// GroupID for the new mount. Currently only used for raw
	GroupID uint32 `json:"groupID"`

	// ClientReference is for a client resource. (DWS) Computes is the only client
	// resource type currently supported
	ClientReference corev1.ObjectReference `json:"clientReference,omitempty"`

	// MountPath for the storage target on the client
	MountPath string `json:"mountPath,omitempty"`

	// MountPathPrefix to  mount the storage target on the client when there is
	// more than one mount on a client
	MountPathPrefix string `json:"mountPathPrefix,omitempty"`

	// StorageReference is the NnfStorage reference
	StorageReference corev1.ObjectReference `json:"storageReference"`
}

NnfAccessSpec defines the desired state of NnfAccess

func (*NnfAccessSpec) DeepCopy

func (in *NnfAccessSpec) DeepCopy() *NnfAccessSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfAccessSpec.

func (*NnfAccessSpec) DeepCopyInto

func (in *NnfAccessSpec) DeepCopyInto(out *NnfAccessSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfAccessStatus

type NnfAccessStatus struct {
	// State is the current state
	// +kubebuilder:validation:Enum=mounted;unmounted
	State string `json:"state"`

	// Ready signifies whether status.state has been achieved
	Ready bool `json:"ready"`

	dwsv1alpha2.ResourceError `json:",inline"`
}

NnfAccessStatus defines the observed state of NnfAccess

func (*NnfAccessStatus) DeepCopy

func (in *NnfAccessStatus) DeepCopy() *NnfAccessStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfAccessStatus.

func (*NnfAccessStatus) DeepCopyInto

func (in *NnfAccessStatus) DeepCopyInto(out *NnfAccessStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfContainerProfile added in v0.0.2

type NnfContainerProfile struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Data NnfContainerProfileData `json:"data"`
}

NnfContainerProfile is the Schema for the nnfcontainerprofiles API

func (*NnfContainerProfile) DeepCopy added in v0.0.2

func (in *NnfContainerProfile) DeepCopy() *NnfContainerProfile

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfContainerProfile.

func (*NnfContainerProfile) DeepCopyInto added in v0.0.2

func (in *NnfContainerProfile) DeepCopyInto(out *NnfContainerProfile)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NnfContainerProfile) DeepCopyObject added in v0.0.2

func (in *NnfContainerProfile) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*NnfContainerProfile) SetupWebhookWithManager added in v0.0.2

func (r *NnfContainerProfile) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*NnfContainerProfile) ValidateCreate added in v0.0.2

func (r *NnfContainerProfile) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*NnfContainerProfile) ValidateDelete added in v0.0.2

func (r *NnfContainerProfile) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*NnfContainerProfile) ValidateUpdate added in v0.0.2

func (r *NnfContainerProfile) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type NnfContainerProfileData added in v0.0.2

type NnfContainerProfileData struct {
	// Pinned is true if this instance is an immutable copy
	// +kubebuilder:default:=false
	Pinned bool `json:"pinned,omitempty"`

	// List of possible filesystems supported by this container profile
	Storages []NnfContainerProfileStorage `json:"storages,omitempty"`

	// Containers are launched in the PreRun state. Allow this many seconds for the containers to
	// start before declaring an error to the workflow.
	// Defaults to 60 if not set. A value of 0 disables this behavior.
	// +kubebuilder:default:=60
	// +kubebuilder:validation:Minimum:=0
	PreRunTimeoutSeconds *int64 `json:"preRunTimeoutSeconds,omitempty"`

	// Containers are expected to complete in the PostRun State. Allow this many seconds for the
	// containers to exit before declaring an error the workflow.
	// Defaults to 60 if not set. A value of 0 disables this behavior.
	// +kubebuilder:default:=60
	// +kubebuilder:validation:Minimum:=0
	PostRunTimeoutSeconds *int64 `json:"postRunTimeoutSeconds,omitempty"`

	// Specifies the number of times a container will be retried upon a failure. A new pod is
	// deployed on each retry. Defaults to 6 by kubernetes itself and must be set. A value of 0
	// disables retries.
	// +kubebuilder:validation:Minimum:=0
	// +kubebuilder:default:=6
	RetryLimit int32 `json:"retryLimit"`

	// UserID specifies the user ID that is allowed to use this profile. If this is specified, only
	// Workflows that have a matching user ID can select this profile.
	UserID *uint32 `json:"userID,omitempty"`

	// GroupID specifies the group ID that is allowed to use this profile. If this is specified,
	// only Workflows that have a matching group ID can select this profile.
	GroupID *uint32 `json:"groupID,omitempty"`

	// Number of ports to open for communication with the user container. These ports are opened on
	// the targeted NNF nodes and can be accessed outside of the k8s cluster (e.g. compute nodes).
	// The requested ports are made available as environment variables inside the container and in
	// the DWS workflow (NNF_CONTAINER_PORTS).
	NumPorts int32 `json:"numPorts,omitempty"`

	// Spec to define the containers created from this profile. This is used for non-MPI containers.
	// Refer to the K8s documentation for `PodSpec` for more definition:
	// https://kubernetes.io/docs/reference/kubernetes-api/workload-resources/pod-v1/#PodSpec
	// Either this or MPISpec must be provided, but not both.
	Spec *corev1.PodSpec `json:"spec,omitempty"`

	// MPIJobSpec to define the MPI containers created from this profile. This functionality is
	// provided via mpi-operator, a 3rd party tool to assist in running MPI applications across
	// worker containers.
	// Either this or Spec must be provided, but not both.
	//
	// All the fields defined drive mpi-operator behavior. See the type definition of MPISpec for
	// more detail:
	// https://github.com/kubeflow/mpi-operator/blob/v0.4.0/pkg/apis/kubeflow/v2beta1/types.go#L137
	//
	// Note: most of these fields are fully customizable with a few exceptions. These fields are
	// overridden by NNF software to ensure proper behavior to interface with the DWS workflow
	// - Replicas
	// - RunPolicy.BackoffLimit (this is set above by `RetryLimit`)
	// - Worker/Launcher.RestartPolicy
	MPISpec *mpiv2beta1.MPIJobSpec `json:"mpiSpec,omitempty"`
}

NnfContainerProfileSpec defines the desired state of NnfContainerProfile

func (*NnfContainerProfileData) DeepCopy added in v0.0.2

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfContainerProfileData.

func (*NnfContainerProfileData) DeepCopyInto added in v0.0.2

func (in *NnfContainerProfileData) DeepCopyInto(out *NnfContainerProfileData)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfContainerProfileList added in v0.0.2

type NnfContainerProfileList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []NnfContainerProfile `json:"items"`
}

NnfContainerProfileList contains a list of NnfContainerProfile

func (*NnfContainerProfileList) DeepCopy added in v0.0.2

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfContainerProfileList.

func (*NnfContainerProfileList) DeepCopyInto added in v0.0.2

func (in *NnfContainerProfileList) DeepCopyInto(out *NnfContainerProfileList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NnfContainerProfileList) DeepCopyObject added in v0.0.2

func (in *NnfContainerProfileList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NnfContainerProfileStorage added in v0.0.2

type NnfContainerProfileStorage struct {
	// Name specifies the name of the mounted filesystem; must match the user supplied #DW directive
	Name string `json:"name"`

	// Optional designates that this filesystem is available to be mounted, but can be ignored by
	// the user not supplying this filesystem in the #DW directives
	//+kubebuilder:default:=false
	Optional bool `json:"optional"`

	// For DW_GLOBAL_ (global lustre) storages, the access mode must match what is configured in
	// the LustreFilesystem resource for the namespace. Defaults to `ReadWriteMany` for global
	// lustre, otherwise empty.
	PVCMode corev1.PersistentVolumeAccessMode `json:"pvcMode,omitempty"`
}

NnfContainerProfileStorage defines the mount point information that will be available to the container

func (*NnfContainerProfileStorage) DeepCopy added in v0.0.2

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfContainerProfileStorage.

func (*NnfContainerProfileStorage) DeepCopyInto added in v0.0.2

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfDataMovement

type NnfDataMovement struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   NnfDataMovementSpec   `json:"spec,omitempty"`
	Status NnfDataMovementStatus `json:"status,omitempty"`
}

NnfDataMovement is the Schema for the nnfdatamovements API

func (*NnfDataMovement) DeepCopy

func (in *NnfDataMovement) DeepCopy() *NnfDataMovement

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfDataMovement.

func (*NnfDataMovement) DeepCopyInto

func (in *NnfDataMovement) DeepCopyInto(out *NnfDataMovement)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NnfDataMovement) DeepCopyObject

func (in *NnfDataMovement) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NnfDataMovementCommandStatus

type NnfDataMovementCommandStatus struct {
	// The command that was executed during data movement.
	Command string `json:"command,omitempty"`

	// ElapsedTime reflects the elapsed time since the underlying data movement command started.
	ElapsedTime metav1.Duration `json:"elapsedTime,omitempty"`

	// Progress refects the progress of the underlying data movement command as captured from standard output.
	// A best effort is made to parse the command output as a percentage. If no progress has
	// yet to be measured than this field is omitted. If the latest command output does not
	// contain a valid percentage, then the value is unchanged from the previously parsed value.
	ProgressPercentage *int32 `json:"progress,omitempty"`

	// LastMessage reflects the last message received over standard output or standard error as
	// captured by the underlying data movement command.
	LastMessage string `json:"lastMessage,omitempty"`

	// LastMessageTime reflects the time at which the last message was received over standard output or
	// standard error by the underlying data movement command.
	LastMessageTime metav1.MicroTime `json:"lastMessageTime,omitempty"`
}

NnfDataMovementCommandStatus defines the observed status of the underlying data movement command (MPI File Utils' `dcp` command).

func (*NnfDataMovementCommandStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfDataMovementCommandStatus.

func (*NnfDataMovementCommandStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfDataMovementConfig added in v0.0.2

type NnfDataMovementConfig struct {

	// Fake the Data Movement operation. The system "performs" Data Movement but the command to do so
	// is trivial. This means a Data Movement request is still submitted but the IO is skipped.
	// +kubebuilder:default:=false
	Dryrun bool `json:"dryrun,omitempty"`

	// Extra options to pass to the dcp command (used to perform data movement).
	DCPOptions string `json:"dcpOptions,omitempty"`

	// If true, enable the command's stdout to be saved in the log when the command completes
	// successfully. On failure, the output is always logged.
	// Note: Enabling this option may degrade performance.
	// +kubebuilder:default:=false
	LogStdout bool `json:"logStdout,omitempty"`

	// Similar to LogStdout, store the command's stdout in Status.Message when the command completes
	// successfully. On failure, the output is always stored.
	// Note: Enabling this option may degrade performance.
	// +kubebuilder:default:=false
	StoreStdout bool `json:"storeStdout,omitempty"`

	// The number of slots specified in the MPI hostfile. A value of 0 disables the use of slots in
	// the hostfile. Nil will defer to the value specified in the nnf-dm-config ConfigMap.
	Slots *int `json:"slots,omitempty"`

	// The number of max_slots specified in the MPI hostfile. A value of 0 disables the use of slots
	// in the hostfile. Nil will defer to the value specified in the nnf-dm-config ConfigMap.
	MaxSlots *int `json:"maxSlots,omitempty"`
}

NnfDataMovementConfig provides a way for a user to override the data movement behavior on a per DM basis.

func (*NnfDataMovementConfig) DeepCopy added in v0.0.2

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfDataMovementConfig.

func (*NnfDataMovementConfig) DeepCopyInto added in v0.0.2

func (in *NnfDataMovementConfig) DeepCopyInto(out *NnfDataMovementConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfDataMovementList

type NnfDataMovementList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []NnfDataMovement `json:"items"`
}

NnfDataMovementList contains a list of NnfDataMovement

func (*NnfDataMovementList) DeepCopy

func (in *NnfDataMovementList) DeepCopy() *NnfDataMovementList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfDataMovementList.

func (*NnfDataMovementList) DeepCopyInto

func (in *NnfDataMovementList) DeepCopyInto(out *NnfDataMovementList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NnfDataMovementList) DeepCopyObject

func (in *NnfDataMovementList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*NnfDataMovementList) GetObjectList

func (n *NnfDataMovementList) GetObjectList() []client.Object

type NnfDataMovementManager added in v0.1.0

type NnfDataMovementManager struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   NnfDataMovementManagerSpec   `json:"spec,omitempty"`
	Status NnfDataMovementManagerStatus `json:"status,omitempty"`
}

NnfDataMovementManager is the Schema for the nnfdatamovementmanagers API

func (*NnfDataMovementManager) DeepCopy added in v0.1.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfDataMovementManager.

func (*NnfDataMovementManager) DeepCopyInto added in v0.1.0

func (in *NnfDataMovementManager) DeepCopyInto(out *NnfDataMovementManager)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NnfDataMovementManager) DeepCopyObject added in v0.1.0

func (in *NnfDataMovementManager) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*NnfDataMovementManager) GetStatus added in v0.1.0

type NnfDataMovementManagerList added in v0.1.0

type NnfDataMovementManagerList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []NnfDataMovementManager `json:"items"`
}

NnfDataMovementManagerList contains a list of NnfDataMovementManager

func (*NnfDataMovementManagerList) DeepCopy added in v0.1.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfDataMovementManagerList.

func (*NnfDataMovementManagerList) DeepCopyInto added in v0.1.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NnfDataMovementManagerList) DeepCopyObject added in v0.1.0

func (in *NnfDataMovementManagerList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NnfDataMovementManagerSpec added in v0.1.0

type NnfDataMovementManagerSpec struct {

	// Selector defines the pod selector used in scheduling the worker nodes. This value is duplicated
	// to the template.spec.metadata.labels to satisfy the requirements of the worker's Daemon Set.
	Selector metav1.LabelSelector `json:"selector"`

	// Template defines the pod template that is used for the basis of the worker Daemon Set that
	// manages the per node data movement operations.
	Template corev1.PodTemplateSpec `json:"template"`

	// UpdateStrategy defines the UpdateStrategy that is used for the basis of the worker Daemon Set
	// that manages the per node data movement operations.
	UpdateStrategy appsv1.DaemonSetUpdateStrategy `json:"updateStrategy"`

	// Host Path defines the directory location of shared mounts on an individual worker node.
	HostPath string `json:"hostPath"`

	// Mount Path defines the location within the container at which the Host Path volume should be mounted.
	MountPath string `json:"mountPath"`
}

NnfDataMovementManagerSpec defines the desired state of NnfDataMovementManager

func (*NnfDataMovementManagerSpec) DeepCopy added in v0.1.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfDataMovementManagerSpec.

func (*NnfDataMovementManagerSpec) DeepCopyInto added in v0.1.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfDataMovementManagerStatus added in v0.1.0

type NnfDataMovementManagerStatus struct {

	// Ready indicates that the Data Movement Manager has achieved the desired readiness state
	// and all managed resources are initialized.
	// +kubebuilder:default:=false
	Ready bool `json:"ready"`
}

NnfDataMovementManagerStatus defines the observed state of NnfDataMovementManager

func (*NnfDataMovementManagerStatus) DeepCopy added in v0.1.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfDataMovementManagerStatus.

func (*NnfDataMovementManagerStatus) DeepCopyInto added in v0.1.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfDataMovementSpec

type NnfDataMovementSpec struct {

	// Source describes the source of the data movement operation
	Source *NnfDataMovementSpecSourceDestination `json:"source,omitempty"`

	// Destination describes the destination of the data movement operation
	Destination *NnfDataMovementSpecSourceDestination `json:"destination,omitempty"`

	// User Id specifies the user ID for the data movement operation. This value is used
	// in conjunction with the group ID to ensure the user has valid permissions to perform
	// the data movement operation.
	UserId uint32 `json:"userId,omitempty"`

	// Group Id specifies the group ID for the data movement operation. This value is used
	// in conjunction with the user ID to ensure the user has valid permissions to perform
	// the data movement operation.
	GroupId uint32 `json:"groupId,omitempty"`

	// Set to true if the data movement operation should be canceled.
	// +kubebuilder:default:=false
	Cancel bool `json:"cancel,omitempty"`

	// Profile specifies the name of profile in the nnf-dm-config ConfigMap to be used for
	// configuring data movement. Defaults to the default profile.
	// +kubebuilder:default:=default
	Profile string `json:"profile,omitempty"`

	// User defined configuration on how data movement should be performed. This overrides the
	// configuration defined in the nnf-dm-config ConfigMap. These values are typically set by the
	// Copy Offload API.
	UserConfig *NnfDataMovementConfig `json:"userConfig,omitempty"`
}

NnfDataMovementSpec defines the desired state of NnfDataMovement

func (*NnfDataMovementSpec) DeepCopy

func (in *NnfDataMovementSpec) DeepCopy() *NnfDataMovementSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfDataMovementSpec.

func (*NnfDataMovementSpec) DeepCopyInto

func (in *NnfDataMovementSpec) DeepCopyInto(out *NnfDataMovementSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfDataMovementSpecSourceDestination

type NnfDataMovementSpecSourceDestination struct {

	// Path describes the location of the user data relative to the storage instance
	Path string `json:"path,omitempty"`

	// Storage describes the storage backing this data movement specification; Storage can reference
	// either NNF storage or global Lustre storage depending on the object references Kind field.
	StorageReference corev1.ObjectReference `json:"storageReference,omitempty"`
}

NnfDataMovementSpecSourceDestination defines the desired source or destination of data movement

func (*NnfDataMovementSpecSourceDestination) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfDataMovementSpecSourceDestination.

func (*NnfDataMovementSpecSourceDestination) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfDataMovementStatus

type NnfDataMovementStatus struct {
	// Current state of data movement.
	// +kubebuilder:validation:Enum=Starting;Running;Finished
	State string `json:"state,omitempty"`

	// Status of the current state.
	// +kubebuilder:validation:Enum=Success;Failed;Invalid;Cancelled
	Status string `json:"status,omitempty"`

	// Message contains any text that explains the Status. If Data Movement failed or storeStdout is
	// enabled, this will contain the command's output.
	Message string `json:"message,omitempty"`

	// StartTime reflects the time at which the Data Movement operation started.
	StartTime *metav1.MicroTime `json:"startTime,omitempty"`

	// EndTime reflects the time at which the Data Movement operation ended.
	EndTime *metav1.MicroTime `json:"endTime,omitempty"`

	// Restarts contains the number of restarts of the Data Movement operation.
	Restarts int `json:"restarts,omitempty"`

	// CommandStatus reflects the current status of the underlying Data Movement command
	// as it executes. The command status is polled at a certain frequency to avoid excessive
	// updates to the Data Movement resource.
	CommandStatus *NnfDataMovementCommandStatus `json:"commandStatus,omitempty"`

	dwsv1alpha2.ResourceError `json:",inline"`
}

NnfDataMovementStatus defines the observed state of NnfDataMovement

func (*NnfDataMovementStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfDataMovementStatus.

func (*NnfDataMovementStatus) DeepCopyInto

func (in *NnfDataMovementStatus) DeepCopyInto(out *NnfDataMovementStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfDriveStatus

type NnfDriveStatus struct {
	// Model is the manufacturer information about the device
	Model string `json:"model,omitempty"`

	// The serial number for this storage controller.
	SerialNumber string `json:"serialNumber,omitempty"`

	// The firmware version of this storage controller.
	FirmwareVersion string `json:"firmwareVersion,omitempty"`

	// Physical slot location of the storage controller.
	Slot string `json:"slot,omitempty"`

	// Capacity in bytes of the device. The full capacity may not
	// be usable depending on what the storage driver can provide.
	Capacity int64 `json:"capacity,omitempty"`

	// WearLevel in percent for SSDs
	WearLevel int64 `json:"wearLevel,omitempty"`

	NnfResourceStatus `json:",inline"`
}

NnfDriveStatus defines the observe status of drives connected to this NNF Node

func (*NnfDriveStatus) DeepCopy

func (in *NnfDriveStatus) DeepCopy() *NnfDriveStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfDriveStatus.

func (*NnfDriveStatus) DeepCopyInto

func (in *NnfDriveStatus) DeepCopyInto(out *NnfDriveStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfNode

type NnfNode struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   NnfNodeSpec   `json:"spec,omitempty"`
	Status NnfNodeStatus `json:"status,omitempty"`
}

NnfNode is the Schema for the NnfNode API

func (*NnfNode) DeepCopy

func (in *NnfNode) DeepCopy() *NnfNode

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNode.

func (*NnfNode) DeepCopyInto

func (in *NnfNode) DeepCopyInto(out *NnfNode)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NnfNode) DeepCopyObject

func (in *NnfNode) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*NnfNode) GetStatus

func (n *NnfNode) GetStatus() updater.Status[*NnfNodeStatus]

type NnfNodeBlockStorage added in v0.1.0

type NnfNodeBlockStorage struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   NnfNodeBlockStorageSpec   `json:"spec,omitempty"`
	Status NnfNodeBlockStorageStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.ready" +kubebuilder:printcolumn:name="ERROR",type="string",JSONPath=".status.error.severity" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp"

func (*NnfNodeBlockStorage) DeepCopy added in v0.1.0

func (in *NnfNodeBlockStorage) DeepCopy() *NnfNodeBlockStorage

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeBlockStorage.

func (*NnfNodeBlockStorage) DeepCopyInto added in v0.1.0

func (in *NnfNodeBlockStorage) DeepCopyInto(out *NnfNodeBlockStorage)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NnfNodeBlockStorage) DeepCopyObject added in v0.1.0

func (in *NnfNodeBlockStorage) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*NnfNodeBlockStorage) GetStatus added in v0.1.0

type NnfNodeBlockStorageAccessStatus added in v0.1.0

type NnfNodeBlockStorageAccessStatus struct {
	// /dev paths for each of the block devices
	DevicePaths []string `json:"devicePaths,omitempty"`

	// Redfish ID for the storage group
	StorageGroupId string `json:"storageGroupId,omitempty"`
}

func (*NnfNodeBlockStorageAccessStatus) DeepCopy added in v0.1.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeBlockStorageAccessStatus.

func (*NnfNodeBlockStorageAccessStatus) DeepCopyInto added in v0.1.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfNodeBlockStorageAllocationSpec added in v0.1.0

type NnfNodeBlockStorageAllocationSpec struct {
	// Aggregate capacity of the block devices for each allocation
	Capacity int64 `json:"capacity,omitempty"`

	// List of nodes where /dev devices should be created
	Access []string `json:"access,omitempty"`
}

func (*NnfNodeBlockStorageAllocationSpec) DeepCopy added in v0.1.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeBlockStorageAllocationSpec.

func (*NnfNodeBlockStorageAllocationSpec) DeepCopyInto added in v0.1.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfNodeBlockStorageAllocationStatus added in v0.1.0

type NnfNodeBlockStorageAllocationStatus struct {
	// Accesses is a map of node name to the access status
	Accesses map[string]NnfNodeBlockStorageAccessStatus `json:"accesses,omitempty"`

	// List of NVMe namespaces used by this allocation
	Devices []NnfNodeBlockStorageDeviceStatus `json:"devices,omitempty"`

	// Total capacity allocated for the storage. This may differ from the requested storage
	// capacity as the system may round up to the requested capacity to satisify underlying
	// storage requirements (i.e. block size / stripe size).
	CapacityAllocated int64 `json:"capacityAllocated,omitempty"`

	// Redfish ID for the storage pool
	StoragePoolId string `json:"storagePoolId,omitempty"`
}

func (*NnfNodeBlockStorageAllocationStatus) DeepCopy added in v0.1.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeBlockStorageAllocationStatus.

func (*NnfNodeBlockStorageAllocationStatus) DeepCopyInto added in v0.1.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfNodeBlockStorageDeviceStatus added in v0.1.0

type NnfNodeBlockStorageDeviceStatus struct {
	// NQN of the base NVMe device
	NQN string `json:"NQN"`

	// Id of the Namespace on the NVMe device (e.g., "2")
	NamespaceId string `json:"namespaceId"`

	// Total capacity allocated for the storage. This may differ from the requested storage
	// capacity as the system may round up to the requested capacity to satisify underlying
	// storage requirements (i.e. block size / stripe size).
	CapacityAllocated int64 `json:"capacityAllocated,omitempty"`
}

func (*NnfNodeBlockStorageDeviceStatus) DeepCopy added in v0.1.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeBlockStorageDeviceStatus.

func (*NnfNodeBlockStorageDeviceStatus) DeepCopyInto added in v0.1.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfNodeBlockStorageList added in v0.1.0

type NnfNodeBlockStorageList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []NnfNodeBlockStorage `json:"items"`
}

NnfNodeBlockStorageList contains a list of NNF Nodes

func (*NnfNodeBlockStorageList) DeepCopy added in v0.1.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeBlockStorageList.

func (*NnfNodeBlockStorageList) DeepCopyInto added in v0.1.0

func (in *NnfNodeBlockStorageList) DeepCopyInto(out *NnfNodeBlockStorageList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NnfNodeBlockStorageList) DeepCopyObject added in v0.1.0

func (in *NnfNodeBlockStorageList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*NnfNodeBlockStorageList) GetObjectList added in v0.1.0

func (n *NnfNodeBlockStorageList) GetObjectList() []client.Object

type NnfNodeBlockStorageSpec added in v0.1.0

type NnfNodeBlockStorageSpec struct {
	// Allocations is the list of storage allocations to make
	Allocations []NnfNodeBlockStorageAllocationSpec `json:"allocations,omitempty"`
}

NnfNodeBlockStorageSpec defines the desired storage attributes on a NNF Node. Storage spec are created on request of the user and fullfilled by the NNF Node Controller.

func (*NnfNodeBlockStorageSpec) DeepCopy added in v0.1.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeBlockStorageSpec.

func (*NnfNodeBlockStorageSpec) DeepCopyInto added in v0.1.0

func (in *NnfNodeBlockStorageSpec) DeepCopyInto(out *NnfNodeBlockStorageSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfNodeBlockStorageStatus added in v0.1.0

type NnfNodeBlockStorageStatus struct {
	// Allocations is the list of storage allocations that were made
	Allocations []NnfNodeBlockStorageAllocationStatus `json:"allocations,omitempty"`

	dwsv1alpha2.ResourceError `json:",inline"`

	Ready bool `json:"ready"`
}

func (*NnfNodeBlockStorageStatus) DeepCopy added in v0.1.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeBlockStorageStatus.

func (*NnfNodeBlockStorageStatus) DeepCopyInto added in v0.1.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfNodeECData

type NnfNodeECData struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   NnfNodeECDataSpec   `json:"spec,omitempty"`
	Status NnfNodeECDataStatus `json:"status,omitempty"`
}

NnfNodeECData is the Schema for the nnfnodeecdata API

func (*NnfNodeECData) DeepCopy

func (in *NnfNodeECData) DeepCopy() *NnfNodeECData

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeECData.

func (*NnfNodeECData) DeepCopyInto

func (in *NnfNodeECData) DeepCopyInto(out *NnfNodeECData)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NnfNodeECData) DeepCopyObject

func (in *NnfNodeECData) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NnfNodeECDataList

type NnfNodeECDataList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []NnfNodeECData `json:"items"`
}

NnfNodeECDataList contains a list of NnfNodeECData

func (*NnfNodeECDataList) DeepCopy

func (in *NnfNodeECDataList) DeepCopy() *NnfNodeECDataList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeECDataList.

func (*NnfNodeECDataList) DeepCopyInto

func (in *NnfNodeECDataList) DeepCopyInto(out *NnfNodeECDataList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NnfNodeECDataList) DeepCopyObject

func (in *NnfNodeECDataList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NnfNodeECDataSpec

type NnfNodeECDataSpec struct {
}

NnfNodeECDataSpec defines the desired state of NnfNodeECData

func (*NnfNodeECDataSpec) DeepCopy

func (in *NnfNodeECDataSpec) DeepCopy() *NnfNodeECDataSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeECDataSpec.

func (*NnfNodeECDataSpec) DeepCopyInto

func (in *NnfNodeECDataSpec) DeepCopyInto(out *NnfNodeECDataSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfNodeECDataStatus

type NnfNodeECDataStatus struct {
	Data map[string]NnfNodeECPrivateData `json:"data,omitempty"`
}

NnfNodeECDataStatus defines the observed state of NnfNodeECData

func (*NnfNodeECDataStatus) DeepCopy

func (in *NnfNodeECDataStatus) DeepCopy() *NnfNodeECDataStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeECDataStatus.

func (*NnfNodeECDataStatus) DeepCopyInto

func (in *NnfNodeECDataStatus) DeepCopyInto(out *NnfNodeECDataStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfNodeECPrivateData

type NnfNodeECPrivateData map[string]string

func (NnfNodeECPrivateData) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeECPrivateData.

func (NnfNodeECPrivateData) DeepCopyInto

func (in NnfNodeECPrivateData) DeepCopyInto(out *NnfNodeECPrivateData)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfNodeList

type NnfNodeList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []NnfNode `json:"items"`
}

NnfNodeList contains a list of NNF Nodes

func (*NnfNodeList) DeepCopy

func (in *NnfNodeList) DeepCopy() *NnfNodeList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeList.

func (*NnfNodeList) DeepCopyInto

func (in *NnfNodeList) DeepCopyInto(out *NnfNodeList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NnfNodeList) DeepCopyObject

func (in *NnfNodeList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NnfNodeSpec

type NnfNodeSpec struct {

	// The unique name for this NNF Node
	Name string `json:"name,omitempty"`

	// Pod name for this NNF Node
	Pod string `json:"pod,omitempty"`

	// State reflects the desired state of this NNF Node resource
	// +kubebuilder:validation:Enum=Enable;Disable
	State NnfResourceStateType `json:"state"`
}

NnfNodeSpec defines the desired state of NNF Node

func (*NnfNodeSpec) DeepCopy

func (in *NnfNodeSpec) DeepCopy() *NnfNodeSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeSpec.

func (*NnfNodeSpec) DeepCopyInto

func (in *NnfNodeSpec) DeepCopyInto(out *NnfNodeSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfNodeStatus

type NnfNodeStatus struct {

	// Status reflects the current status of the NNF Node
	Status NnfResourceStatusType `json:"status,omitempty"`

	Health NnfResourceHealthType `json:"health,omitempty"`

	// Fenced is true when the NNF Node is fenced by the STONITH agent, and false otherwise.
	Fenced bool `json:"fenced,omitempty"`

	// LNetNid is the LNet address for the NNF node
	LNetNid string `json:"lnetNid,omitempty"`

	Capacity          int64 `json:"capacity,omitempty"`
	CapacityAllocated int64 `json:"capacityAllocated,omitempty"`

	Servers []NnfServerStatus `json:"servers,omitempty"`

	Drives []NnfDriveStatus `json:"drives,omitempty"`
}

NnfNodeStatus defines the observed status of NNF Node

func (*NnfNodeStatus) DeepCopy

func (in *NnfNodeStatus) DeepCopy() *NnfNodeStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeStatus.

func (*NnfNodeStatus) DeepCopyInto

func (in *NnfNodeStatus) DeepCopyInto(out *NnfNodeStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfNodeStorage

type NnfNodeStorage struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   NnfNodeStorageSpec   `json:"spec,omitempty"`
	Status NnfNodeStorageStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.ready" +kubebuilder:printcolumn:name="ERROR",type="string",JSONPath=".status.error.severity" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" NnfNodeStorage is the Schema for the NnfNodeStorage API

func (*NnfNodeStorage) DeepCopy

func (in *NnfNodeStorage) DeepCopy() *NnfNodeStorage

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeStorage.

func (*NnfNodeStorage) DeepCopyInto

func (in *NnfNodeStorage) DeepCopyInto(out *NnfNodeStorage)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NnfNodeStorage) DeepCopyObject

func (in *NnfNodeStorage) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*NnfNodeStorage) GetStatus

type NnfNodeStorageAllocationStatus

type NnfNodeStorageAllocationStatus struct {
	// Name of the LVM VG
	VolumeGroup string `json:"volumeGroup,omitempty"`

	// Name of the LVM LV
	LogicalVolume string `json:"logicalVolume,omitempty"`

	Ready bool `json:"ready,omitempty"`
}

NnfNodeStorageAllocationStatus defines the allocation status for each allocation in the NnfNodeStorage

func (*NnfNodeStorageAllocationStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeStorageAllocationStatus.

func (*NnfNodeStorageAllocationStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfNodeStorageList

type NnfNodeStorageList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []NnfNodeStorage `json:"items"`
}

NnfNodeStorageList contains a list of NNF Nodes

func (*NnfNodeStorageList) DeepCopy

func (in *NnfNodeStorageList) DeepCopy() *NnfNodeStorageList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeStorageList.

func (*NnfNodeStorageList) DeepCopyInto

func (in *NnfNodeStorageList) DeepCopyInto(out *NnfNodeStorageList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NnfNodeStorageList) DeepCopyObject

func (in *NnfNodeStorageList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*NnfNodeStorageList) GetObjectList

func (n *NnfNodeStorageList) GetObjectList() []client.Object

type NnfNodeStorageSpec

type NnfNodeStorageSpec struct {
	// Count is the number of allocations to make on this node. All of the allocations will
	// be created with the same parameters
	// +kubebuilder:validation:Minimum:=0
	Count int `json:"count"`

	// User ID for file system
	UserID uint32 `json:"userID"`

	// Group ID for file system
	GroupID uint32 `json:"groupID"`

	// FileSystemType defines the type of the desired filesystem, or raw
	// block device.
	// +kubebuilder:validation:Enum=raw;lvm;zfs;xfs;gfs2;lustre
	// +kubebuilder:default:=raw
	FileSystemType string `json:"fileSystemType"`

	// LustreStorageSpec describes the Lustre target created here, if
	// FileSystemType specifies a Lustre target.
	LustreStorage LustreStorageSpec `json:"lustreStorage,omitempty"`

	// BlockReference is an object reference to an NnfNodeBlockStorage
	BlockReference corev1.ObjectReference `json:"blockReference,omitempty"`
}

NnfNodeStorageSpec defines the desired storage attributes on a NNF Node. Storage spec are created on bequest of the user and fullfilled by the NNF Node Controller.

func (*NnfNodeStorageSpec) DeepCopy

func (in *NnfNodeStorageSpec) DeepCopy() *NnfNodeStorageSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeStorageSpec.

func (*NnfNodeStorageSpec) DeepCopyInto

func (in *NnfNodeStorageSpec) DeepCopyInto(out *NnfNodeStorageSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfNodeStorageStatus

type NnfNodeStorageStatus struct {
	// Allocations is the list of storage allocations that were made
	Allocations []NnfNodeStorageAllocationStatus `json:"allocations,omitempty"`

	Ready bool `json:"ready,omitempty"`

	dwsv1alpha2.ResourceError `json:",inline"`
}

NnfNodeStorageStatus defines the status for NnfNodeStorage

func (*NnfNodeStorageStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfNodeStorageStatus.

func (*NnfNodeStorageStatus) DeepCopyInto

func (in *NnfNodeStorageStatus) DeepCopyInto(out *NnfNodeStorageStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfPortManager added in v0.0.2

type NnfPortManager struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   NnfPortManagerSpec   `json:"spec,omitempty"`
	Status NnfPortManagerStatus `json:"status,omitempty"`
}

NnfPortManager is the Schema for the nnfportmanagers API

func (*NnfPortManager) DeepCopy added in v0.0.2

func (in *NnfPortManager) DeepCopy() *NnfPortManager

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfPortManager.

func (*NnfPortManager) DeepCopyInto added in v0.0.2

func (in *NnfPortManager) DeepCopyInto(out *NnfPortManager)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NnfPortManager) DeepCopyObject added in v0.0.2

func (in *NnfPortManager) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*NnfPortManager) GetStatus added in v0.0.2

type NnfPortManagerAllocationSpec added in v0.0.2

type NnfPortManagerAllocationSpec struct {
	// Requester is an object reference to the requester of a ports.
	Requester corev1.ObjectReference `json:"requester"`

	// Count is the number of desired ports the requester needs. The port manager
	// will attempt to allocate this many ports.
	// +kubebuilder:default:=1
	Count int `json:"count"`
}

NnfPortManagerAllocationSpec defines the desired state for a single port allocation

func (*NnfPortManagerAllocationSpec) DeepCopy added in v0.0.2

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfPortManagerAllocationSpec.

func (*NnfPortManagerAllocationSpec) DeepCopyInto added in v0.0.2

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfPortManagerAllocationStatus added in v0.0.2

type NnfPortManagerAllocationStatus struct {
	// Requester is an object reference to the requester of the port resource, if one exists, or
	// empty otherwise.
	Requester *corev1.ObjectReference `json:"requester,omitempty"`

	// Ports is list of ports allocated to the owning resource.
	Ports []uint16 `json:"ports,omitempty"`

	// Status is the ownership status of the port.
	Status NnfPortManagerAllocationStatusStatus `json:"status"`

	// TimeUnallocated is when the port was unallocated. This is to ensure the proper cooldown
	// duration.
	TimeUnallocated *metav1.Time `json:"timeUnallocated,omitempty"`
}

NnfPortManagerAllocationStatus defines the allocation status of a port for a given requester.

func (*NnfPortManagerAllocationStatus) DeepCopy added in v0.0.2

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfPortManagerAllocationStatus.

func (*NnfPortManagerAllocationStatus) DeepCopyInto added in v0.0.2

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfPortManagerAllocationStatusStatus added in v0.0.2

type NnfPortManagerAllocationStatusStatus string

AllocationStatus is the current status of a port requestor. A port that is in use by the respective owner will have a status of "InUse". A port that is freed by the owner but not yet reclaimed by the port manager will have a status of "Free". Any other status value indicates a failure of the port allocation. +kubebuilder:validation:Enum:=InUse;Free;Cooldown;InvalidConfiguration;InsufficientResources

const (
	NnfPortManagerAllocationStatusInUse                 NnfPortManagerAllocationStatusStatus = "InUse"
	NnfPortManagerAllocationStatusFree                  NnfPortManagerAllocationStatusStatus = "Free"
	NnfPortManagerAllocationStatusCooldown              NnfPortManagerAllocationStatusStatus = "Cooldown"
	NnfPortManagerAllocationStatusInvalidConfiguration  NnfPortManagerAllocationStatusStatus = "InvalidConfiguration"
	NnfPortManagerAllocationStatusInsufficientResources NnfPortManagerAllocationStatusStatus = "InsufficientResources"
)

type NnfPortManagerList added in v0.0.2

type NnfPortManagerList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []NnfPortManager `json:"items"`
}

NnfPortManagerList contains a list of NnfPortManager

func (*NnfPortManagerList) DeepCopy added in v0.0.2

func (in *NnfPortManagerList) DeepCopy() *NnfPortManagerList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfPortManagerList.

func (*NnfPortManagerList) DeepCopyInto added in v0.0.2

func (in *NnfPortManagerList) DeepCopyInto(out *NnfPortManagerList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NnfPortManagerList) DeepCopyObject added in v0.0.2

func (in *NnfPortManagerList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NnfPortManagerSpec added in v0.0.2

type NnfPortManagerSpec struct {

	// SystemConfiguration is an object reference to the system configuration. The
	// Port Manager will use the available ports defined in the system configuration.
	SystemConfiguration corev1.ObjectReference `json:"systemConfiguration"`

	// Allocations is a list of allocation requests that the Port Manager will attempt
	// to satisfy. To request port resources from the port manager, clients should add
	// an entry to the allocations. Entries must be unique. The port manager controller
	// will attempt to allocate port resources for each allocation specification in the
	// list. To remove an allocation and free up port resources, remove the allocation
	// from the list.
	Allocations []NnfPortManagerAllocationSpec `json:"allocations"`
}

NnfPortManagerSpec defines the desired state of NnfPortManager

func (*NnfPortManagerSpec) DeepCopy added in v0.0.2

func (in *NnfPortManagerSpec) DeepCopy() *NnfPortManagerSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfPortManagerSpec.

func (*NnfPortManagerSpec) DeepCopyInto added in v0.0.2

func (in *NnfPortManagerSpec) DeepCopyInto(out *NnfPortManagerSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfPortManagerStatus added in v0.0.2

type NnfPortManagerStatus struct {

	// Allocations is a list of port allocation status'.
	Allocations []NnfPortManagerAllocationStatus `json:"allocations,omitempty"`

	// Status is the current status of the port manager.
	Status NnfPortManagerStatusStatus `json:"status"`
}

NnfPortManagerStatus defines the observed state of NnfPortManager

func (*NnfPortManagerStatus) DeepCopy added in v0.0.2

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfPortManagerStatus.

func (*NnfPortManagerStatus) DeepCopyInto added in v0.0.2

func (in *NnfPortManagerStatus) DeepCopyInto(out *NnfPortManagerStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfPortManagerStatusStatus added in v0.0.2

type NnfPortManagerStatusStatus string

PortManagerStatus is the current status of the port manager. +kubebuilder:validation:Enum:=Ready;SystemConfigurationNotFound

const (
	NnfPortManagerStatusReady                       NnfPortManagerStatusStatus = "Ready"
	NnfPortManagerStatusSystemConfigurationNotFound NnfPortManagerStatusStatus = "SystemConfigurationNotFound"
)

type NnfResourceHealthType

type NnfResourceHealthType string

NnfResourceHealthType defines the health of an NNF resource.

func ResourceHealth

func ResourceHealth(s sf.ResourceStatus) NnfResourceHealthType

ResourceHealth maps a SF ResourceStatus to an NNFResourceHealthType

func (NnfResourceHealthType) UpdateIfWorseThan

func (rht NnfResourceHealthType) UpdateIfWorseThan(health *NnfResourceHealthType)

UpdateIfWorseThan examines the input health type and update the health if it is worse than the stored value

type NnfResourceStateType

type NnfResourceStateType string

NnfResourceStateType defines valid states that a user can configure an NNF resource

type NnfResourceStatus

type NnfResourceStatus struct {
	// ID reflects the NNF Node unique identifier for this NNF Server resource.
	ID string `json:"id,omitempty"`

	// Name reflects the common name of this NNF Server resource.
	Name string `json:"name,omitempty"`

	Status NnfResourceStatusType `json:"status,omitempty"`

	Health NnfResourceHealthType `json:"health,omitempty"`
}

NnfResourceStatus provides common fields that are included in all NNF Resources

func (*NnfResourceStatus) DeepCopy

func (in *NnfResourceStatus) DeepCopy() *NnfResourceStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfResourceStatus.

func (*NnfResourceStatus) DeepCopyInto

func (in *NnfResourceStatus) DeepCopyInto(out *NnfResourceStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfResourceStatusType

type NnfResourceStatusType string

NnfResourceStatusType is the string that indicates the resource's status

func ResourceStatus

func ResourceStatus(s sf.ResourceStatus) NnfResourceStatusType

ResourceStatus will convert a Swordfish ResourceStatus to the NNF Resource Status.

func StaticResourceStatus

func StaticResourceStatus(s sf.ResourceStatus) NnfResourceStatusType

StaticResourceStatus will convert a Swordfish ResourceStatus to the NNF Resource Status.

func (NnfResourceStatusType) ConvertToDWSResourceStatus added in v0.0.2

func (rst NnfResourceStatusType) ConvertToDWSResourceStatus() dwsv1alpha2.ResourceStatus

func (NnfResourceStatusType) UpdateIfWorseThan

func (rst NnfResourceStatusType) UpdateIfWorseThan(status *NnfResourceStatusType)

UpdateIfWorseThan updates the stored status of the resource if the new status is worse than what was stored

type NnfServerStatus

type NnfServerStatus struct {
	Hostname string `json:"hostname,omitempty"`

	NnfResourceStatus `json:",inline"`
}

NnfServerStatus defines the observed status of servers connected to this NNF Node

func (*NnfServerStatus) DeepCopy

func (in *NnfServerStatus) DeepCopy() *NnfServerStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfServerStatus.

func (*NnfServerStatus) DeepCopyInto

func (in *NnfServerStatus) DeepCopyInto(out *NnfServerStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfStorage

type NnfStorage struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   NnfStorageSpec   `json:"spec,omitempty"`
	Status NnfStorageStatus `json:"status,omitempty"`
}

NnfStorage is the Schema for the storages API

func (*NnfStorage) DeepCopy

func (in *NnfStorage) DeepCopy() *NnfStorage

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorage.

func (*NnfStorage) DeepCopyInto

func (in *NnfStorage) DeepCopyInto(out *NnfStorage)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NnfStorage) DeepCopyObject

func (in *NnfStorage) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*NnfStorage) GetStatus

func (s *NnfStorage) GetStatus() updater.Status[*NnfStorageStatus]

type NnfStorageAllocationNodes

type NnfStorageAllocationNodes struct {
	// Name of the node to make the allocation on
	Name string `json:"name"`

	// Number of allocations to make on this node
	Count int `json:"count"`
}

NnfStorageAllocationNodes identifies the node and properties of the allocation to make on that node

func (*NnfStorageAllocationNodes) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorageAllocationNodes.

func (*NnfStorageAllocationNodes) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfStorageAllocationSetSpec

type NnfStorageAllocationSetSpec struct {
	// Name is a human readable label for this set of allocations (e.g., xfs)
	Name string `json:"name"`

	// Capacity defines the capacity, in bytes, of this storage specification. The NNF Node itself
	// may split the storage among the available drives operating in the NNF Node.
	Capacity int64 `json:"capacity"`

	// Lustre specific configuration
	NnfStorageLustreSpec `json:",inline"`

	// Nodes is the list of Rabbit nodes to make allocations on
	Nodes []NnfStorageAllocationNodes `json:"nodes"`
}

NnfStorageAllocationSetSpec defines the details for an allocation set

func (*NnfStorageAllocationSetSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorageAllocationSetSpec.

func (*NnfStorageAllocationSetSpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfStorageAllocationSetStatus

type NnfStorageAllocationSetStatus struct {
	Ready bool `json:"ready,omitempty"`

	// AllocationCount is the total number of allocations that currently
	// exist
	AllocationCount int `json:"allocationCount"`
}

NnfStorageAllocationSetStatus contains the status information for an allocation set

func (*NnfStorageAllocationSetStatus) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorageAllocationSetStatus.

func (*NnfStorageAllocationSetStatus) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfStorageList

type NnfStorageList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []NnfStorage `json:"items"`
}

NnfStorageList contains a list of Storage

func (*NnfStorageList) DeepCopy

func (in *NnfStorageList) DeepCopy() *NnfStorageList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorageList.

func (*NnfStorageList) DeepCopyInto

func (in *NnfStorageList) DeepCopyInto(out *NnfStorageList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NnfStorageList) DeepCopyObject

func (in *NnfStorageList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*NnfStorageList) GetObjectList

func (n *NnfStorageList) GetObjectList() []client.Object

type NnfStorageLustreSpec

type NnfStorageLustreSpec struct {
	// FileSystemName is the fsname parameter for the Lustre filesystem.
	// +kubebuilder:validation:MaxLength:=8
	FileSystemName string `json:"fileSystemName,omitempty"`

	// TargetType is the type of Lustre target to be created.
	// +kubebuilder:validation:Enum=mgt;mdt;mgtmdt;ost
	TargetType string `json:"targetType,omitempty"`

	// BackFs is the type of backing filesystem to use.
	// +kubebuilder:validation:Enum=ldiskfs;zfs
	BackFs string `json:"backFs,omitempty"`

	// MgsAddress is the NID of the MGS when a pre-existing MGS is
	// provided in the NnfStorageProfile
	MgsAddress string `json:"mgsAddress,omitempty"`

	// PersistentMgsReference is a reference to a persistent storage that is providing
	// the external MGS.
	PersistentMgsReference corev1.ObjectReference `json:"persistentMgsReference,omitempty"`
}

NnfStorageLustreSpec defines the specifications for a Lustre filesystem

func (*NnfStorageLustreSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorageLustreSpec.

func (*NnfStorageLustreSpec) DeepCopyInto

func (in *NnfStorageLustreSpec) DeepCopyInto(out *NnfStorageLustreSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfStorageProfile

type NnfStorageProfile struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Data NnfStorageProfileData `json:"data,omitempty"`
}

NnfStorageProfile is the Schema for the nnfstorageprofiles API

func (*NnfStorageProfile) DeepCopy

func (in *NnfStorageProfile) DeepCopy() *NnfStorageProfile

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorageProfile.

func (*NnfStorageProfile) DeepCopyInto

func (in *NnfStorageProfile) DeepCopyInto(out *NnfStorageProfile)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NnfStorageProfile) DeepCopyObject

func (in *NnfStorageProfile) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*NnfStorageProfile) GetLustreMiscOptions added in v0.0.2

func (n *NnfStorageProfile) GetLustreMiscOptions(target string) NnfStorageProfileLustreMiscOptions

func (*NnfStorageProfile) SetupWebhookWithManager

func (r *NnfStorageProfile) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*NnfStorageProfile) ValidateCreate

func (r *NnfStorageProfile) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*NnfStorageProfile) ValidateDelete

func (r *NnfStorageProfile) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*NnfStorageProfile) ValidateUpdate

func (r *NnfStorageProfile) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type NnfStorageProfileCmdLines

type NnfStorageProfileCmdLines struct {
	// Mkfs specifies the mkfs commandline, minus the "mkfs".
	Mkfs string `json:"mkfs,omitempty"`

	// PvCreate specifies the pvcreate commandline, minus the "pvcreate".
	PvCreate string `json:"pvCreate,omitempty"`

	// PvRemove specifies the pvremove commandline, minus the "pvremove".
	PvRemove string `json:"pvRemove,omitempty"`

	// VgCreate specifies the vgcreate commandline, minus the "vgcreate".
	VgCreate string `json:"vgCreate,omitempty"`

	// VgChange specifies the various vgchange commandlines, minus the "vgchange"
	VgChange NnfStorageProfileLVMVgChangeCmdLines `json:"vgChange,omitempty"`

	// VgCreate specifies the vgcreate commandline, minus the "vgremove".
	VgRemove string `json:"vgRemove,omitempty"`

	// LvCreate specifies the lvcreate commandline, minus the "lvcreate".
	LvCreate string `json:"lvCreate,omitempty"`

	// LvChange specifies the various lvchange commandlines, minus the "lvchange"
	LvChange NnfStorageProfileLVMLvChangeCmdLines `json:"lvChange,omitempty"`

	// LvRemove specifies the lvcreate commandline, minus the "lvremove".
	LvRemove string `json:"lvRemove,omitempty"`

	// MountRabbit specifies mount options for mounting on the Rabbit.
	MountRabbit string `json:"mountRabbit,omitempty"`

	// MountCompute specifies mount options for mounting on the Compute.
	MountCompute string `json:"mountCompute,omitempty"`
}

NnfStorageProfileCmdLines defines commandlines to use for mkfs, and other utilities for storage allocations that use LVM and a simple file system type (e.g., gfs2)

func (*NnfStorageProfileCmdLines) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorageProfileCmdLines.

func (*NnfStorageProfileCmdLines) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfStorageProfileData

type NnfStorageProfileData struct {

	// Default is true if this instance is the default resource to use
	// +kubebuilder:default:=false
	Default bool `json:"default,omitempty"`

	// Pinned is true if this instance is an immutable copy
	// +kubebuilder:default:=false
	Pinned bool `json:"pinned,omitempty"`

	// LustreStorage defines the Lustre-specific configuration
	LustreStorage NnfStorageProfileLustreData `json:"lustreStorage"`

	// GFS2Storage defines the GFS2-specific configuration
	GFS2Storage NnfStorageProfileGFS2Data `json:"gfs2Storage"`

	// XFSStorage defines the XFS-specific configuration
	XFSStorage NnfStorageProfileXFSData `json:"xfsStorage"`

	// RawStorage defines the Raw-specific configuration
	RawStorage NnfStorageProfileRawData `json:"rawStorage"`
}

NnfStorageProfileData defines the desired state of NnfStorageProfile

func (*NnfStorageProfileData) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorageProfileData.

func (*NnfStorageProfileData) DeepCopyInto

func (in *NnfStorageProfileData) DeepCopyInto(out *NnfStorageProfileData)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfStorageProfileGFS2Data

type NnfStorageProfileGFS2Data struct {
	// CmdLines contains commands to create volumes and filesystems.
	CmdLines NnfStorageProfileCmdLines `json:"commandlines,omitempty"`
}

NnfStorageProfileGFS2Data defines the GFS2-specific configuration

func (*NnfStorageProfileGFS2Data) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorageProfileGFS2Data.

func (*NnfStorageProfileGFS2Data) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfStorageProfileLVMLvChangeCmdLines added in v0.1.0

type NnfStorageProfileLVMLvChangeCmdLines struct {
	// The lvchange commandline for activate, minus the "lvchange" command
	Activate string `json:"activate,omitempty"`

	// The lvchange commandline for deactivate, minus the "lvchange" command
	Deactivate string `json:"deactivate,omitempty"`
}

NnfStorageProfileLVMVgChangeCmdLines

func (*NnfStorageProfileLVMLvChangeCmdLines) DeepCopy added in v0.1.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorageProfileLVMLvChangeCmdLines.

func (*NnfStorageProfileLVMLvChangeCmdLines) DeepCopyInto added in v0.1.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfStorageProfileLVMVgChangeCmdLines added in v0.0.2

type NnfStorageProfileLVMVgChangeCmdLines struct {
	// The vgchange commandline for lockStart, minus the "vgchange" command
	LockStart string `json:"lockStart,omitempty"`

	// The vgchange commandline for lockStop, minus the "vgchange" command
	LockStop string `json:"lockStop,omitempty"`
}

NnfStorageProfileLVMVgChangeCmdLines

func (*NnfStorageProfileLVMVgChangeCmdLines) DeepCopy added in v0.0.2

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorageProfileLVMVgChangeCmdLines.

func (*NnfStorageProfileLVMVgChangeCmdLines) DeepCopyInto added in v0.0.2

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfStorageProfileList

type NnfStorageProfileList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []NnfStorageProfile `json:"items"`
}

NnfStorageProfileList contains a list of NnfStorageProfile

func (*NnfStorageProfileList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorageProfileList.

func (*NnfStorageProfileList) DeepCopyInto

func (in *NnfStorageProfileList) DeepCopyInto(out *NnfStorageProfileList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NnfStorageProfileList) DeepCopyObject

func (in *NnfStorageProfileList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*NnfStorageProfileList) GetObjectList

func (n *NnfStorageProfileList) GetObjectList() []client.Object

type NnfStorageProfileLustreCmdLines

type NnfStorageProfileLustreCmdLines struct {
	// ZpoolCreate specifies the zpool create commandline, minus the "zpool create".
	// This is where you may specify zpool create options, and the virtual device (vdev) such as
	// "mirror", or "draid".  See zpoolconcepts(7).
	ZpoolCreate string `json:"zpoolCreate,omitempty"`

	// Mkfs specifies the mkfs.lustre commandline, minus the "mkfs.lustre".
	// Use the --mkfsoptions argument to specify the zfs create options.  See zfsprops(7).
	// Use the --mountfsoptions argument to specify persistent mount options for the lustre targets.
	Mkfs string `json:"mkfs,omitempty"`

	// MountTarget specifies the mount command line for the lustre target.
	// For persistent mount options for lustre targets, do not use this array; use the --mountfsoptions
	// argument to mkfs.lustre instead.
	MountTarget string `json:"mountTarget,omitempty"`
}

NnfStorageProfileLustreCmdLines defines commandlines to use for mkfs, zpool, and other utilities for Lustre allocations.

func (*NnfStorageProfileLustreCmdLines) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorageProfileLustreCmdLines.

func (*NnfStorageProfileLustreCmdLines) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfStorageProfileLustreData

type NnfStorageProfileLustreData struct {
	// CombinedMGTMDT indicates whether the MGT and MDT should be created on the same target device
	// +kubebuilder:default:=false
	CombinedMGTMDT bool `json:"combinedMgtMdt,omitempty"`

	// ExternalMGS specifies the use of an existing MGS rather than creating one. This can
	// be either the NID(s) of a pre-existing MGS that should be used, or it can be an NNF Persistent
	// Instance that was created with the "StandaloneMGTPoolName" option. In the latter case, the format
	// is "pool:poolName" where "poolName" is the argument from "StandaloneMGTPoolName". A single MGS will
	// be picked from the pool.
	ExternalMGS string `json:"externalMgs,omitempty"`

	// CapacityMGT specifies the size of the MGT device.
	// +kubebuilder:validation:Pattern:="^\\d+(KiB|KB|MiB|MB|GiB|GB|TiB|TB)$"
	// +kubebuilder:default:="5GiB"
	CapacityMGT string `json:"capacityMgt,omitempty"`

	// CapacityMDT specifies the size of the MDT device.  This is also
	// used for a combined MGT+MDT device.
	// +kubebuilder:validation:Pattern:="^\\d+(KiB|KB|MiB|MB|GiB|GB|TiB|TB)$"
	// +kubebuilder:default:="5GiB"
	CapacityMDT string `json:"capacityMdt,omitempty"`

	// ExclusiveMDT indicates that the MDT should not be colocated with any other target on the chosen server.
	// +kubebuilder:default:=false
	ExclusiveMDT bool `json:"exclusiveMdt,omitempty"`

	// StandaloneMGTPoolName creates a Lustre MGT without a MDT or OST. This option can only be used when creating
	// a persistent Lustre instance. The MGS is placed into a named pool that can be used by the "ExternalMGS" option.
	// Multiple pools can be created.
	StandaloneMGTPoolName string `json:"standaloneMgtPoolName,omitempty"`

	// MgtCmdLines contains commands to create an MGT target.
	MgtCmdLines NnfStorageProfileLustreCmdLines `json:"mgtCommandlines,omitempty"`

	// MdtCmdLines contains commands to create an MDT target.
	MdtCmdLines NnfStorageProfileLustreCmdLines `json:"mdtCommandlines,omitempty"`

	// MgtMdtCmdLines contains commands to create a combined MGT/MDT target.
	MgtMdtCmdLines NnfStorageProfileLustreCmdLines `json:"mgtMdtCommandlines,omitempty"`

	// OstCmdLines contains commands to create an OST target.
	OstCmdLines NnfStorageProfileLustreCmdLines `json:"ostCommandlines,omitempty"`

	// MgtOptions contains options to use for libraries used for an MGT target.
	MgtOptions NnfStorageProfileLustreMiscOptions `json:"mgtOptions,omitempty"`

	// MdtOptions contains options to use for libraries used for an MDT target.
	MdtOptions NnfStorageProfileLustreMiscOptions `json:"mdtOptions,omitempty"`

	// MgtMdtOptions contains options to use for libraries used for a combined MGT/MDT target.
	MgtMdtOptions NnfStorageProfileLustreMiscOptions `json:"mgtMdtOptions,omitempty"`

	// OstOptions contains options to use for libraries used for an OST target.
	OstOptions NnfStorageProfileLustreMiscOptions `json:"ostOptions,omitempty"`

	// MountRabbit specifies mount options for making the Lustre client mount on the Rabbit.
	MountRabbit string `json:"mountRabbit,omitempty"`

	// MountCompute specifies mount options for making the Lustre client mount on the Compute.
	MountCompute string `json:"mountCompute,omitempty"`
}

NnfStorageProfileLustreData defines the Lustre-specific configuration

func (*NnfStorageProfileLustreData) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorageProfileLustreData.

func (*NnfStorageProfileLustreData) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfStorageProfileLustreMiscOptions

type NnfStorageProfileLustreMiscOptions struct {
	// ColocateComputes indicates that the Lustre target should be placed on a Rabbit node that has a physical connection
	// to the compute nodes in a workflow
	// +kubebuilder:default:=false
	ColocateComputes bool `json:"colocateComputes"`

	// Count specifies how many Lustre targets to create
	// +kubebuilder:validation:Minimum:=1
	Count int `json:"count,omitempty"`

	// Scale provides a unitless value to determine how many Lustre targets to create
	// +kubebuilder:validation:Minimum:=1
	// +kubebuilder:validation:Maximum:=10
	Scale int `json:"scale,omitempty"`
}

NnfStorageProfileLustreMiscOptions defines options to use for the mount library, and other utilities.

func (*NnfStorageProfileLustreMiscOptions) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorageProfileLustreMiscOptions.

func (*NnfStorageProfileLustreMiscOptions) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfStorageProfileRawData

type NnfStorageProfileRawData struct {
	// CmdLines contains commands to create volumes and filesystems.
	CmdLines NnfStorageProfileCmdLines `json:"commandlines,omitempty"`
}

NnfStorageProfileRawData defines the Raw-specific configuration

func (*NnfStorageProfileRawData) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorageProfileRawData.

func (*NnfStorageProfileRawData) DeepCopyInto

func (in *NnfStorageProfileRawData) DeepCopyInto(out *NnfStorageProfileRawData)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfStorageProfileXFSData

type NnfStorageProfileXFSData struct {
	// CmdLines contains commands to create volumes and filesystems.
	CmdLines NnfStorageProfileCmdLines `json:"commandlines,omitempty"`
}

NnfStorageProfileXFSData defines the XFS-specific configuration

func (*NnfStorageProfileXFSData) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorageProfileXFSData.

func (*NnfStorageProfileXFSData) DeepCopyInto

func (in *NnfStorageProfileXFSData) DeepCopyInto(out *NnfStorageProfileXFSData)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfStorageSpec

type NnfStorageSpec struct {

	// FileSystemType defines the type of the desired filesystem, or raw
	// block device.
	// +kubebuilder:validation:Enum=raw;lvm;zfs;xfs;gfs2;lustre
	// +kubebuilder:default:=raw
	FileSystemType string `json:"fileSystemType"`

	// User ID for file system
	UserID uint32 `json:"userID"`

	// Group ID for file system
	GroupID uint32 `json:"groupID"`

	// AllocationSets is a list of different types of storage allocations to make. Each
	// AllocationSet describes an entire allocation spanning multiple Rabbits. For example,
	// an AllocationSet could be all of the OSTs in a Lustre filesystem, or all of the raw
	// block devices in a raw block configuration.
	AllocationSets []NnfStorageAllocationSetSpec `json:"allocationSets"`
}

NnfStorageSpec defines the specification for requesting generic storage on a set of available NNF Nodes. This object is related to a #DW for NNF Storage, with the WLM making the determination for which NNF Nodes it wants to utilize.

func (*NnfStorageSpec) DeepCopy

func (in *NnfStorageSpec) DeepCopy() *NnfStorageSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorageSpec.

func (*NnfStorageSpec) DeepCopyInto

func (in *NnfStorageSpec) DeepCopyInto(out *NnfStorageSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NnfStorageStatus

type NnfStorageStatus struct {
	// MgsAddress is the NID of the MGS.
	MgsAddress string `json:"mgsAddress,omitempty"`

	// AllocationsSets holds the status information for each of the AllocationSets
	// from the spec.
	AllocationSets []NnfStorageAllocationSetStatus `json:"allocationSets,omitempty"`

	dwsv1alpha2.ResourceError `json:",inline"`

	// Ready reflects the status of this NNF Storage
	Ready bool `json:"ready,omitempty"`
}

NnfStorageStatus defines the observed status of NNF Storage.

func (*NnfStorageStatus) DeepCopy

func (in *NnfStorageStatus) DeepCopy() *NnfStorageStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NnfStorageStatus.

func (*NnfStorageStatus) DeepCopyInto

func (in *NnfStorageStatus) DeepCopyInto(out *NnfStorageStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VarHandler added in v0.1.0

type VarHandler struct {
	VarMap map[string]string
}

func NewVarHandler added in v0.1.0

func NewVarHandler(vars map[string]string) *VarHandler

func (*VarHandler) DeepCopy added in v0.1.0

func (in *VarHandler) DeepCopy() *VarHandler

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VarHandler.

func (*VarHandler) DeepCopyInto added in v0.1.0

func (in *VarHandler) DeepCopyInto(out *VarHandler)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*VarHandler) ListToVars added in v0.1.0

func (v *VarHandler) ListToVars(listVarName, newVarPrefix string) error

ListToVars splits the value of one of its variables, and creates a new indexed variable for each of the items in the split.

func (*VarHandler) ReplaceAll added in v0.1.0

func (v *VarHandler) ReplaceAll(s string) string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL