Documentation ¶
Overview ¶
Copyright 2020 The OpenEBS Authors
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Package cstor is the v1 version of the API. +groupName=cstor.openebs.io +k8s:deepcopy-gen=package,register
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type CSPCConditionType
- type CStorBackup
- type CStorBackupList
- type CStorBackupSpec
- type CStorBackupStatus
- type CStorCompletedBackup
- type CStorCompletedBackupList
- type CStorCompletedBackupSpec
- type CStorPoolCluster
- type CStorPoolClusterCondition
- type CStorPoolClusterList
- type CStorPoolClusterSpec
- type CStorPoolClusterStatus
- type CStorPoolInstance
- type CStorPoolInstanceBlockDevice
- type CStorPoolInstanceCapacity
- type CStorPoolInstanceCondition
- type CStorPoolInstanceConditionType
- type CStorPoolInstanceList
- type CStorPoolInstancePhase
- type CStorPoolInstanceSpec
- type CStorPoolInstanceStatus
- type CStorRestore
- type CStorRestoreList
- type CStorRestoreSpec
- type CStorRestoreStatus
- type CStorSnapshotInfo
- type CStorVolume
- type CStorVolumeAttachment
- type CStorVolumeAttachmentList
- type CStorVolumeAttachmentSpec
- type CStorVolumeAttachmentStatus
- type CStorVolumeCondition
- type CStorVolumeConditionType
- type CStorVolumeConfig
- type CStorVolumeConfigCondition
- type CStorVolumeConfigConditionType
- type CStorVolumeConfigList
- type CStorVolumeConfigPhase
- type CStorVolumeConfigPublish
- type CStorVolumeConfigSpec
- type CStorVolumeConfigStatus
- type CStorVolumeList
- type CStorVolumePhase
- type CStorVolumePolicy
- type CStorVolumePolicyList
- type CStorVolumePolicySpec
- type CStorVolumePolicyStatus
- type CStorVolumeReplica
- type CStorVolumeReplicaCapacityDetails
- type CStorVolumeReplicaDetails
- type CStorVolumeReplicaList
- type CStorVolumeReplicaPhase
- type CStorVolumeReplicaSpec
- type CStorVolumeReplicaStatus
- type CStorVolumeSpec
- type CStorVolumeStatus
- type CVRKey
- type CVStatus
- type CVStatusResponse
- type ConditionStatus
- type ISCSIInfo
- type PoolConfig
- type PoolScanFunc
- type PoolScanState
- type PoolSpec
- type PoolType
- type Provision
- type RaidGroup
- type ReplicaID
- type ReplicaPoolInfo
- type ReplicaSpec
- type ReplicaStatus
- type TargetSpec
- type Topology
- type Vdev
- type VdevAux
- type VdevList
- type VdevState
- type VdevTree
- type VersionDetails
- type VersionState
- type VersionStatus
- type VolumeInfo
- type VolumeProvision
- type ZFSCapacityAttributes
Constants ¶
const ( // PoolOperator is the name of the tool that makes pool-related operations. PoolOperator = "zpool" // VdevScanProcessedIndex is index of scaned bytes on disk VdevScanProcessedIndex = 25 // VdevScanStatsStateIndex represents the index of dataset scan state VdevScanStatsStateIndex = 1 // VdevScanStatsScanFuncIndex point to index which inform whether device // under went resilvering or not VdevScanStatsScanFuncIndex = 0 // VdevStateIndex represents the device state information VdevStateIndex = 1 // VdevAuxIndex represents vdev aux states. When a vdev is // in the CANT_OPEN state, the aux field of the vdev stats // structure uses these constants to distinguish why VdevAuxIndex = 2 )
Variables ¶
var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: cstor.GroupName, Version: runtime.APIVersionInternal}
SchemeGroupVersion is group version used to register these objects
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type CSPCConditionType ¶
type CSPCConditionType string
const ( // PoolManagerAvailable means the PoolManagerAvailable deployment is available, ie. at least the minimum available // replicas required are up and running and in ready state. PoolManagerAvailable CSPCConditionType = "PoolManagerAvailable" )
These are valid conditions of a cspc.
type CStorBackup ¶
type CStorBackup struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec CStorBackupSpec `json:"spec"` Status CStorBackupStatus `json:"status,omitempty"` }
CStorBackup describes a cstor backup resource created as a custom resource +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced,shortName=cbackup +kubebuilder:printcolumn:name="Volume",type=string,JSONPath=`.spec.volumeName`,description="Name of the volume for which this backup is destined" +kubebuilder:printcolumn:name="Backup/Schedule",type=string,JSONPath=`.spec.backupName`,description="Name of the backup or scheduled backup" +kubebuilder:printcolumn:name="Status",type=string,JSONPath=`.status`,description="Identifies the phase of the backup"
func (*CStorBackup) DeepCopy ¶
func (in *CStorBackup) DeepCopy() *CStorBackup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorBackup.
func (*CStorBackup) DeepCopyInto ¶
func (in *CStorBackup) DeepCopyInto(out *CStorBackup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CStorBackup) DeepCopyObject ¶
func (in *CStorBackup) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CStorBackupList ¶
type CStorBackupList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []CStorBackup `json:"items"` }
CStorBackupList is a list of CStorBackup resources
func (*CStorBackupList) DeepCopy ¶
func (in *CStorBackupList) DeepCopy() *CStorBackupList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorBackupList.
func (*CStorBackupList) DeepCopyInto ¶
func (in *CStorBackupList) DeepCopyInto(out *CStorBackupList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CStorBackupList) DeepCopyObject ¶
func (in *CStorBackupList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CStorBackupSpec ¶
type CStorBackupSpec struct { // BackupName is the name of the backup or scheduled backup BackupName string `json:"backupName"` // VolumeName is the name of the volume for which this backup is destined VolumeName string `json:"volumeName"` // SnapName is the name of the current backup snapshot SnapName string `json:"snapName"` // PrevSnapName is the last completed-backup's snapshot name PrevSnapName string `json:"prevSnapName,omitempty"` // BackupDest is the remote address for backup transfer BackupDest string `json:"backupDest,omitempty"` // LocalSnap is the flag to enable local snapshot only LocalSnap bool `json:"localSnap,omitempty"` }
CStorBackupSpec is the spec for a CStorBackup resource
func (*CStorBackupSpec) DeepCopy ¶
func (in *CStorBackupSpec) DeepCopy() *CStorBackupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorBackupSpec.
func (*CStorBackupSpec) DeepCopyInto ¶
func (in *CStorBackupSpec) DeepCopyInto(out *CStorBackupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CStorBackupStatus ¶
type CStorBackupStatus string
CStorBackupStatus is a string type that represents the status of the backup
const ( // BKPCStorStatusEmpty represents backup resource is created and yet to // be reconcile by backup controller BKPCStorStatusEmpty CStorBackupStatus = "" // BKPCStorStatusDone , backup is completed BKPCStorStatusDone CStorBackupStatus = "Done" // BKPCStorStatusFailed , backup is failed BKPCStorStatusFailed CStorBackupStatus = "Failed" // BKPCStorStatusInit , backup is initialized BKPCStorStatusInit CStorBackupStatus = "Init" // BKPCStorStatusPending , backup is pending BKPCStorStatusPending CStorBackupStatus = "Pending" // BKPCStorStatusInProgress , backup is in progress BKPCStorStatusInProgress CStorBackupStatus = "InProgress" // BKPCStorStatusInvalid , backup operation is invalid BKPCStorStatusInvalid CStorBackupStatus = "Invalid" )
Status written onto CStorBackup objects
type CStorCompletedBackup ¶
type CStorCompletedBackup struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec CStorCompletedBackupSpec `json:"spec"` }
CStorCompletedBackup describes a cstor completed-backup resource created as custom resource +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced,shortName=ccompletedbackup +kubebuilder:printcolumn:name="Volume",type=string,JSONPath=`.spec.volumeName`,description="Volume name on which backup is performed" +kubebuilder:printcolumn:name="Backup/Schedule",type=string,JSONPath=`.spec.backupName`,description="Name of the backup or scheduled backup" +kubebuilder:printcolumn:name="LastSnap",type=string,JSONPath=`.spec.lastSnapName`,description="Last successfully backup snapshot"
func (*CStorCompletedBackup) DeepCopy ¶
func (in *CStorCompletedBackup) DeepCopy() *CStorCompletedBackup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorCompletedBackup.
func (*CStorCompletedBackup) DeepCopyInto ¶
func (in *CStorCompletedBackup) DeepCopyInto(out *CStorCompletedBackup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CStorCompletedBackup) DeepCopyObject ¶
func (in *CStorCompletedBackup) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CStorCompletedBackupList ¶
type CStorCompletedBackupList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []CStorCompletedBackup `json:"items"` }
CStorCompletedBackupList is a list of cstorcompletedbackup resources
func (*CStorCompletedBackupList) DeepCopy ¶
func (in *CStorCompletedBackupList) DeepCopy() *CStorCompletedBackupList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorCompletedBackupList.
func (*CStorCompletedBackupList) DeepCopyInto ¶
func (in *CStorCompletedBackupList) DeepCopyInto(out *CStorCompletedBackupList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CStorCompletedBackupList) DeepCopyObject ¶
func (in *CStorCompletedBackupList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CStorCompletedBackupSpec ¶
type CStorCompletedBackupSpec struct { // BackupName is the name of backup or scheduled backup BackupName string `json:"backupName,omitempty"` // VolumeName is the name of volume for which this backup is destined VolumeName string `json:"volumeName,omitempty"` // SecondLastSnapName is the name of second last 'successfully' completed-backup's snapshot SecondLastSnapName string `json:"secondLastSnapName,omitempty"` // LastSnapName is the name of last completed-backup's snapshot name LastSnapName string `json:"lastSnapName,omitempty"` }
CStorCompletedBackupSpec is the spec for a CStorBackup resource
func (*CStorCompletedBackupSpec) DeepCopy ¶
func (in *CStorCompletedBackupSpec) DeepCopy() *CStorCompletedBackupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorCompletedBackupSpec.
func (*CStorCompletedBackupSpec) DeepCopyInto ¶
func (in *CStorCompletedBackupSpec) DeepCopyInto(out *CStorCompletedBackupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CStorPoolCluster ¶
type CStorPoolCluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec CStorPoolClusterSpec `json:"spec"` Status CStorPoolClusterStatus `json:"status"` VersionDetails VersionDetails `json:"versionDetails"` }
CStorPoolCluster describes a CStorPoolCluster custom resource.
func (*CStorPoolCluster) DeepCopy ¶
func (in *CStorPoolCluster) DeepCopy() *CStorPoolCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorPoolCluster.
func (*CStorPoolCluster) DeepCopyInto ¶
func (in *CStorPoolCluster) DeepCopyInto(out *CStorPoolCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CStorPoolCluster) DeepCopyObject ¶
func (in *CStorPoolCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CStorPoolClusterCondition ¶
type CStorPoolClusterCondition struct { // Type of CSPC condition. Type CSPCConditionType `json:"type"` // Status of the condition, one of True, False, Unknown. Status corev1.ConditionStatus `json:"status"` // The last time this condition was updated. LastUpdateTime metav1.Time `json:"lastUpdateTime,omitempty"` // Last time the condition transitioned from one status to another. LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"` // The reason for the condition's last transition. Reason string `json:"reason,omitempty"` // A human readable message indicating details about the transition. Message string `json:"message,omitempty"` }
CStorPoolClusterCondition describes the state of a CSPC at a certain point.
func (*CStorPoolClusterCondition) DeepCopy ¶
func (in *CStorPoolClusterCondition) DeepCopy() *CStorPoolClusterCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorPoolClusterCondition.
func (*CStorPoolClusterCondition) DeepCopyInto ¶
func (in *CStorPoolClusterCondition) DeepCopyInto(out *CStorPoolClusterCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CStorPoolClusterList ¶
type CStorPoolClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []CStorPoolCluster `json:"items"` }
CStorPoolClusterList is a list of CStorPoolCluster resources
func (*CStorPoolClusterList) DeepCopy ¶
func (in *CStorPoolClusterList) DeepCopy() *CStorPoolClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorPoolClusterList.
func (*CStorPoolClusterList) DeepCopyInto ¶
func (in *CStorPoolClusterList) DeepCopyInto(out *CStorPoolClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CStorPoolClusterList) DeepCopyObject ¶
func (in *CStorPoolClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CStorPoolClusterSpec ¶
type CStorPoolClusterSpec struct { // Pools is the spec for pools for various nodes // where it should be created. Pools []PoolSpec `json:"pools"` // DefaultResources are the compute resources required by the cstor-pool // container. // If the resources at PoolConfig is not specified, this is written // to CSPI PoolConfig. DefaultResources *corev1.ResourceRequirements `json:"resources"` // AuxResources are the compute resources required by the cstor-pool pod // side car containers. DefaultAuxResources *corev1.ResourceRequirements `json:"auxResources"` // Tolerations, if specified, are the pool pod's tolerations // If tolerations at PoolConfig is empty, this is written to // CSPI PoolConfig. Tolerations []corev1.Toleration `json:"tolerations"` // DefaultPriorityClassName if specified applies to all the pool pods // in the pool spec if the priorityClass at the pool level is // not specified. DefaultPriorityClassName string `json:"priorityClassName"` }
CStorPoolClusterSpec is the spec for a CStorPoolClusterSpec resource
func (*CStorPoolClusterSpec) DeepCopy ¶
func (in *CStorPoolClusterSpec) DeepCopy() *CStorPoolClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorPoolClusterSpec.
func (*CStorPoolClusterSpec) DeepCopyInto ¶
func (in *CStorPoolClusterSpec) DeepCopyInto(out *CStorPoolClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CStorPoolClusterStatus ¶
type CStorPoolClusterStatus struct { // ProvisionedInstances is the the number of CSPI present at the current state. ProvisionedInstances int32 `json:"provisionedInstances"` // DesiredInstances is the number of CSPI(s) that should be provisioned. DesiredInstances int32 `json:"desiredInstances"` // HealthyInstances is the number of CSPI(s) that are healthy. HealthyInstances int32 `json:"healthyInstances"` // Current state of CSPC. Conditions []CStorPoolClusterCondition `json:conditions` }
CStorPoolClusterStatus represents the latest available observations of a CSPC's current state.
func (*CStorPoolClusterStatus) DeepCopy ¶
func (in *CStorPoolClusterStatus) DeepCopy() *CStorPoolClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorPoolClusterStatus.
func (*CStorPoolClusterStatus) DeepCopyInto ¶
func (in *CStorPoolClusterStatus) DeepCopyInto(out *CStorPoolClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CStorPoolInstance ¶
type CStorPoolInstance struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec is the specification of the cstorpoolinstance resource. Spec CStorPoolInstanceSpec `json:"spec"` // Status is the possible statuses of the cstorpoolinstance resource. Status CStorPoolInstanceStatus `json:"status"` // VersionDetails is the openebs version. VersionDetails VersionDetails `json:"versionDetails"` }
CStorPoolInstance describes a cstor pool instance resource.
func (*CStorPoolInstance) DeepCopy ¶
func (in *CStorPoolInstance) DeepCopy() *CStorPoolInstance
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorPoolInstance.
func (*CStorPoolInstance) DeepCopyInto ¶
func (in *CStorPoolInstance) DeepCopyInto(out *CStorPoolInstance)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CStorPoolInstance) DeepCopyObject ¶
func (in *CStorPoolInstance) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CStorPoolInstanceBlockDevice ¶
type CStorPoolInstanceBlockDevice struct { // BlockDeviceName is the name of the block device. BlockDeviceName string `json:"blockDeviceName"` // Capacity is the capacity of the block device. // It is system generated Capacity uint64 `json:"capacity"` // DevLink is the dev link for block devices DevLink string `json:"devLink"` }
CStorPoolInstanceBlockDevice contains the details of block devices that constitutes a raid group.
func (*CStorPoolInstanceBlockDevice) DeepCopy ¶
func (in *CStorPoolInstanceBlockDevice) DeepCopy() *CStorPoolInstanceBlockDevice
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorPoolInstanceBlockDevice.
func (*CStorPoolInstanceBlockDevice) DeepCopyInto ¶
func (in *CStorPoolInstanceBlockDevice) DeepCopyInto(out *CStorPoolInstanceBlockDevice)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CStorPoolInstanceCapacity ¶
type CStorPoolInstanceCapacity struct { // Amount of physical data (and its metadata) written to pool // after applying compression, etc.., Used resource.Quantity `json:"used"` // Amount of usable space in the pool after excluding // the storage used for metadata and raid parity Free resource.Quantity `json:"free"` // Sum of usable capacity in all the data raidgroups Total resource.Quantity `json:"total"` // ZFSCapacityAttributes contains advanced information about pool capacity details ZFS ZFSCapacityAttributes `json:"zfs"` }
CStorPoolInstanceCapacity stores the pool capacity related attributes.
func (*CStorPoolInstanceCapacity) DeepCopy ¶
func (in *CStorPoolInstanceCapacity) DeepCopy() *CStorPoolInstanceCapacity
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorPoolInstanceCapacity.
func (*CStorPoolInstanceCapacity) DeepCopyInto ¶
func (in *CStorPoolInstanceCapacity) DeepCopyInto(out *CStorPoolInstanceCapacity)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CStorPoolInstanceCondition ¶
type CStorPoolInstanceCondition struct { // Type of CSPC condition. Type CSPCConditionType `json:"type"` // Status of the condition, one of True, False, Unknown. Status corev1.ConditionStatus `json:"status"` // The last time this condition was updated. LastUpdateTime metav1.Time `json:"lastUpdateTime,omitempty"` // Last time the condition transitioned from one status to another. LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"` // The reason for the condition's last transition. Reason string `json:"reason,omitempty"` // A human readable message indicating details about the transition. Message string `json:"message,omitempty"` }
CSPIConditionType describes the state of a CSPI at a certain point.
func (*CStorPoolInstanceCondition) DeepCopy ¶
func (in *CStorPoolInstanceCondition) DeepCopy() *CStorPoolInstanceCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorPoolInstanceCondition.
func (*CStorPoolInstanceCondition) DeepCopyInto ¶
func (in *CStorPoolInstanceCondition) DeepCopyInto(out *CStorPoolInstanceCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CStorPoolInstanceConditionType ¶
type CStorPoolInstanceConditionType string
const ( // CSPIPoolExpansion condition will be available when user triggers // pool expansion by adding blockdevice/raidgroup (or) when underlying // disk got expanded CSPIPoolExpansion CStorPoolInstanceConditionType = "PoolExpansion" // CSPIDiskReplacement condition will be available when user triggers // disk replacement by replacing the blockdevice CSPIDiskReplacement CStorPoolInstanceConditionType = "DiskReplacement" // disks were unavailable CSPIDiskUnavailable CStorPoolInstanceConditionType = "DiskUnavailable" // CSPIPoolLost condition will be available when unable to import the pool CSPIPoolLost CStorPoolInstanceConditionType = "PoolLost" )
type CStorPoolInstanceList ¶
type CStorPoolInstanceList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []CStorPoolInstance `json:"items"` }
CStorPoolInstanceList is a list of CStorPoolInstance resources
func (*CStorPoolInstanceList) DeepCopy ¶
func (in *CStorPoolInstanceList) DeepCopy() *CStorPoolInstanceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorPoolInstanceList.
func (*CStorPoolInstanceList) DeepCopyInto ¶
func (in *CStorPoolInstanceList) DeepCopyInto(out *CStorPoolInstanceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CStorPoolInstanceList) DeepCopyObject ¶
func (in *CStorPoolInstanceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CStorPoolInstancePhase ¶
type CStorPoolInstancePhase string
CStorPoolInstancePhase is the phase for CStorPoolInstance resource.
const ( // CStorPoolStatusEmpty ensures the create operation is to be done, if import fails. CStorPoolStatusEmpty CStorPoolInstancePhase = "" // CStorPoolStatusOnline signifies that the pool is online. CStorPoolStatusOnline CStorPoolInstancePhase = "ONLINE" // CStorPoolStatusOffline signifies that the pool is offline. CStorPoolStatusOffline CStorPoolInstancePhase = "OFFLINE" // CStorPoolStatusDegraded signifies that the pool is degraded. CStorPoolStatusDegraded CStorPoolInstancePhase = "DEGRADED" // CStorPoolStatusFaulted signifies that the pool is faulted. CStorPoolStatusFaulted CStorPoolInstancePhase = "FAULTED" // CStorPoolStatusRemoved signifies that the pool is removed. CStorPoolStatusRemoved CStorPoolInstancePhase = "REMOVED" CStorPoolStatusUnavail CStorPoolInstancePhase = "UNAVAIL" // CStorPoolStatusError signifies that the pool status could not be fetched. CStorPoolStatusError CStorPoolInstancePhase = "Error" // CStorPoolStatusDeletionFailed ensures the resource deletion has failed. CStorPoolStatusDeletionFailed CStorPoolInstancePhase = "DeletionFailed" // CStorPoolStatusInvalid ensures invalid resource. CStorPoolStatusInvalid CStorPoolInstancePhase = "Invalid" // CStorPoolStatusErrorDuplicate ensures error due to duplicate resource. CStorPoolStatusErrorDuplicate CStorPoolInstancePhase = "ErrorDuplicate" // CStorPoolStatusPending ensures pending task for cstorpool. CStorPoolStatusPending CStorPoolInstancePhase = "Pending" // CStorPoolStatusInit is initial state of CSP, before pool creation. CStorPoolStatusInit CStorPoolInstancePhase = "Init" // CStorPoolStatusCreateFailed is state when pool creation failed CStorPoolStatusCreateFailed CStorPoolInstancePhase = "PoolCreationFailed" )
Status written onto CStorPool and CStorVolumeReplica objects. Resetting state to either Init or CreateFailed need to be done with care, as, label clear and pool creation depends on this state.
type CStorPoolInstanceSpec ¶
type CStorPoolInstanceSpec struct { // HostName is the name of kubernetes node where the pool // should be created. HostName string `json:"hostName"` // NodeSelector is the labels that will be used to select // a node for pool provisioning. // Required field NodeSelector map[string]string `json:"nodeSelector"` // PoolConfig is the default pool config that applies to the // pool on node. PoolConfig PoolConfig `json:"poolConfig"` // DataRaidGroups is the raid group configuration for the given pool. DataRaidGroups []RaidGroup `json:"dataRaidGroups"` // WriteCacheRaidGroups is the write cache raid group. WriteCacheRaidGroups []RaidGroup `json:"writeCacheRaidGroups"` }
CStorPoolInstanceSpec is the spec listing fields for a CStorPoolInstance resource.
func (*CStorPoolInstanceSpec) DeepCopy ¶
func (in *CStorPoolInstanceSpec) DeepCopy() *CStorPoolInstanceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorPoolInstanceSpec.
func (*CStorPoolInstanceSpec) DeepCopyInto ¶
func (in *CStorPoolInstanceSpec) DeepCopyInto(out *CStorPoolInstanceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CStorPoolInstanceStatus ¶
type CStorPoolInstanceStatus struct { // Current state of CSPI with details. Conditions []CStorPoolInstanceCondition `json:"conditions,omitempty"` // The phase of a CStorPool is a simple, high-level summary of the pool state on the // node. Phase CStorPoolInstancePhase `json:"phase"` // Capacity describes the capacity details of a cstor pool Capacity CStorPoolInstanceCapacity `json:"capacity"` //ReadOnly if pool is readOnly or not ReadOnly bool `json:"readOnly"` // ProvisionedReplicas describes the total count of Volume Replicas // present in the cstor pool ProvisionedReplicas int32 `json:"provisionedReplicas"` // HealthyReplicas describes the total count of healthy Volume Replicas // in the cstor pool HealthyReplicas int32 `json:"healthyReplicas"` }
CStorPoolInstanceStatus is for handling status of pool.
func (*CStorPoolInstanceStatus) DeepCopy ¶
func (in *CStorPoolInstanceStatus) DeepCopy() *CStorPoolInstanceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorPoolInstanceStatus.
func (*CStorPoolInstanceStatus) DeepCopyInto ¶
func (in *CStorPoolInstanceStatus) DeepCopyInto(out *CStorPoolInstanceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CStorRestore ¶
type CStorRestore struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // set name to restore name + volume name + something like cspi tag Spec CStorRestoreSpec `json:"spec"` Status CStorRestoreStatus `json:"status,omitempty"` }
CStorRestore describes a cstor restore resource created as a custom resource +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced,shortName=crestore +kubebuilder:printcolumn:name="Backup",type=string,JSONPath=`.spec.restoreName`,description="Name of the snapshot which is restored" +kubebuilder:printcolumn:name="Volume",type=string,JSONPath=`.spec.volumeName`,description="Volume on which restore is performed" +kubebuilder:printcolumn:name="Status",type=string,JSONPath=`.status`,description="Identifies the state of the restore"
func (*CStorRestore) DeepCopy ¶
func (in *CStorRestore) DeepCopy() *CStorRestore
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorRestore.
func (*CStorRestore) DeepCopyInto ¶
func (in *CStorRestore) DeepCopyInto(out *CStorRestore)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CStorRestore) DeepCopyObject ¶
func (in *CStorRestore) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CStorRestoreList ¶
type CStorRestoreList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []CStorRestore `json:"items"` }
CStorRestoreList is a list of CStorRestore resources
func (*CStorRestoreList) DeepCopy ¶
func (in *CStorRestoreList) DeepCopy() *CStorRestoreList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorRestoreList.
func (*CStorRestoreList) DeepCopyInto ¶
func (in *CStorRestoreList) DeepCopyInto(out *CStorRestoreList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CStorRestoreList) DeepCopyObject ¶
func (in *CStorRestoreList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CStorRestoreSpec ¶
type CStorRestoreSpec struct { // RestoreName holds restore name RestoreName string `json:"restoreName"` // VolumeName is used to restore the data to corresponding volume VolumeName string `json:"volumeName"` // RestoreSrc can be ip:port in case of restore from remote or volumeName // in case of local restore RestoreSrc string `json:"restoreSrc"` // MaxRestoreRetryCount is the maximum number of attempt, will be performed to restore MaxRetryCount int `json:"maxretrycount,omitempty"` // RetryCount represents the number of restore attempts performed for the restore RetryCount int `json:"retrycount,omitempty"` // StorageClass represents name of StorageClass of restore volume StorageClass string `json:"storageClass,omitempty"` // Size represents the size of a snapshot to restore Size resource.Quantity `json:"size,omitempty"` // Local defines whether restore is from local/remote Local bool `json:"localRestore,omitempty"` }
CStorRestoreSpec is the spec for a CStorRestore resource
func (*CStorRestoreSpec) DeepCopy ¶
func (in *CStorRestoreSpec) DeepCopy() *CStorRestoreSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorRestoreSpec.
func (*CStorRestoreSpec) DeepCopyInto ¶
func (in *CStorRestoreSpec) DeepCopyInto(out *CStorRestoreSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CStorRestoreStatus ¶
type CStorRestoreStatus string
CStorRestoreStatus is a string type that represents the status of the restore
const ( // RSTCStorStatusEmpty represents the restore resource is created and yet to // be reconciled by restore controller RSTCStorStatusEmpty CStorRestoreStatus = "" // RSTCStorStatusDone , restore operation is completed. RSTCStorStatusDone CStorRestoreStatus = "Done" // RSTCStorStatusFailed , restore operation is failed. RSTCStorStatusFailed CStorRestoreStatus = "Failed" // RSTCStorStatusInit , restore operation is initialized. RSTCStorStatusInit CStorRestoreStatus = "Init" // RSTCStorStatusPending , restore operation is pending. RSTCStorStatusPending CStorRestoreStatus = "Pending" // RSTCStorStatusInProgress , restore operation is in progress. RSTCStorStatusInProgress CStorRestoreStatus = "InProgress" // RSTCStorStatusInvalid , restore operation is invalid. RSTCStorStatusInvalid CStorRestoreStatus = "Invalid" )
Status written onto CStrorRestore object.
type CStorSnapshotInfo ¶
type CStorSnapshotInfo struct { // LogicalReferenced describes the amount of space that is "logically" // accessable by this snapshot. This logical space ignores the // effect of the compression and copies properties, giving a quantity // closer to the amount of data that application see. It also includes // space consumed by metadata. LogicalReferenced uint64 `json:"logicalReferenced"` }
CStorSnapshotInfo represents the snapshot information related to particular snapshot
func (*CStorSnapshotInfo) DeepCopy ¶
func (in *CStorSnapshotInfo) DeepCopy() *CStorSnapshotInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorSnapshotInfo.
func (*CStorSnapshotInfo) DeepCopyInto ¶
func (in *CStorSnapshotInfo) DeepCopyInto(out *CStorSnapshotInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CStorVolume ¶
type CStorVolume struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec CStorVolumeSpec `json:"spec"` Status CStorVolumeStatus `json:"status"` VersionDetails VersionDetails `json:"versionDetails"` }
CStorVolume describes a cstor volume resource created as custom resource
func (*CStorVolume) DeepCopy ¶
func (in *CStorVolume) DeepCopy() *CStorVolume
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorVolume.
func (*CStorVolume) DeepCopyInto ¶
func (in *CStorVolume) DeepCopyInto(out *CStorVolume)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CStorVolume) DeepCopyObject ¶
func (in *CStorVolume) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CStorVolumeAttachment ¶
type CStorVolumeAttachment struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec CStorVolumeAttachmentSpec `json:"spec"` Status CStorVolumeAttachmentStatus `json:"status,omitempty"` }
CStorVolumeAttachment represents a CSI based volume +kubebuilder:object:root=true +kubebuilder:resource:scope=Namespaced,shortName=cva
func (*CStorVolumeAttachment) DeepCopy ¶
func (in *CStorVolumeAttachment) DeepCopy() *CStorVolumeAttachment
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorVolumeAttachment.
func (*CStorVolumeAttachment) DeepCopyInto ¶
func (in *CStorVolumeAttachment) DeepCopyInto(out *CStorVolumeAttachment)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CStorVolumeAttachment) DeepCopyObject ¶
func (in *CStorVolumeAttachment) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CStorVolumeAttachmentList ¶
type CStorVolumeAttachmentList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []CStorVolumeAttachment `json:"items"` }
CStorVolumeAttachmentList is a list of CStorVolumeAttachment resources
func (*CStorVolumeAttachmentList) DeepCopy ¶
func (in *CStorVolumeAttachmentList) DeepCopy() *CStorVolumeAttachmentList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorVolumeAttachmentList.
func (*CStorVolumeAttachmentList) DeepCopyInto ¶
func (in *CStorVolumeAttachmentList) DeepCopyInto(out *CStorVolumeAttachmentList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CStorVolumeAttachmentList) DeepCopyObject ¶
func (in *CStorVolumeAttachmentList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CStorVolumeAttachmentSpec ¶
type CStorVolumeAttachmentSpec struct { // Volume specific info Volume VolumeInfo `json:"volume"` // ISCSIInfo specific to ISCSI protocol, // this is filled only if the volume type // is iSCSI ISCSI ISCSIInfo `json:"iscsi"` }
CStorVolumeAttachmentSpec is the spec for a CStorVolume resource
func (*CStorVolumeAttachmentSpec) DeepCopy ¶
func (in *CStorVolumeAttachmentSpec) DeepCopy() *CStorVolumeAttachmentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorVolumeAttachmentSpec.
func (*CStorVolumeAttachmentSpec) DeepCopyInto ¶
func (in *CStorVolumeAttachmentSpec) DeepCopyInto(out *CStorVolumeAttachmentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CStorVolumeAttachmentStatus ¶
type CStorVolumeAttachmentStatus string
CStorVolumeAttachmentStatus status represents the current mount status of the volume
const ( // CStorVolumeAttachmentStatusUninitialized indicates that no operation has been // performed on the volume yet on this node CStorVolumeAttachmentStatusUninitialized CStorVolumeAttachmentStatus = "" // CStorVolumeAttachmentStatusMountUnderProgress indicates that the volume is busy and // unavailable for use by other goroutines, an iSCSI login followed by mount // is under progress on this volume CStorVolumeAttachmentStatusMountUnderProgress CStorVolumeAttachmentStatus = "MountUnderProgress" // CStorVolumeAttachmentStatusMounteid indicated that the volume has been successfulled // mounted on the node CStorVolumeAttachmentStatusMounted CStorVolumeAttachmentStatus = "Mounted" // CStorVolumeAttachmentStatusUnMounted indicated that the volume has been successfuly // unmounted and logged out of the node CStorVolumeAttachmentStatusUnmounted CStorVolumeAttachmentStatus = "Unmounted" // CStorVolumeAttachmentStatusRaw indicates that the volume is being used in raw format // by the application, therefore CSI has only performed iSCSI login // operation on this volume and avoided filesystem creation and mount. CStorVolumeAttachmentStatusRaw CStorVolumeAttachmentStatus = "Raw" // CStorVolumeAttachmentStatusResizeInProgress indicates that the volume is being // resized CStorVolumeAttachmentStatusResizeInProgress CStorVolumeAttachmentStatus = "ResizeInProgress" // CStorVolumeAttachmentStatusMountFailed indicates that login and mount process from // the volume has bben started but failed kubernetes needs to retry sending // nodepublish CStorVolumeAttachmentStatusMountFailed CStorVolumeAttachmentStatus = "MountFailed" // CStorVolumeAttachmentStatusUnmountInProgress indicates that the volume is busy and // unavailable for use by other goroutines, an unmount operation on volume // is under progress CStorVolumeAttachmentStatusUnmountUnderProgress CStorVolumeAttachmentStatus = "UnmountUnderProgress" // CStorVolumeAttachmentStatusWaitingForCVCBound indicates that the volume components // are still being created CStorVolumeAttachmentStatusWaitingForCVCBound CStorVolumeAttachmentStatus = "WaitingForCVCBound" // CStorVolumeAttachmentStatusWaitingForVolumeToBeReady indicates that the replicas are // yet to connect to target CStorVolumeAttachmentStatusWaitingForVolumeToBeReady CStorVolumeAttachmentStatus = "WaitingForVolumeToBeReady" // CStorVolumeAttachmentStatusRemountUnderProgress indicates that the volume is being remounted CStorVolumeAttachmentStatusRemountUnderProgress CStorVolumeAttachmentStatus = "RemountUnderProgress" )
CStorVolumeAttachmentStatusMounting indicated that a mount operation has been triggered on the volume and is under progress
type CStorVolumeCondition ¶
type CStorVolumeCondition struct { Type CStorVolumeConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=CStorVolumeConditionType"` Status ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=ConditionStatus"` // Last time we probed the condition. // +optional LastProbeTime metav1.Time `json:"lastProbeTime,omitempty" protobuf:"bytes,3,opt,name=lastProbeTime"` // Last time the condition transitioned from one status to another. // +optional LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,4,opt,name=lastTransitionTime"` // Unique, this should be a short, machine understandable string that gives the reason // for condition's last transition. If it reports "ResizePending" that means the underlying // cstorvolume is being resized. // +optional Reason string `json:"reason,omitempty" protobuf:"bytes,5,opt,name=reason"` // Human-readable message indicating details about last transition. // +optional Message string `json:"message,omitempty" protobuf:"bytes,6,opt,name=message"` }
CStorVolumeCondition contains details about state of cstorvolume
func (*CStorVolumeCondition) DeepCopy ¶
func (in *CStorVolumeCondition) DeepCopy() *CStorVolumeCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorVolumeCondition.
func (*CStorVolumeCondition) DeepCopyInto ¶
func (in *CStorVolumeCondition) DeepCopyInto(out *CStorVolumeCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CStorVolumeConditionType ¶
type CStorVolumeConditionType string
CStorVolumeConditionType is a valid value of CStorVolumeCondition.Type
const ( // CStorVolumeResizing - a user trigger resize of pvc has been started CStorVolumeResizing CStorVolumeConditionType = "Resizing" )
type CStorVolumeConfig ¶
type CStorVolumeConfig struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec defines a specification of a cstor volume claim required // to provisione cstor volume resources Spec CStorVolumeConfigSpec `json:"spec"` // Publish contains info related to attachment of a volume to a node. // i.e. NodeId etc. Publish CStorVolumeConfigPublish `json:"publish,omitempty"` // Status represents the current information/status for the cstor volume // claim, populated by the controller. Status CStorVolumeConfigStatus `json:"status"` VersionDetails VersionDetails `json:"versionDetails"` }
CStorVolumeConfig describes a cstor volume claim resource created as custom resource. CStorVolumeConfig is a request for creating cstor volume related resources like deployment, svc etc.
func (*CStorVolumeConfig) DeepCopy ¶
func (in *CStorVolumeConfig) DeepCopy() *CStorVolumeConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorVolumeConfig.
func (*CStorVolumeConfig) DeepCopyInto ¶
func (in *CStorVolumeConfig) DeepCopyInto(out *CStorVolumeConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CStorVolumeConfig) DeepCopyObject ¶
func (in *CStorVolumeConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CStorVolumeConfigCondition ¶
type CStorVolumeConfigCondition struct { // Current Condition of cstor volume claim. If underlying persistent volume is being // resized then the Condition will be set to 'ResizeStarted' etc Type CStorVolumeConfigConditionType `json:"type"` // Last time we probed the condition. // +optional LastProbeTime metav1.Time `json:"lastProbeTime,omitempty"` // Last time the condition transitioned from one status to another. // +optional LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"` // Reason is a brief CamelCase string that describes any failure Reason string `json:"reason"` // Human-readable message indicating details about last transition. Message string `json:"message"` }
CStorVolumeConfigCondition contains details about state of cstor volume
func (*CStorVolumeConfigCondition) DeepCopy ¶
func (in *CStorVolumeConfigCondition) DeepCopy() *CStorVolumeConfigCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorVolumeConfigCondition.
func (*CStorVolumeConfigCondition) DeepCopyInto ¶
func (in *CStorVolumeConfigCondition) DeepCopyInto(out *CStorVolumeConfigCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CStorVolumeConfigConditionType ¶
type CStorVolumeConfigConditionType string
CStorVolumeConfigConditionType is a valid value of CstorVolumeConfigCondition.Type
const ( // CStorVolumeConfigResizePending ... CStorVolumeConfigResizing CStorVolumeConfigConditionType = "Resizing" // CStorVolumeConfigResizeFailed ... CStorVolumeConfigResizeFailed CStorVolumeConfigConditionType = "VolumeResizeFailed" // CStorVolumeConfigResizeSuccess ... CStorVolumeConfigResizeSuccess CStorVolumeConfigConditionType = "VolumeResizeSuccessful" // CStorVolumeConfigResizePending ... CStorVolumeConfigResizePending CStorVolumeConfigConditionType = "VolumeResizePending" )
These constants are CVC condition types related to resize operation.
type CStorVolumeConfigList ¶
type CStorVolumeConfigList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []CStorVolumeConfig `json:"items"` }
CStorVolumeConfigList is a list of CStorVolumeConfig resources
func (*CStorVolumeConfigList) DeepCopy ¶
func (in *CStorVolumeConfigList) DeepCopy() *CStorVolumeConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorVolumeConfigList.
func (*CStorVolumeConfigList) DeepCopyInto ¶
func (in *CStorVolumeConfigList) DeepCopyInto(out *CStorVolumeConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CStorVolumeConfigList) DeepCopyObject ¶
func (in *CStorVolumeConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CStorVolumeConfigPhase ¶
type CStorVolumeConfigPhase string
CStorVolumeConfigPhase represents the current phase of CStorVolumeConfig.
const ( //CStorVolumeConfigPhasePending indicates that the cvc is still waiting for //the cstorvolume to be created and bound CStorVolumeConfigPhasePending CStorVolumeConfigPhase = "Pending" //CStorVolumeConfigPhaseBound indiacates that the cstorvolume has been //provisioned and bound to the cstor volume claim CStorVolumeConfigPhaseBound CStorVolumeConfigPhase = "Bound" //CStorVolumeConfigPhaseFailed indiacates that the cstorvolume provisioning //has failed CStorVolumeConfigPhaseFailed CStorVolumeConfigPhase = "Failed" )
type CStorVolumeConfigPublish ¶
type CStorVolumeConfigPublish struct { // NodeID contains publish info related to attachment of a volume to a node. NodeID string `json:"nodeId,omitempty"` }
CStorVolumeConfigPublish contains info related to attachment of a volume to a node. i.e. NodeId etc.
func (*CStorVolumeConfigPublish) DeepCopy ¶
func (in *CStorVolumeConfigPublish) DeepCopy() *CStorVolumeConfigPublish
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorVolumeConfigPublish.
func (*CStorVolumeConfigPublish) DeepCopyInto ¶
func (in *CStorVolumeConfigPublish) DeepCopyInto(out *CStorVolumeConfigPublish)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CStorVolumeConfigSpec ¶
type CStorVolumeConfigSpec struct { // Capacity represents the actual resources of the underlying // cstor volume. Capacity corev1.ResourceList `json:"capacity"` // CStorVolumeRef has the information about where CstorVolumeClaim // is created from. CStorVolumeRef *corev1.ObjectReference `json:"cstorVolumeRef,omitempty"` // CStorVolumeSource contains the source volumeName@snapShotname // combaination. This will be filled only if it is a clone creation. CStorVolumeSource string `json:"cstorVolumeSource,omitempty"` // Provision represents the initial volume configuration for the underlying // cstor volume based on the persistent volume request by user. Provision // properties are immutable Provision VolumeProvision `json:"provision"` // Policy contains volume specific required policies target and replicas Policy CStorVolumePolicySpec `json:"policy"` }
CStorVolumeConfigSpec is the spec for a CStorVolumeConfig resource
func (*CStorVolumeConfigSpec) DeepCopy ¶
func (in *CStorVolumeConfigSpec) DeepCopy() *CStorVolumeConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorVolumeConfigSpec.
func (*CStorVolumeConfigSpec) DeepCopyInto ¶
func (in *CStorVolumeConfigSpec) DeepCopyInto(out *CStorVolumeConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CStorVolumeConfigStatus ¶
type CStorVolumeConfigStatus struct { // Phase represents the current phase of CStorVolumeConfig. Phase CStorVolumeConfigPhase `json:"phase"` // PoolInfo represents current pool names where volume replicas exists PoolInfo []string `json:"poolInfo"` // Capacity the actual resources of the underlying volume. Capacity corev1.ResourceList `json:"capacity,omitempty"` Conditions []CStorVolumeConfigCondition `json:"condition,omitempty"` }
CStorVolumeConfigStatus is for handling status of CstorVolume Claim. defines the observed state of CStorVolumeConfig
func (*CStorVolumeConfigStatus) DeepCopy ¶
func (in *CStorVolumeConfigStatus) DeepCopy() *CStorVolumeConfigStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorVolumeConfigStatus.
func (*CStorVolumeConfigStatus) DeepCopyInto ¶
func (in *CStorVolumeConfigStatus) DeepCopyInto(out *CStorVolumeConfigStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CStorVolumeList ¶
type CStorVolumeList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []CStorVolume `json:"items"` }
CStorVolumeList is a list of CStorVolume resources
func (*CStorVolumeList) DeepCopy ¶
func (in *CStorVolumeList) DeepCopy() *CStorVolumeList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorVolumeList.
func (*CStorVolumeList) DeepCopyInto ¶
func (in *CStorVolumeList) DeepCopyInto(out *CStorVolumeList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CStorVolumeList) DeepCopyObject ¶
func (in *CStorVolumeList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CStorVolumePolicy ¶
type CStorVolumePolicy struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec defines a configuration info of a cstor volume required // to provisione cstor volume resources Spec CStorVolumePolicySpec `json:"spec"` Status CStorVolumePolicyStatus `json:"status"` }
CStorVolumePolicy describes a configuration required for cstor volume resources
func (*CStorVolumePolicy) DeepCopy ¶
func (in *CStorVolumePolicy) DeepCopy() *CStorVolumePolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorVolumePolicy.
func (*CStorVolumePolicy) DeepCopyInto ¶
func (in *CStorVolumePolicy) DeepCopyInto(out *CStorVolumePolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CStorVolumePolicy) DeepCopyObject ¶
func (in *CStorVolumePolicy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CStorVolumePolicyList ¶
type CStorVolumePolicyList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []CStorVolumePolicy `json:"items"` }
CStorVolumePolicyList is a list of CStorVolumePolicy resources
func (*CStorVolumePolicyList) DeepCopy ¶
func (in *CStorVolumePolicyList) DeepCopy() *CStorVolumePolicyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorVolumePolicyList.
func (*CStorVolumePolicyList) DeepCopyInto ¶
func (in *CStorVolumePolicyList) DeepCopyInto(out *CStorVolumePolicyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CStorVolumePolicyList) DeepCopyObject ¶
func (in *CStorVolumePolicyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CStorVolumePolicySpec ¶
type CStorVolumePolicySpec struct { // replicaAffinity is set to true then volume replica resources need to be // distributed across the pool instances Provision Provision `json:"provision"` // TargetSpec represents configuration related to cstor target and its resources Target TargetSpec `json:"target"` // ReplicaSpec represents configuration related to replicas resources Replica ReplicaSpec `json:"replica"` // ReplicaPoolInfo holds the pool information of volume replicas. // Ex: If volume is provisioned on which CStor pool volume replicas exist ReplicaPoolInfo []ReplicaPoolInfo `json:"replicaPoolInfo"` }
CStorVolumePolicySpec ...
func (*CStorVolumePolicySpec) DeepCopy ¶
func (in *CStorVolumePolicySpec) DeepCopy() *CStorVolumePolicySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorVolumePolicySpec.
func (*CStorVolumePolicySpec) DeepCopyInto ¶
func (in *CStorVolumePolicySpec) DeepCopyInto(out *CStorVolumePolicySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CStorVolumePolicyStatus ¶
type CStorVolumePolicyStatus struct {
Phase string `json:"phase"`
}
CStorVolumePolicyStatus is for handling status of CstorVolumePolicy
func (*CStorVolumePolicyStatus) DeepCopy ¶
func (in *CStorVolumePolicyStatus) DeepCopy() *CStorVolumePolicyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorVolumePolicyStatus.
func (*CStorVolumePolicyStatus) DeepCopyInto ¶
func (in *CStorVolumePolicyStatus) DeepCopyInto(out *CStorVolumePolicyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CStorVolumeReplica ¶
type CStorVolumeReplica struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec CStorVolumeReplicaSpec `json:"spec"` Status CStorVolumeReplicaStatus `json:"status"` VersionDetails VersionDetails `json:"versionDetails"` }
CStorVolumeReplica describes a cstor volume resource created as custom resource
func (*CStorVolumeReplica) DeepCopy ¶
func (in *CStorVolumeReplica) DeepCopy() *CStorVolumeReplica
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorVolumeReplica.
func (*CStorVolumeReplica) DeepCopyInto ¶
func (in *CStorVolumeReplica) DeepCopyInto(out *CStorVolumeReplica)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CStorVolumeReplica) DeepCopyObject ¶
func (in *CStorVolumeReplica) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CStorVolumeReplicaCapacityDetails ¶
type CStorVolumeReplicaCapacityDetails struct { // The amount of space consumed by this volume replica and all its descendents Total string `json:"total"` // The amount of space that is "logically" accessible by this dataset. The logical // space ignores the effect of the compression and copies properties, giving a // quantity closer to the amount of data that applications see. However, it does // include space consumed by metadata Used string `json:"used"` }
CStorVolumeCapacityDetails represents capacity information releated to volume replica
func (*CStorVolumeReplicaCapacityDetails) DeepCopy ¶
func (in *CStorVolumeReplicaCapacityDetails) DeepCopy() *CStorVolumeReplicaCapacityDetails
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorVolumeReplicaCapacityDetails.
func (*CStorVolumeReplicaCapacityDetails) DeepCopyInto ¶
func (in *CStorVolumeReplicaCapacityDetails) DeepCopyInto(out *CStorVolumeReplicaCapacityDetails)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CStorVolumeReplicaDetails ¶
type CStorVolumeReplicaDetails struct { // KnownReplicas represents the replicas that target can trust to read data KnownReplicas map[ReplicaID]string `json:"knownReplicas,omitempty"` }
CStorVolumeReplicaDetails contains trusty replica inform which will be updated by target
func (*CStorVolumeReplicaDetails) DeepCopy ¶
func (in *CStorVolumeReplicaDetails) DeepCopy() *CStorVolumeReplicaDetails
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorVolumeReplicaDetails.
func (*CStorVolumeReplicaDetails) DeepCopyInto ¶
func (in *CStorVolumeReplicaDetails) DeepCopyInto(out *CStorVolumeReplicaDetails)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CStorVolumeReplicaList ¶
type CStorVolumeReplicaList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []CStorVolumeReplica `json:"items"` }
CStorVolumeReplicaList is a list of CStorVolumeReplica resources
func (*CStorVolumeReplicaList) DeepCopy ¶
func (in *CStorVolumeReplicaList) DeepCopy() *CStorVolumeReplicaList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorVolumeReplicaList.
func (*CStorVolumeReplicaList) DeepCopyInto ¶
func (in *CStorVolumeReplicaList) DeepCopyInto(out *CStorVolumeReplicaList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CStorVolumeReplicaList) DeepCopyObject ¶
func (in *CStorVolumeReplicaList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type CStorVolumeReplicaPhase ¶
type CStorVolumeReplicaPhase string
CStorVolumeReplicaPhase is to hold result of action.
const ( // CVRStatusEmpty describes CVR resource is created but not yet monitored by // controller(i.e resource is just created) CVRStatusEmpty CStorVolumeReplicaPhase = "" // CVRStatusOnline describes volume replica is Healthy and data existing on // the healthy replica is up to date CVRStatusOnline CStorVolumeReplicaPhase = "Healthy" // CVRStatusOffline describes volume replica is created but not yet connected // to the target CVRStatusOffline CStorVolumeReplicaPhase = "Offline" // CVRStatusDegraded describes volume replica is connected to the target and // rebuilding from other replicas is not yet started but ready for serving // IO's CVRStatusDegraded CStorVolumeReplicaPhase = "Degraded" // CVRStatusNewReplicaDegraded describes replica is recreated (due to pool // recreation[underlying disk got changed]/volume replica scaleup cases) and // just connected to the target. Volume replica has to start reconstructing // entier data from another available healthy replica. Until volume replica // becomes healthy whatever data written to it is lost(NewReplica also not part // of any quorum decision) CVRStatusNewReplicaDegraded CStorVolumeReplicaPhase = "NewReplicaDegraded" // CVRStatusRebuilding describes volume replica has missing data and it // started rebuilding missing data from other replicas CVRStatusRebuilding CStorVolumeReplicaPhase = "Rebuilding" // CVRStatusReconstructingNewReplica describes volume replica is recreated // and it started reconstructing entier data from other healthy replica CVRStatusReconstructingNewReplica CStorVolumeReplicaPhase = "ReconstructingNewReplica" // CVRStatusError describes either volume replica is not exist in cstor pool CVRStatusError CStorVolumeReplicaPhase = "Error" // CVRStatusDeletionFailed describes volume replica deletion is failed CVRStatusDeletionFailed CStorVolumeReplicaPhase = "DeletionFailed" // CVRStatusInvalid ensures invalid resource(currently not honoring) CVRStatusInvalid CStorVolumeReplicaPhase = "Invalid" // CVRStatusInit describes CVR resource is newly created but it is not yet // created zfs dataset CVRStatusInit CStorVolumeReplicaPhase = "Init" // CVRStatusRecreate describes the volume replica is recreated due to pool // recreation/scaleup CVRStatusRecreate CStorVolumeReplicaPhase = "Recreate" )
Status written onto CStorVolumeReplica objects.
type CStorVolumeReplicaSpec ¶
type CStorVolumeReplicaSpec struct { // TargetIP represents iscsi target IP through which replica cummunicates // IO workloads and other volume operations like snapshot and resize requests TargetIP string `json:"targetIP"` //Represents the actual capacity of the underlying volume Capacity string `json:"capacity"` // ZvolWorkers represents number of threads that executes client IOs ZvolWorkers string `json:"zvolWorkers"` // ReplicaID is unique number to identify the replica ReplicaID string `json:"replicaid"` // Controls the compression algorithm used for this volumes // examples: on|off|gzip|gzip-N|lz4|lzjb|zle Compression string `json:"compression"` // BlockSize is the logical block size in multiple of 512 bytes // BlockSize specifies the block size of the volume. The blocksize // cannot be changed once the volume has been written, so it should be // set at volume creation time. The default blocksize for volumes is 4 Kbytes. // Any power of 2 from 512 bytes to 128 Kbytes is valid. BlockSize uint32 `json:"blockSize"` }
CStorVolumeReplicaSpec is the spec for a CStorVolumeReplica resource
func (*CStorVolumeReplicaSpec) DeepCopy ¶
func (in *CStorVolumeReplicaSpec) DeepCopy() *CStorVolumeReplicaSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorVolumeReplicaSpec.
func (*CStorVolumeReplicaSpec) DeepCopyInto ¶
func (in *CStorVolumeReplicaSpec) DeepCopyInto(out *CStorVolumeReplicaSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CStorVolumeReplicaStatus ¶
type CStorVolumeReplicaStatus struct { // CStorVolumeReplicaPhase is to holds different phases of replica Phase CStorVolumeReplicaPhase `json:"phase"` // CStorVolumeCapacityDetails represents capacity info of replica Capacity CStorVolumeReplicaCapacityDetails `json:"capacity"` // LastTransitionTime refers to the time when the phase changes LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"` // The last updated time LastUpdateTime metav1.Time `json:"lastUpdateTime,omitempty"` // A human readable message indicating details about the transition. Message string `json:"message,omitempty"` // Snapshots contains list of snapshots, and their properties, // created on CVR Snapshots map[string]CStorSnapshotInfo `json:"snapshots,omitempty"` // PendingSnapshots contains list of pending snapshots that are not yet // available on this replica PendingSnapshots map[string]CStorSnapshotInfo `json:"pendingSnapshots,omitempty"` }
CStorVolumeReplicaStatus is for handling status of cvr.
func (*CStorVolumeReplicaStatus) DeepCopy ¶
func (in *CStorVolumeReplicaStatus) DeepCopy() *CStorVolumeReplicaStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorVolumeReplicaStatus.
func (*CStorVolumeReplicaStatus) DeepCopyInto ¶
func (in *CStorVolumeReplicaStatus) DeepCopyInto(out *CStorVolumeReplicaStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CStorVolumeSpec ¶
type CStorVolumeSpec struct { // Capacity represents the desired size of the underlying volume. Capacity resource.Quantity `json:"capacity"` // TargetIP IP of the iSCSI target service TargetIP string `json:"targetIP"` // iSCSI Target Port typically TCP ports 3260 TargetPort string `json:"targetPort"` // Target iSCSI Qualified Name.combination of nodeBase Iqn string `json:"iqn"` // iSCSI Target Portal. The Portal is combination of IP:port (typically TCP ports 3260) TargetPortal string `json:"targetPortal"` // ReplicationFactor represents number of volume replica created during volume // provisioning connect to the target ReplicationFactor int `json:"replicationFactor"` // ConsistencyFactor is minimum number of volume replicas i.e. `RF/2 + 1` // has to be connected to the target for write operations. Basically more then // 50% of replica has to be connected to target. ConsistencyFactor int `json:"consistencyFactor"` // DesiredReplicationFactor represents maximum number of replicas // that are allowed to connect to the target. Required for scale operations DesiredReplicationFactor int `json:"desiredReplicationFactor"` //ReplicaDetails refers to the trusty replica information ReplicaDetails CStorVolumeReplicaDetails `json:"replicaDetails,omitempty"` }
CStorVolumeSpec is the spec for a CStorVolume resource
func (*CStorVolumeSpec) DeepCopy ¶
func (in *CStorVolumeSpec) DeepCopy() *CStorVolumeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorVolumeSpec.
func (*CStorVolumeSpec) DeepCopyInto ¶
func (in *CStorVolumeSpec) DeepCopyInto(out *CStorVolumeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CStorVolumeStatus ¶
type CStorVolumeStatus struct { Phase CStorVolumePhase `json:"phase"` ReplicaStatuses []ReplicaStatus `json:"replicaStatuses,omitempty"` // Represents the actual capacity of the underlying volume. Capacity resource.Quantity `json:"capacity,omitempty"` // LastTransitionTime refers to the time when the phase changes LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"` // LastUpdateTime refers to the time when last status updated due to any // operations LastUpdateTime metav1.Time `json:"lastUpdateTime,omitempty"` // A human-readable message indicating details about why the volume is in this state. Message string `json:"message,omitempty"` // Current Condition of cstorvolume. If underlying persistent volume is being // resized then the Condition will be set to 'ResizePending'. // +optional // +patchMergeKey=type // +patchStrategy=merge Conditions []CStorVolumeCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,4,rep,name=conditions"` // ReplicaDetails refers to the trusty replica information ReplicaDetails CStorVolumeReplicaDetails `json:"replicaDetails,omitempty"` }
CStorVolumeStatus is for handling status of cvr.
func (*CStorVolumeStatus) DeepCopy ¶
func (in *CStorVolumeStatus) DeepCopy() *CStorVolumeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorVolumeStatus.
func (*CStorVolumeStatus) DeepCopyInto ¶
func (in *CStorVolumeStatus) DeepCopyInto(out *CStorVolumeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CVRKey ¶
type CVRKey string
CVRKey represents the properties of a cstorvolumereplica
const ( // CloneEnableKEY is used to enable/disable cloning for a cstorvolumereplica CloneEnableKEY CVRKey = "openebs.io/cloned" // SourceVolumeKey stores the name of source volume whose snapshot is used to // create this cvr SourceVolumeKey CVRKey = "openebs.io/source-volume" // SnapshotNameKey stores the name of the snapshot being used to restore this replica SnapshotNameKey CVRKey = "openebs.io/snapshot" )
type CVStatus ¶
type CVStatus struct { Name string `json:"name"` Status string `json:"status"` ReplicaStatuses []ReplicaStatus `json:"replicaStatus"` }
CVStatus stores the status of a CstorVolume obtained from response
func (*CVStatus) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CVStatus.
func (*CVStatus) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CVStatusResponse ¶
type CVStatusResponse struct {
CVStatuses []CVStatus `json:"volumeStatus"`
}
CVStatusResponse stores the reponse of istgt replica command output It may contain several volumes
func (*CVStatusResponse) DeepCopy ¶
func (in *CVStatusResponse) DeepCopy() *CVStatusResponse
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CVStatusResponse.
func (*CVStatusResponse) DeepCopyInto ¶
func (in *CVStatusResponse) DeepCopyInto(out *CVStatusResponse)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConditionStatus ¶
type ConditionStatus string
ConditionStatus states in which state condition is present
const ( // ConditionInProgress states resize of underlying volumes are in progress ConditionInProgress ConditionStatus = "InProgress" // ConditionSuccess states resizing underlying volumes are successfull ConditionSuccess ConditionStatus = "Success" )
These are valid condition statuses. "ConditionInProgress" means corresponding condition is inprogress. "ConditionSuccess" means corresponding condition is success
type ISCSIInfo ¶
type ISCSIInfo struct { // Iqn of this volume Iqn string `json:"iqn,omitempty"` // TargetPortal holds the target portal // of this volume TargetPortal string `json:"targetPortal,omitempty"` // IscsiInterface of this volume IscsiInterface string `json:"iscsiInterface,omitempty"` // Lun specify the lun number 0, 1.. on // iSCSI Volume. (default: 0) Lun string `json:"lun,omitempty"` }
ISCSIInfo has ISCSI protocol specific info, this can be used only if the volume type exposed by the vendor is iSCSI
func (*ISCSIInfo) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ISCSIInfo.
func (*ISCSIInfo) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PoolConfig ¶
type PoolConfig struct { // DataRaidGroupType is the raid type. DataRaidGroupType string `json:"dataRaidGroupType"` // WriteCacheGroupType is the write cache raid type. WriteCacheGroupType string `json:"writeCacheGroupType"` // ThickProvision to enable thick provisioning // Optional -- defaults to false ThickProvision bool `json:"thickProvision"` // Compression to enable compression // Optional -- defaults to off // Possible values : lz, off Compression string `json:"compression"` // Resources are the compute resources required by the cstor-pool // container. Resources *corev1.ResourceRequirements `json:"resources"` // AuxResources are the compute resources required by the cstor-pool pod // side car containers. AuxResources *corev1.ResourceRequirements `json:"auxResources"` // Tolerations, if specified, the pool pod's tolerations. Tolerations []corev1.Toleration `json:"tolerations"` // PriorityClassName if specified applies to this pool pod // If left empty, DefaultPriorityClassName is applied. // (See CStorPoolClusterSpec.DefaultPriorityClassName) // If both are empty, not priority class is applied. PriorityClassName *string `json:"priorityClassName"` // ROThresholdLimit is threshold(percentage base) limit // for pool read only mode. If ROThresholdLimit(%) amount // of pool storage is reached then pool will set to readonly. // NOTE: // 1. If ROThresholdLimit is set to 100 then entire // pool storage will be used by default it will be set to 85%. // 2. ROThresholdLimit value will be 0 <= ROThresholdLimit <= 100. ROThresholdLimit *int `json:"roThresholdLimit"` //optional }
PoolConfig is the default pool config that applies to the pool on node.
func (*PoolConfig) DeepCopy ¶
func (in *PoolConfig) DeepCopy() *PoolConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PoolConfig.
func (*PoolConfig) DeepCopyInto ¶
func (in *PoolConfig) DeepCopyInto(out *PoolConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PoolScanFunc ¶
type PoolScanFunc uint64
PoolScanFunc holds various scanning functions
const ( // PoolScanFuncNone holds value 0 PoolScanFuncNone PoolScanFunc = iota // PoolScanFuncScrub holds value 1 PoolScanFuncScrub // PoolScanFuncResilver holds value 2 which states device under went resilvering PoolScanFuncResilver // PoolScanFuncStates holds value 3 PoolScanFuncStates )
type PoolScanState ¶
type PoolScanState uint64
PoolScanState states various pool scan states
const ( // PoolScanNone represents pool scanning is not yet started PoolScanNone PoolScanState = iota // PoolScanScanning represents pool is undergoing scanning PoolScanScanning // PoolScanFinished represents pool scanning is finished PoolScanFinished // PoolScanCanceled represents pool scan is aborted PoolScanCanceled // PoolScanNumOfStates holds value 4 PoolScanNumOfStates )
type PoolSpec ¶
type PoolSpec struct { // NodeSelector is the labels that will be used to select // a node for pool provisioning. // Required field NodeSelector map[string]string `json:"nodeSelector"` // DataRaidGroups is the raid group configuration for the given pool. DataRaidGroups []RaidGroup `json:"dataRaidGroups"` // WriteCacheRaidGroups is the write cache raid group. WriteCacheRaidGroups []RaidGroup `json:"writeCacheRaidGroups"` // PoolConfig is the default pool config that applies to the // pool on node. PoolConfig PoolConfig `json:"poolConfig"` }
PoolSpec is the spec for pool on node where it should be created.
func (*PoolSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PoolSpec.
func (*PoolSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PoolType ¶
type PoolType string
PoolType is a label for the pool type of a cStor pool.
const ( // PoolStriped is the striped raid group. PoolStriped PoolType = "stripe" // PoolMirrored is the mirror raid group. PoolMirrored PoolType = "mirror" // PoolRaidz is the raidz raid group. PoolRaidz PoolType = "raidz" // PoolRaidz2 is the raidz2 raid group. PoolRaidz2 PoolType = "raidz2" )
These are the valid pool types of cStor Pool.
type Provision ¶
type Provision struct { // replicaAffinity is set to true then volume replica resources need to be // distributed across the cstor pool instances based on the given topology ReplicaAffinity bool `json:"replicaAffinity"` // BlockSize is the logical block size in multiple of 512 bytes // BlockSize specifies the block size of the volume. The blocksize // cannot be changed once the volume has been written, so it should be // set at volume creation time. The default blocksize for volumes is 4 Kbytes. // Any power of 2 from 512 bytes to 128 Kbytes is valid. BlockSize uint32 `json:"blockSize"` }
Provision represents volume provisioning configuration
func (*Provision) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Provision.
func (*Provision) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RaidGroup ¶
type RaidGroup struct {
CStorPoolInstanceBlockDevices []CStorPoolInstanceBlockDevice `json:"blockDevices"`
}
RaidGroup contains the details of a raid group for the pool
func (*RaidGroup) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RaidGroup.
func (*RaidGroup) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReplicaPoolInfo ¶
type ReplicaPoolInfo struct { // PoolName represents the pool name where volume replica exists PoolName string `json:"poolName"` }
ReplicaPoolInfo represents the pool information of volume replica
func (*ReplicaPoolInfo) DeepCopy ¶
func (in *ReplicaPoolInfo) DeepCopy() *ReplicaPoolInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplicaPoolInfo.
func (*ReplicaPoolInfo) DeepCopyInto ¶
func (in *ReplicaPoolInfo) DeepCopyInto(out *ReplicaPoolInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReplicaSpec ¶
type ReplicaSpec struct { // IOWorkers represents number of threads that executes client IOs IOWorkers string `json:"zvolWorkers,omitempty"` // The zle compression algorithm compresses runs of zeros. Compression string `json:"compression,omitempty"` }
ReplicaSpec represents configuration related to replicas resources
func (*ReplicaSpec) DeepCopy ¶
func (in *ReplicaSpec) DeepCopy() *ReplicaSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplicaSpec.
func (*ReplicaSpec) DeepCopyInto ¶
func (in *ReplicaSpec) DeepCopyInto(out *ReplicaSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ReplicaStatus ¶
type ReplicaStatus struct { // ID is replica unique identifier ID string `json:"replicaId"` // Mode represents replica status i.e. Healthy, Degraded Mode string `json:"mode"` // Represents IO number of replica persisted on the disk CheckpointedIOSeq string `json:"checkpointedIOSeq"` // Ongoing reads I/O from target to replica InflightRead string `json:"inflightRead"` // ongoing writes I/O from target to replica InflightWrite string `json:"inflightWrite"` // Ongoing sync I/O from target to replica InflightSync string `json:"inflightSync"` // time since the replica connected to target UpTime int `json:"upTime"` // Quorum indicates wheather data wrtitten to the replica // is lost or exists. // "0" means: data has been lost( might be ephimeral case) // and will recostruct data from other Healthy replicas in a write-only // mode // 1 means: written data is exists on replica Quorum string `json:"quorum"` }
ReplicaStatus stores the status of replicas
func (*ReplicaStatus) DeepCopy ¶
func (in *ReplicaStatus) DeepCopy() *ReplicaStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ReplicaStatus.
func (*ReplicaStatus) DeepCopyInto ¶
func (in *ReplicaStatus) DeepCopyInto(out *ReplicaStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TargetSpec ¶
type TargetSpec struct { // QueueDepth sets the queue size at iSCSI target which limits the // ongoing IO count from client QueueDepth string `json:"queueDepth,omitempty"` // IOWorkers sets the number of threads that are working on above queue IOWorkers int64 `json:"luWorkers,omitempty"` // Monitor enables or disables the target exporter sidecar Monitor bool `json:"monitor,omitempty"` // ReplicationFactor represents maximum number of replicas // that are allowed to connect to the target ReplicationFactor int64 `json:"replicationFactor,omitempty"` // Resources are the compute resources required by the cstor-target // container. Resources *corev1.ResourceRequirements `json:"resources,omitempty"` // AuxResources are the compute resources required by the cstor-target pod // side car containers. AuxResources *corev1.ResourceRequirements `json:"auxResources,omitempty"` // Tolerations, if specified, are the target pod's tolerations Tolerations []corev1.Toleration `json:"tolerations,omitempty"` // PodAffinity if specified, are the target pod's affinities PodAffinity *corev1.PodAffinity `json:"affinity,omitempty"` // NodeSelector is the labels that will be used to select // a node for target pod scheduleing // Required field NodeSelector map[string]string `json:"nodeSelector,omitempty"` // PriorityClassName if specified applies to this target pod // If left empty, no priority class is applied. PriorityClassName string `json:"priorityClassName,omitempty"` }
TargetSpec represents configuration related to cstor target and its resources
func (*TargetSpec) DeepCopy ¶
func (in *TargetSpec) DeepCopy() *TargetSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetSpec.
func (*TargetSpec) DeepCopyInto ¶
func (in *TargetSpec) DeepCopyInto(out *TargetSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Topology ¶
type Topology struct { // Number of top-level children in topology (doesnt include spare/l2cache) ChildrenCount int `json:"vdev_children,omitempty"` // Root of vdev topology VdevTree VdevTree `json:"vdev_tree,omitempty"` }
Topology contains the topology strucure of disks used in backend
func (*Topology) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Topology.
func (*Topology) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Vdev ¶
type Vdev struct { // root for Root vdev, Raid type in case of non-level 0 vdev, // and file/disk in case of level-0 vdev VdevType string `json:"type,omitempty"` // Path of the disk or sparse file Path string `json:"path,omitempty"` // 0 means not write-cache device, 1 means write-cache device IsLog int `json:"is_log,omitempty"` // 0 means not spare device, 1 means spare device IsSpare int `json:"is_spare,omitempty"` // 0 means partitioned disk, 1 means whole disk IsWholeDisk int `json:"whole_disk,omitempty"` // Capacity represents the size of the disk used in pool Capacity uint64 `json:"asize,omitempty"` // vdev indetailed statistics VdevStats []uint64 `json:"vdev_stats,omitempty"` ScanStats []uint64 `json:"scan_stats,omitempty"` // child vdevs of the logical disk or null for physical disk/sparse Children []Vdev `json:"children,omitempty"` }
Vdev relates to a logical or physical disk in backend
func (*Vdev) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Vdev.
func (*Vdev) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (Vdev) GetVdevState ¶
GetVdevState returns current state of Vdev NOTE: Below function is taken from openebs/cstor https://github.com/openebs/cstor/blob/f0896898a0be2102e2865cf44b16b88c91f6bb91/lib/libzfs/libzfs_pool.c#L183<Paste>
type VdevAux ¶
type VdevAux uint64
VdevAux represents reasons why vdev can't open
const ( VdevAuxNone VdevAux = iota /* no error */ VdevAuxOpenFailed /* ldi_open_*() or vn_open() failed */ VdevAuxCorruptData /* bad label or disk contents */ VdevAuxNoReplicas /* insufficient number of replicas */ VdevAuxBadGUIDSum /* vdev guid sum doesn't match */ VdevAuxTooSmall /* vdev size is too small */ VdevAuxBadLabel /* the label is OK but invalid */ VdevAuxVersionNewer /* on-disk version is too new */ VdevAuxVersionOlder /* on-disk version is too old */ VdevAuxUnSupFeat /* unsupported features */ VdevAuxSpared /* hot spare used in another pool */ VdevAuxErrExceeded /* too many errors */ VdevAuxIOFailure /* experienced I/O failure */ VdevAuxBadLog /* cannot read log chain(s) */ VdevAuxExternal /* external diagnosis or forced fault */ VdevAuxSplitPool /* vdev was split off into another pool */ VdevAuxBadAShift /* vdev ashift is invalid */ VdevAuxExternalPersist /* persistent forced fault */ VdevAuxActive /* vdev active on a different host */ )
- vdev aux states. When a vdev is in the CANT_OPEN state, the aux field
- of the vdev stats structure uses these constants to distinguish why.
NOTE: Added only required enums for more information please have look at https://github.com/openebs/cstor/blob/f0896898a0be2102e2865cf44b16b88c91f6bb91/include/sys/fs/zfs.h#L740
type VdevList ¶
type VdevList []Vdev
VdevList is alias of list of Vdevs
func (VdevList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VdevList.
func (VdevList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VdevState ¶
type VdevState uint64
VdevState represent various device/disk states
const ( // VdevStateUnknown represents uninitialized vdev VdevStateUnknown VdevState = iota // VdevStateClosed represents vdev currently not opened VdevStateClosed // VdevStateOffline represents vdev not allowed to open VdevStateOffline // VdevStateRemoved represents vdev explicitly removed from system VdevStateRemoved // VdevStateCantOpen represents tried to open, but failed VdevStateCantOpen // VdevStateFaulted represents external request to fault device VdevStateFaulted // VdevStateDegraded represents Replicated vdev with unhealthy kids VdevStateDegraded // VdevStateHealthy represents vdev is presumed good VdevStateHealthy )
* vdev states are ordered from least to most healthy. * Link: https://github.com/openebs/cstor/blob/f0896898a0be2102e2865cf44b16b88c91f6bb91/include/sys/fs/zfs.h#L723
type VdevTree ¶
type VdevTree struct { // root for Root vdev, Raid type in case of non-level 0 vdev, // and file/disk in case of level-0 vdev VdevType string `json:"type,omitempty"` // top-level vdev topology Topvdev []Vdev `json:"children,omitempty"` // list of read-cache devices Readcache []Vdev `json:"l2cache,omitempty"` // list of spare devices Spares []Vdev `json:"spares,omitempty"` // vdev indetailed statistics VdevStats []uint64 `json:"vdev_stats,omitempty"` // ScanStats states replaced device scan state ScanStats []uint64 `json:"scan_stats,omitempty"` }
VdevTree contains the tree strucure of disks used in backend
func (*VdevTree) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VdevTree.
func (*VdevTree) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VersionDetails ¶
type VersionDetails struct { // If AutoUpgrade is set to true then the resource is // upgraded automatically without any manual steps AutoUpgrade bool `json:"autoUpgrade"` // Desired is the version that we want to // upgrade or the control plane version Desired string `json:"desired"` // Status gives the status of reconciliation triggered // when the desired and current version are not same Status VersionStatus `json:"status"` }
VersionDetails provides the details for upgrade
func (*VersionDetails) DeepCopy ¶
func (in *VersionDetails) DeepCopy() *VersionDetails
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionDetails.
func (*VersionDetails) DeepCopyInto ¶
func (in *VersionDetails) DeepCopyInto(out *VersionDetails)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VersionState ¶
type VersionState string
VersionState is the state of reconciliation
const ( // ReconcileComplete is the state when desired and current version are equal. ReconcileComplete VersionState = "Reconciled" // ReconcileInProgress is the state when desired and current version are // not same and the reconcile functions is retrying to make them same. ReconcileInProgress VersionState = "ReconcileInProgress" // ReconcilePending is the state the reconciliation is still not started yet ReconcilePending VersionState = "ReconcilePending" )
type VersionStatus ¶
type VersionStatus struct { // DependentsUpgraded gives the details whether all children // of a resource are upgraded to desired version or not DependentsUpgraded bool `json:"dependentsUpgraded"` // Current is the version of resource Current string `json:"current"` // State is the state of reconciliation State VersionState `json:"state"` // Message is a human readable message if some error occurs Message string `json:"message,omitempty"` // Reason is the actual reason for the error state Reason string `json:"reason,omitempty"` // LastUpdateTime is the time the status was last updated LastUpdateTime metav1.Time `json:"lastUpdateTime,omitempty"` }
VersionStatus is the status of the reconciliation of versions
func (*VersionStatus) DeepCopy ¶
func (in *VersionStatus) DeepCopy() *VersionStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VersionStatus.
func (*VersionStatus) DeepCopyInto ¶
func (in *VersionStatus) DeepCopyInto(out *VersionStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VolumeInfo ¶
type VolumeInfo struct { // Name of the CSI volume Name string `json:"name"` // Capacity of the volume Capacity string `json:"capacity,omitempty"` // OwnerNodeID is the Node ID which // is also the owner of this Volume OwnerNodeID string `json:"ownerNodeID"` // FSType of a volume will specify the // format type - ext4(default), xfs of PV FSType string `json:"fsType,omitempty"` // AccessMode of a volume will hold the // access mode of the volume AccessModes []string `json:"accessModes,omitempty"` // AccessType of a volume will indicate if the volume will be used as a // block device or mounted on a path AccessType string `json:"accessType,omitempty"` // StagingPath of the volume will hold the // path on which the volume is mounted // on that node StagingTargetPath string `json:"stagingTargetPath,omitempty"` // TargetPath of the volume will hold the // path on which the volume is bind mounted // on that node TargetPath string `json:"targetPath,omitempty"` // ReadOnly specifies if the volume needs // to be mounted in ReadOnly mode ReadOnly bool `json:"readOnly,omitempty"` // MountOptions specifies the options with // which mount needs to be attempted MountOptions []string `json:"mountOptions,omitempty"` // Device Path specifies the device path // which is returned when the iSCSI // login is successful DevicePath string `json:"devicePath,omitempty"` }
VolumeInfo contains the volume related info for all types of volumes in CStorVolumeAttachmentSpec
func (*VolumeInfo) DeepCopy ¶
func (in *VolumeInfo) DeepCopy() *VolumeInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeInfo.
func (*VolumeInfo) DeepCopyInto ¶
func (in *VolumeInfo) DeepCopyInto(out *VolumeInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type VolumeProvision ¶
type VolumeProvision struct { // Capacity represents initial capacity of volume replica required during // volume clone operations to maintain some metadata info related to child // resources like snapshot, cloned volumes. Capacity corev1.ResourceList `json:"capacity"` // ReplicaCount represents initial cstor volume replica count, its will not // be updated later on based on scale up/down operations, only readonly // operations and validations. ReplicaCount int32 `json:"replicaCount"` }
func (*VolumeProvision) DeepCopy ¶
func (in *VolumeProvision) DeepCopy() *VolumeProvision
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolumeProvision.
func (*VolumeProvision) DeepCopyInto ¶
func (in *VolumeProvision) DeepCopyInto(out *VolumeProvision)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ZFSCapacityAttributes ¶
type ZFSCapacityAttributes struct { // LogicalUsed is the amount of space that is "logically" consumed // by this pool and all its descendents. The logical space ignores // the effect of the compression and copies properties, giving a // quantity closer to the amount of data that applications see. // However, it does include space consumed by metadata. // NOTE: Used and LogicalUsed can vary depends on the pool properties LogicalUsed resource.Quantity `json:"logicalUsed"` }
ZFSCapacityAttributes stores the advanced information about pool capacity related attributes
func (*ZFSCapacityAttributes) DeepCopy ¶
func (in *ZFSCapacityAttributes) DeepCopy() *ZFSCapacityAttributes
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ZFSCapacityAttributes.
func (*ZFSCapacityAttributes) DeepCopyInto ¶
func (in *ZFSCapacityAttributes) DeepCopyInto(out *ZFSCapacityAttributes)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
+k8s:conversion-gen=github.com/openebs/api/v3/pkg/internalapis/apis/cstor +k8s:conversion-gen-external-types=github.com/openebs/api/v3/pkg/apis/cstor/v1 +groupName=cstor.openebs.io
|
+k8s:conversion-gen=github.com/openebs/api/v3/pkg/internalapis/apis/cstor +k8s:conversion-gen-external-types=github.com/openebs/api/v3/pkg/apis/cstor/v1 +groupName=cstor.openebs.io |