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=openebs.io +k8s:deepcopy-gen=package,register
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type BlockDevice
- type BlockDeviceClaim
- func (in *BlockDeviceClaim) DeepCopy() *BlockDeviceClaim
- func (in *BlockDeviceClaim) DeepCopyInto(out *BlockDeviceClaim)
- func (in *BlockDeviceClaim) DeepCopyObject() runtime.Object
- func (bdc *BlockDeviceClaim) WithAnnotations(annotations map[string]string) *BlockDeviceClaim
- func (bdc *BlockDeviceClaim) WithAnnotationsNew(annotations map[string]string) *BlockDeviceClaim
- func (bdc *BlockDeviceClaim) WithBlockDeviceName(bdName string) *BlockDeviceClaim
- func (bdc *BlockDeviceClaim) WithBlockVolumeMode(mode corev1.PersistentVolumeMode) *BlockDeviceClaim
- func (bdc *BlockDeviceClaim) WithCSPCOwnerReference(cspc *cstor.CStorPoolCluster) *BlockDeviceClaim
- func (bdc *BlockDeviceClaim) WithCapacity(capacity resource.Quantity) *BlockDeviceClaim
- func (bdc *BlockDeviceClaim) WithDeviceType(dType string) *BlockDeviceClaim
- func (bdc *BlockDeviceClaim) WithFinalizer(finalizers ...string) *BlockDeviceClaim
- func (bdc *BlockDeviceClaim) WithHostName(hName string) *BlockDeviceClaim
- func (bdc *BlockDeviceClaim) WithLabels(labels map[string]string) *BlockDeviceClaim
- func (bdc *BlockDeviceClaim) WithLabelsNew(labels map[string]string) *BlockDeviceClaim
- func (bdc *BlockDeviceClaim) WithName(name string) *BlockDeviceClaim
- func (bdc *BlockDeviceClaim) WithNamespace(namespace string) *BlockDeviceClaim
- func (bdc *BlockDeviceClaim) WithNodeName(nName string) *BlockDeviceClaim
- type BlockDeviceClaimList
- type BlockDeviceList
- type BlockDeviceNodeAttributes
- type BlockDeviceState
- type BlockDeviceVolumeMode
- type CStorPool
- type CStorPoolCluster
- type CStorPoolInstance
- type CStorVolume
- type DeviceCapacity
- type DeviceClaimDetails
- type DeviceClaimPhase
- type DeviceClaimResources
- type DeviceClaimSpec
- type DeviceClaimState
- type DeviceClaimStatus
- type DeviceDetails
- type DeviceDevLink
- type DeviceSpec
- type DeviceStatus
- type FileSystemInfo
- type JivaVolume
- type NodeAttribute
- type Options
- type ResourceOptions
- type ResourceSpec
- type Status
- type StepPhase
- type StoragePoolClaim
- type UpgradeDetailedStatuses
- type UpgradePhase
- type UpgradeStep
- type UpgradeTask
- type UpgradeTaskList
- type UpgradeTaskSpec
- type UpgradeTaskStatus
Constants ¶
const ( // StoragePoolKindCSPC holds the value of CStorPoolCluster StoragePoolKindCSPC = "CStorPoolCluster" // APIVersion holds the value of OpenEBS version APIVersion = "openebs.io/v1alpha1" )
const ( // ResourceStorage defines the storage required as v1.Quantity ResourceStorage corev1.ResourceName = "storage" )
Variables ¶
var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: openebs.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 BlockDevice ¶
type BlockDevice struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec DeviceSpec `json:"spec,omitempty"` Status DeviceStatus `json:"status,omitempty"` }
BlockDevice is the Schema used to represent a BlockDevice CR
func (*BlockDevice) DeepCopy ¶
func (in *BlockDevice) DeepCopy() *BlockDevice
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlockDevice.
func (*BlockDevice) DeepCopyInto ¶
func (in *BlockDevice) DeepCopyInto(out *BlockDevice)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BlockDevice) DeepCopyObject ¶
func (in *BlockDevice) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BlockDeviceClaim ¶
type BlockDeviceClaim struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec DeviceClaimSpec `json:"spec,omitempty"` Status DeviceClaimStatus `json:"status,omitempty"` }
BlockDeviceClaim is the Schema for the BlockDeviceClaim CR
func NewBlockDeviceClaim ¶
func NewBlockDeviceClaim() *BlockDeviceClaim
func (*BlockDeviceClaim) DeepCopy ¶
func (in *BlockDeviceClaim) DeepCopy() *BlockDeviceClaim
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlockDeviceClaim.
func (*BlockDeviceClaim) DeepCopyInto ¶
func (in *BlockDeviceClaim) DeepCopyInto(out *BlockDeviceClaim)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BlockDeviceClaim) DeepCopyObject ¶
func (in *BlockDeviceClaim) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*BlockDeviceClaim) WithAnnotations ¶
func (bdc *BlockDeviceClaim) WithAnnotations(annotations map[string]string) *BlockDeviceClaim
WithAnnotations appends or overwrites existing Annotations values of BDC with provided arguments
func (*BlockDeviceClaim) WithAnnotationsNew ¶
func (bdc *BlockDeviceClaim) WithAnnotationsNew(annotations map[string]string) *BlockDeviceClaim
WithAnnotationsNew sets the Annotations field of BDC with provided arguments
func (*BlockDeviceClaim) WithBlockDeviceName ¶
func (bdc *BlockDeviceClaim) WithBlockDeviceName(bdName string) *BlockDeviceClaim
WithBlockDeviceName sets the BlockDeviceName field of BDC provided arguments
func (*BlockDeviceClaim) WithBlockVolumeMode ¶
func (bdc *BlockDeviceClaim) WithBlockVolumeMode(mode corev1.PersistentVolumeMode) *BlockDeviceClaim
WithBlockVolumeMode sets the volumeMode as volumeModeBlock, if persistentVolumeMode is set to "Block"
func (*BlockDeviceClaim) WithCSPCOwnerReference ¶
func (bdc *BlockDeviceClaim) WithCSPCOwnerReference(cspc *cstor.CStorPoolCluster) *BlockDeviceClaim
WithCSPCOwnerReference sets the OwnerReference field in BDC with required fields
func (*BlockDeviceClaim) WithCapacity ¶
func (bdc *BlockDeviceClaim) WithCapacity(capacity resource.Quantity) *BlockDeviceClaim
WithCapacity sets the Capacity field in BDC with provided arguments
func (*BlockDeviceClaim) WithDeviceType ¶
func (bdc *BlockDeviceClaim) WithDeviceType(dType string) *BlockDeviceClaim
WithDeviceType sets the DeviceType field of BDC provided arguments
func (*BlockDeviceClaim) WithFinalizer ¶
func (bdc *BlockDeviceClaim) WithFinalizer(finalizers ...string) *BlockDeviceClaim
WithFinalizer sets the finalizer field in the BDC
func (*BlockDeviceClaim) WithHostName ¶
func (bdc *BlockDeviceClaim) WithHostName(hName string) *BlockDeviceClaim
WithHostName sets the hostName field of BDC provided arguments
func (*BlockDeviceClaim) WithLabels ¶
func (bdc *BlockDeviceClaim) WithLabels(labels map[string]string) *BlockDeviceClaim
WithLabels appends or overwrites existing Labels values of BDC with provided arguments
func (*BlockDeviceClaim) WithLabelsNew ¶
func (bdc *BlockDeviceClaim) WithLabelsNew(labels map[string]string) *BlockDeviceClaim
WithLabelsNew sets the Labels field of BDC with provided arguments
func (*BlockDeviceClaim) WithName ¶
func (bdc *BlockDeviceClaim) WithName(name string) *BlockDeviceClaim
WithName sets the Name field of BDC with provided value.
func (*BlockDeviceClaim) WithNamespace ¶
func (bdc *BlockDeviceClaim) WithNamespace(namespace string) *BlockDeviceClaim
WithNamespace sets the Namespace field of BDC provided arguments
func (*BlockDeviceClaim) WithNodeName ¶
func (bdc *BlockDeviceClaim) WithNodeName(nName string) *BlockDeviceClaim
WithNodeName sets the node name field of BDC provided arguments
type BlockDeviceClaimList ¶
type BlockDeviceClaimList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []BlockDeviceClaim `json:"items"` }
BlockDeviceClaimList contains a list of BlockDeviceClaim
func (*BlockDeviceClaimList) DeepCopy ¶
func (in *BlockDeviceClaimList) DeepCopy() *BlockDeviceClaimList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlockDeviceClaimList.
func (*BlockDeviceClaimList) DeepCopyInto ¶
func (in *BlockDeviceClaimList) DeepCopyInto(out *BlockDeviceClaimList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BlockDeviceClaimList) DeepCopyObject ¶
func (in *BlockDeviceClaimList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BlockDeviceList ¶
type BlockDeviceList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []BlockDevice `json:"items"` }
BlockDeviceList contains a list of BlockDevice
func (*BlockDeviceList) DeepCopy ¶
func (in *BlockDeviceList) DeepCopy() *BlockDeviceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlockDeviceList.
func (*BlockDeviceList) DeepCopyInto ¶
func (in *BlockDeviceList) DeepCopyInto(out *BlockDeviceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BlockDeviceList) DeepCopyObject ¶
func (in *BlockDeviceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BlockDeviceNodeAttributes ¶
type BlockDeviceNodeAttributes struct { // NodeName represents the name of the Kubernetes node resource // where the BD should be present NodeName string `json:"nodeName,omitempty"` // HostName represents the hostname of the Kubernetes node resource // where the BD should be present HostName string `json:"hostName,omitempty"` }
BlockDeviceNodeAttributes contains the attributes of the node from which the BD should be selected for claiming. A BDC can specify one or more attributes. When multiple values are specified, the NDM Operator will claim a Block Device that matches all the requested attributes.
func (*BlockDeviceNodeAttributes) DeepCopy ¶
func (in *BlockDeviceNodeAttributes) DeepCopy() *BlockDeviceNodeAttributes
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BlockDeviceNodeAttributes.
func (*BlockDeviceNodeAttributes) DeepCopyInto ¶
func (in *BlockDeviceNodeAttributes) DeepCopyInto(out *BlockDeviceNodeAttributes)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BlockDeviceState ¶
type BlockDeviceState string
BlockDeviceState defines the observed state of the disk
const ( // BlockDeviceActive is the state for a block device that is connected to the node BlockDeviceActive BlockDeviceState = "Active" // BlockDeviceInactive is the state for a block device that is disconnected from a node BlockDeviceInactive BlockDeviceState = "Inactive" // BlockDeviceUnknown is the state for a block device whose state (attached/detached) cannot // be determined at this time. BlockDeviceUnknown BlockDeviceState = "Unknown" )
type BlockDeviceVolumeMode ¶
type BlockDeviceVolumeMode string
BlockDeviceVolumeMode specifies the type in which the BlockDevice can be used
const ( // VolumeModeBlock specifies that the block device needs to be used as a raw block VolumeModeBlock BlockDeviceVolumeMode = "Block" // VolumeModeFileSystem specifies that block device will be used with a filesystem // already existing VolumeModeFileSystem BlockDeviceVolumeMode = "FileSystem" )
type CStorPool ¶
type CStorPool struct { // PoolName contains the name of the cstor pool to be upgraded PoolName string `json:"poolName,omitempty"` // Options can be used to change the default behaviour of upgrade Options *ResourceOptions `json:"options,omitempty"` }
CStorPool is the ResourceType for cstor pool
func (*CStorPool) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CStorPool.
func (*CStorPool) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CStorPoolCluster ¶
type CStorPoolCluster struct { // CSPCName contains the name of the storage pool claim to be upgraded CSPCName string `json:"cspcName,omitempty"` // Options can be used to change the default behaviour of upgrade Options *ResourceOptions `json:"options,omitempty"` }
CStorPoolCluster is the ResourceType for cstor pool cluster
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.
type CStorPoolInstance ¶
type CStorPoolInstance struct { // CSPCName contains the name of the storage pool claim to be upgraded CSPIName string `json:"cspiName,omitempty"` // Options can be used to change the default behaviour of upgrade Options *ResourceOptions `json:"options,omitempty"` }
CStorPoolInstance is the ResourceType for cstor pool cluster
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.
type CStorVolume ¶
type CStorVolume struct { // PVName contains the name of the pv associated with the cstor volume PVName string `json:"pvName,omitempty"` // Options can be used to change the default behaviour of upgrade Options *ResourceOptions `json:"options,omitempty"` }
CStorVolume is the ResourceType for cstor volume
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.
type DeviceCapacity ¶
type DeviceCapacity struct { // Storage is the blockdevice capacity in bytes Storage uint64 `json:"storage"` // PhysicalSectorSize is blockdevice physical-Sector size in bytes PhysicalSectorSize uint32 `json:"physicalSectorSize"` // LogicalSectorSize is blockdevice logical-sector size in bytes LogicalSectorSize uint32 `json:"logicalSectorSize"` }
DeviceCapacity defines the physical and logical size of the block device
func (*DeviceCapacity) DeepCopy ¶
func (in *DeviceCapacity) DeepCopy() *DeviceCapacity
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeviceCapacity.
func (*DeviceCapacity) DeepCopyInto ¶
func (in *DeviceCapacity) DeepCopyInto(out *DeviceCapacity)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeviceClaimDetails ¶
type DeviceClaimDetails struct { // BlockVolumeMode represents whether to claim a device in Block mode or Filesystem mode. // These are use cases of BlockVolumeMode: // 1) Not specified: VolumeMode check will not be effective // 2) VolumeModeBlock: BD should not have any filesystem or mountpoint // 3) VolumeModeFileSystem: BD should have a filesystem and mountpoint. If DeviceFormat is // specified then the format should match with the FSType in BD BlockVolumeMode BlockDeviceVolumeMode `json:"blockVolumeMode,omitempty"` //Format of the device required, eg:ext4, xfs DeviceFormat string `json:"formatType,omitempty"` //AllowPartition represents whether to claim a full block device or a device that is a partition AllowPartition bool `json:"allowPartition,omitempty"` }
DeviceClaimDetails defines the details of the block device that should be claimed
func (*DeviceClaimDetails) DeepCopy ¶
func (in *DeviceClaimDetails) DeepCopy() *DeviceClaimDetails
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeviceClaimDetails.
func (*DeviceClaimDetails) DeepCopyInto ¶
func (in *DeviceClaimDetails) DeepCopyInto(out *DeviceClaimDetails)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeviceClaimPhase ¶
type DeviceClaimPhase string
DeviceClaimPhase is a typed string for phase field of BlockDeviceClaim.
const ( // BlockDeviceClaimStatusEmpty represents that the BlockDeviceClaim was just created. BlockDeviceClaimStatusEmpty DeviceClaimPhase = "" // BlockDeviceClaimStatusPending represents BlockDeviceClaim has not been assigned devices yet. Rather // search is going on for matching devices. BlockDeviceClaimStatusPending DeviceClaimPhase = "Pending" // BlockDeviceClaimStatusInvalidCapacity represents BlockDeviceClaim has invalid capacity request i.e. 0/-1 BlockDeviceClaimStatusInvalidCapacity DeviceClaimPhase = "Invalid Capacity Request" // BlockDeviceClaimStatusDone represents BlockDeviceClaim has been assigned backing blockdevice and ready for use. BlockDeviceClaimStatusDone DeviceClaimPhase = "Bound" )
BlockDeviceClaim CR, when created pass through phases before it got some Devices Assigned. Given below table, have all phases which BlockDeviceClaim CR can go before it is marked done.
type DeviceClaimResources ¶
type DeviceClaimResources struct { // Requests describes the minimum resources required. eg: if storage resource of 10G is // requested minimum capacity of 10G should be available Requests corev1.ResourceList `json:"requests"` }
DeviceClaimResources defines the request by the claim, eg, Capacity, IOPS
func (*DeviceClaimResources) DeepCopy ¶
func (in *DeviceClaimResources) DeepCopy() *DeviceClaimResources
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeviceClaimResources.
func (*DeviceClaimResources) DeepCopyInto ¶
func (in *DeviceClaimResources) DeepCopyInto(out *DeviceClaimResources)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeviceClaimSpec ¶
type DeviceClaimSpec struct { // Selector is used to find block devices to be considered for claiming Selector *metav1.LabelSelector `json:"selector,omitempty"` // Resources will help with placing claims on Capacity, IOPS Resources DeviceClaimResources `json:"resources"` // DeviceType represents the type of drive like SSD, HDD etc., DeviceType string `json:"deviceType"` // HostName from where blockdevice has to be claimed. HostName string `json:"hostName"` // Details of the device to be claimed Details DeviceClaimDetails `json:"deviceClaimDetails,omitempty"` // BlockDeviceName is the reference to the block-device backing this claim BlockDeviceName string `json:"blockDeviceName,omitempty"` // BlockDeviceNodeAttributes is the attributes on the node from which a BD should // be selected for this claim. It can include nodename, failure domain etc. BlockDeviceNodeAttributes BlockDeviceNodeAttributes `json:"blockDeviceNodeAttributes,omitempty"` }
DeviceClaimSpec defines the request details for a BlockDevice
func (*DeviceClaimSpec) DeepCopy ¶
func (in *DeviceClaimSpec) DeepCopy() *DeviceClaimSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeviceClaimSpec.
func (*DeviceClaimSpec) DeepCopyInto ¶
func (in *DeviceClaimSpec) DeepCopyInto(out *DeviceClaimSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeviceClaimState ¶
type DeviceClaimState string
DeviceClaimState defines the observed state of BlockDevice
const ( // BlockDeviceUnclaimed represents that the block device is not bound to any BDC, // all cleanup jobs have been completed and is available for claiming. BlockDeviceUnclaimed DeviceClaimState = "Unclaimed" // BlockDeviceReleased represents that the block device is released from the BDC, // pending cleanup jobs BlockDeviceReleased DeviceClaimState = "Released" // BlockDeviceClaimed represents that the block device is bound to a BDC BlockDeviceClaimed DeviceClaimState = "Claimed" )
type DeviceClaimStatus ¶
type DeviceClaimStatus struct {
Phase DeviceClaimPhase `json:"phase"`
}
DeviceClaimStatus defines the observed state of BlockDeviceClaim
func (*DeviceClaimStatus) DeepCopy ¶
func (in *DeviceClaimStatus) DeepCopy() *DeviceClaimStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeviceClaimStatus.
func (*DeviceClaimStatus) DeepCopyInto ¶
func (in *DeviceClaimStatus) DeepCopyInto(out *DeviceClaimStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeviceDetails ¶
type DeviceDetails struct { // DeviceType represents the type of device like // sparse, disk, partition, lvm, raid DeviceType string `json:"deviceType"` // DriveType is the type of backing drive, HDD/SSD DriveType string `json:"driveType"` // LogicalBlockSize is the logical block size in bytes // reported by /sys/class/block/sda/queue/logical_block_size LogicalBlockSize uint32 `json:"logicalBlockSize"` // PhysicalBlockSize is the physical block size in bytes // reported by /sys/class/block/sda/queue/physical_block_size PhysicalBlockSize uint32 `json:"physicalBlockSize"` // HardwareSectorSize is the hardware sector size in bytes HardwareSectorSize uint32 `json:"hardwareSectorSize"` // Model is model of disk Model string `json:"model"` // Compliance is standards/specifications version implmented by device firmware // such as SPC-1, SPC-2, etc Compliance string `json:"compliance"` // Serial is serial number of disk Serial string `json:"serial"` // Vendor is vendor of disk Vendor string `json:"vendor"` // disk firmware revision FirmwareRevision string `json:"firmwareRevision"` }
DeviceDetails represent certain hardware/static attributes of the block device
func (*DeviceDetails) DeepCopy ¶
func (in *DeviceDetails) DeepCopy() *DeviceDetails
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeviceDetails.
func (*DeviceDetails) DeepCopyInto ¶
func (in *DeviceDetails) DeepCopyInto(out *DeviceDetails)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeviceDevLink ¶
type DeviceDevLink struct { // Kind is the type of link like by-id or by-path. Kind string `json:"kind,omitempty"` // Links are the soft links of Type type Links []string `json:"links,omitempty"` }
DeviceDevLink holds the maping between type and links like by-id type or by-path type link
func (*DeviceDevLink) DeepCopy ¶
func (in *DeviceDevLink) DeepCopy() *DeviceDevLink
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeviceDevLink.
func (*DeviceDevLink) DeepCopyInto ¶
func (in *DeviceDevLink) DeepCopyInto(out *DeviceDevLink)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeviceSpec ¶
type DeviceSpec struct { // NodeAttributes has the details of the node on which BD is attached NodeAttributes NodeAttribute `json:"nodeAttributes"` // Path contain devpath (e.g. /dev/sdb) Path string `json:"path"` // Capacity Capacity DeviceCapacity `json:"capacity"` // Details contain static attributes of BD like model,serial, and so forth Details DeviceDetails `json:"details"` // Reference to the BDC which has claimed this BD ClaimRef *v1.ObjectReference `json:"claimRef,omitempty"` // DevLinks contains soft links of a block device like // /dev/by-id/... // /dev/by-uuid/... DevLinks []DeviceDevLink `json:"devlinks"` // FileSystem contains mountpoint and filesystem type FileSystem FileSystemInfo `json:"filesystem,omitempty"` // Partitioned represents if BlockDevice has partions or not (YES/NO) // Currently always default to NO. // TODO @kmova to be implemented/deprecated Partitioned string `json:"partitioned"` // ParentDevice was intented to store the UUID of the parent // Block Device as is the case for partitioned block devices. // // For example: // /dev/sda is the parent for /dev/sdap1 // TODO @kmova to be implemented/deprecated ParentDevice string `json:"parentDevice,omitempty"` // AggregateDevice was intended to store the hierachical // information in cases of LVM. However this is currently // not implemented and may need to be re-looked into for // better design. // TODO @kmova to be implemented/deprecated AggregateDevice string `json:"aggregateDevice,omitempty"` }
DeviceSpec defines the properties and runtime status of a BlockDevice
func (*DeviceSpec) DeepCopy ¶
func (in *DeviceSpec) DeepCopy() *DeviceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeviceSpec.
func (*DeviceSpec) DeepCopyInto ¶
func (in *DeviceSpec) DeepCopyInto(out *DeviceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeviceStatus ¶
type DeviceStatus struct { // claim state of the block device ClaimState DeviceClaimState `json:"claimState"` // State is the current state of the blockdevice (Active/Inactive) State BlockDeviceState `json:"state"` }
DeviceStatus defines the observed state of BlockDevice
func (*DeviceStatus) DeepCopy ¶
func (in *DeviceStatus) DeepCopy() *DeviceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeviceStatus.
func (*DeviceStatus) DeepCopyInto ¶
func (in *DeviceStatus) DeepCopyInto(out *DeviceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type FileSystemInfo ¶
type FileSystemInfo struct { //Type represents the FileSystem type of the block device Type string `json:"fsType,omitempty"` //MountPoint represents the mountpoint of the block device. Mountpoint string `json:"mountPoint,omitempty"` }
FileSystemInfo defines the filesystem type and mountpoint of the device if it exists
func (*FileSystemInfo) DeepCopy ¶
func (in *FileSystemInfo) DeepCopy() *FileSystemInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FileSystemInfo.
func (*FileSystemInfo) DeepCopyInto ¶
func (in *FileSystemInfo) DeepCopyInto(out *FileSystemInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type JivaVolume ¶
type JivaVolume struct { // PVName contains the name of the pv associated with the jiva volume PVName string `json:"pvName,omitempty"` // Options can be used to change the default behaviour of upgrade Options *ResourceOptions `json:"options,omitempty"` }
JivaVolume is the ResourceType for jiva volume
func (*JivaVolume) DeepCopy ¶
func (in *JivaVolume) DeepCopy() *JivaVolume
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JivaVolume.
func (*JivaVolume) DeepCopyInto ¶
func (in *JivaVolume) DeepCopyInto(out *JivaVolume)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeAttribute ¶
type NodeAttribute struct { // NodeName is the name of the Kubernetes node resource on which the device is attached NodeName string `json:"nodeName"` }
NodeAttribute defines the attributes of a node where the block device is attached.
Note: Prior to introducing NodeAttributes, the BD would only support gathering hostname and add it as a label to the BD resource.
In some use cases, the caller has access only to node name, not the hostname. node name and hostname are different in certain Kubernetes clusters.
NodeAttributes is added to contain attributes that are not available on the labels like - node name, uuid, etc.
The node attributes are helpful in querying for block devices based on node attributes. Also, adding this in the spec allows for displaying in node name in the `kubectl get bd`
TODO @kmova @akhil Capture and add nodeUUID to BD, that can help in determining if the node was recreated with same node name.
func (*NodeAttribute) DeepCopy ¶
func (in *NodeAttribute) DeepCopy() *NodeAttribute
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeAttribute.
func (*NodeAttribute) DeepCopyInto ¶
func (in *NodeAttribute) DeepCopyInto(out *NodeAttribute)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Options ¶
type Options struct { // Timeout is maximum seconds to wait at any given step in the upgrade Timeout int `json:"timeout,omitempty"` }
Options provides additional optional arguments
func (*Options) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Options.
func (*Options) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceOptions ¶
type ResourceOptions struct { // IgnoreStepsOnError allows to ignore steps which failed IgnoreStepsOnError []string `json:"ignoreStepsOnError,omitempty"` }
ResourceOptions provides additional options for a particular resource
func (*ResourceOptions) DeepCopy ¶
func (in *ResourceOptions) DeepCopy() *ResourceOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceOptions.
func (*ResourceOptions) DeepCopyInto ¶
func (in *ResourceOptions) DeepCopyInto(out *ResourceOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceSpec ¶
type ResourceSpec struct { // JivaVolume contains the details of the jiva volume to be upgraded JivaVolume *JivaVolume `json:"jivaVolume,omitempty"` // CStorVolume contains the details of the cstor volume to be upgraded CStorVolume *CStorVolume `json:"cstorVolume,omitempty"` // CStorPool contains the details of the cstor pool to be upgraded CStorPool *CStorPool `json:"cstorPool,omitempty"` // StoragePoolClaim contains the details of the storage pool claim to be upgraded StoragePoolClaim *StoragePoolClaim `json:"storagePoolClaim,omitempty"` // CStorPoolInstance contains the details of the cstor pool to be upgraded CStorPoolInstance *CStorPoolInstance `json:"cstorPoolInstance,omitempty"` // CStorPoolCluster contains the details of the storage pool claim to be upgraded CStorPoolCluster *CStorPoolCluster `json:"cstorPoolCluster,omitempty"` }
ResourceSpec is the type of resource which is to be upgraded. Exactly one of its members must be set.
func (*ResourceSpec) DeepCopy ¶
func (in *ResourceSpec) DeepCopy() *ResourceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceSpec.
func (*ResourceSpec) DeepCopyInto ¶
func (in *ResourceSpec) DeepCopyInto(out *ResourceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Status ¶
type Status struct { // Phase indicates if the UpgradeStep is waiting, errored or completed. Phase StepPhase `json:"phase,omitempty"` // A human-readable message indicating details about why the upgradeStep // is in this state Message string `json:"message,omitempty"` // Reason is a brief CamelCase string that describes any failure and is meant // for machine parsing and tidy display in the CLI Reason string `json:"reason,omitempty"` }
Status represents the state of the step performed during the upgrade.
func (*Status) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Status.
func (*Status) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type StoragePoolClaim ¶
type StoragePoolClaim struct { // SPCName contains the name of the storage pool claim to be upgraded SPCName string `json:"spcName,omitempty"` // Options can be used to change the default behaviour of upgrade Options *ResourceOptions `json:"options,omitempty"` }
StoragePoolClaim is the ResourceType for storage pool claim
func (*StoragePoolClaim) DeepCopy ¶
func (in *StoragePoolClaim) DeepCopy() *StoragePoolClaim
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StoragePoolClaim.
func (*StoragePoolClaim) DeepCopyInto ¶
func (in *StoragePoolClaim) DeepCopyInto(out *StoragePoolClaim)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UpgradeDetailedStatuses ¶
type UpgradeDetailedStatuses struct { Step UpgradeStep `json:"step,omitempty"` // StartTime of a UpgradeStep StartTime metav1.Time `json:"startTime,omitempty"` // LastUpdatedTime of a UpgradeStep LastUpdatedTime metav1.Time `json:"lastUpdatedAt,omitempty"` // Status of a UpgradeStep Status `json:",inline"` }
UpgradeDetailedStatuses represents the latest available observations of a UpgradeTask current state.
func (*UpgradeDetailedStatuses) DeepCopy ¶
func (in *UpgradeDetailedStatuses) DeepCopy() *UpgradeDetailedStatuses
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpgradeDetailedStatuses.
func (*UpgradeDetailedStatuses) DeepCopyInto ¶
func (in *UpgradeDetailedStatuses) DeepCopyInto(out *UpgradeDetailedStatuses)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UpgradePhase ¶
type UpgradePhase string
UpgradePhase defines phase of a UpgradeTask
const ( // UpgradeStarted - used for Upgrades that are Started UpgradeStarted UpgradePhase = "Started" // UpgradeSuccess - used for Upgrades that are not available UpgradeSuccess UpgradePhase = "Success" // UpgradeError - used for Upgrades that Error for some reason UpgradeError UpgradePhase = "Error" )
type UpgradeStep ¶
type UpgradeStep string
UpgradeStep is the current step being performed for a particular resource upgrade
const ( // PreUpgrade is the step to verify resource before upgrade PreUpgrade UpgradeStep = "PRE_UPGRADE" // TargetUpgrade is the step to upgrade Target depoyment of resource TargetUpgrade UpgradeStep = "TARGET_UPGRADE" // ReplicaUpgrade is the step to upgrade replica deployment of resource ReplicaUpgrade UpgradeStep = "REPLICA_UPGRADE" // Verify is the step to verify the upgrade Verify UpgradeStep = "VERIFY" // Rollback is the step to rollback to previous version if upgrade fails Rollback UpgradeStep = "ROLLBACK" // PoolInstanceUpgrade is the step to upgrade a pool (CSP or CSPI and it's deployment) PoolInstanceUpgrade UpgradeStep = "POOL_INSTANCE_UPGRADE" )
type UpgradeTask ¶
type UpgradeTask struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // Spec i.e. specifications of the UpgradeTask Spec UpgradeTaskSpec `json:"spec"` // Status of UpgradeTask Status UpgradeTaskStatus `json:"status"` }
UpgradeTask represents an upgrade task
func (*UpgradeTask) DeepCopy ¶
func (in *UpgradeTask) DeepCopy() *UpgradeTask
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpgradeTask.
func (*UpgradeTask) DeepCopyInto ¶
func (in *UpgradeTask) DeepCopyInto(out *UpgradeTask)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*UpgradeTask) DeepCopyObject ¶
func (in *UpgradeTask) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type UpgradeTaskList ¶
type UpgradeTaskList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` // Items are the list of upgrade task items Items []UpgradeTask `json:"items"` }
UpgradeTaskList is a list of UpgradeTask resources
func (*UpgradeTaskList) DeepCopy ¶
func (in *UpgradeTaskList) DeepCopy() *UpgradeTaskList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpgradeTaskList.
func (*UpgradeTaskList) DeepCopyInto ¶
func (in *UpgradeTaskList) DeepCopyInto(out *UpgradeTaskList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*UpgradeTaskList) DeepCopyObject ¶
func (in *UpgradeTaskList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type UpgradeTaskSpec ¶
type UpgradeTaskSpec struct { // FromVersion is the current version of the resource. FromVersion string `json:"fromVersion"` // ToVersion is the upgraded version of the resource. It should be same // as the version of control plane components version. ToVersion string `json:"toVersion"` // Options contains the optional flags that can be passed during upgrade. Options *Options `json:"options,omitempty"` // ResourceSpec contains the details of the resource that has to upgraded. ResourceSpec `json:",inline"` // ImagePrefix contains the url prefix of the image url. This field is // optional. If not present upgrade takes the previously present ImagePrefix. ImagePrefix string `json:"imagePrefix"` // ImageTag contains the customized tag for ToVersion if any. This field is // optional. If not present upgrade takes the ToVersion as the ImageTag ImageTag string `json:"imageTag"` }
UpgradeTaskSpec is the properties of an upgrade task
func (*UpgradeTaskSpec) DeepCopy ¶
func (in *UpgradeTaskSpec) DeepCopy() *UpgradeTaskSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpgradeTaskSpec.
func (*UpgradeTaskSpec) DeepCopyInto ¶
func (in *UpgradeTaskSpec) DeepCopyInto(out *UpgradeTaskSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UpgradeTaskStatus ¶
type UpgradeTaskStatus struct { // Phase indicates if a upgradeTask is started, success or errored Phase UpgradePhase `json:"phase,omitempty"` // StartTime of Upgrade StartTime metav1.Time `json:"startTime,omitempty"` // CompletedTime of Upgrade CompletedTime metav1.Time `json:"completedTime,omitempty"` // UpgradeDetailedStatuses contains the list of statuses of each step UpgradeDetailedStatuses []UpgradeDetailedStatuses `json:"upgradeDetailedStatuses,omitempty"` // Retries is the number of times the job attempted to upgrade the resource Retries int `json:"retries"` }
UpgradeTaskStatus provides status of a upgradeTask
func (*UpgradeTaskStatus) DeepCopy ¶
func (in *UpgradeTaskStatus) DeepCopy() *UpgradeTaskStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpgradeTaskStatus.
func (*UpgradeTaskStatus) DeepCopyInto ¶
func (in *UpgradeTaskStatus) DeepCopyInto(out *UpgradeTaskStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.