v1alpha1

package
v1.12.0 Latest Latest
Warning

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

Go to latest
Published: Jul 8, 2020 License: Apache-2.0 Imports: 10 Imported by: 69

Documentation

Overview

Package v1alpha1 is the v1alpha1 version of the API. +groupName=openebs.io

Index

Constants

View Source
const (
	// HostNameCPK is the kubernetes host name label
	HostNameCPK CasPoolKey = "kubernetes.io/hostname"
	// StoragePoolClaimCPK is the storage pool claim label
	StoragePoolClaimCPK CasPoolKey = "openebs.io/storage-pool-claim"
	// CStorPoolClusterCPK is the CStorPoolcluster label
	CStorPoolClusterCPK CasPoolKey = "openebs.io/cstor-pool-cluster"
	// CStorPoolInstanceCPK is the CStorPoolInstance label
	CStorPoolInstanceCPK CasPoolKey = "openebs.io/cstor-pool-instance"
	// NdmDiskTypeCPK is the node-disk-manager disk type e.g. 'sparse' or 'disk'
	NdmDiskTypeCPK CasPoolKey = "ndm.io/disk-type"
	// NdmBlockDeviceTypeCPK is the node-disk-manager blockdevice type e.g. // 'blockdevice'
	NdmBlockDeviceTypeCPK CasPoolKey = "ndm.io/blockdevice-type"
	// PoolTypeMirroredCPV is a key for mirrored for pool
	PoolTypeMirroredCPV CasPoolValString = "mirrored"
	// PoolTypeStripedCPV is a key for striped for pool
	PoolTypeStripedCPV CasPoolValString = "striped"
	// PoolTypeRaidzCPV is a key for raidz for pool
	PoolTypeRaidzCPV CasPoolValString = "raidz"
	// PoolTypeRaidz2CPV is a key for raidz for pool
	PoolTypeRaidz2CPV CasPoolValString = "raidz2"
	// TypeSparseCPV is a key for sparse disk pool
	TypeSparseCPV CasPoolValString = "sparse"
	// TypeDiskCPV is a key for physical,iscsi,virtual etc disk pool
	TypeDiskCPV CasPoolValString = "disk"
	// TypeBlockDeviceCPV is a key for physical,iscsi,virtual etc disk pool
	TypeBlockDeviceCPV CasPoolValString = "blockdevice"
	// StripedBlockDeviceCountCPV is the count for striped type pool
	StripedBlockDeviceCountCPV CasPoolValInt = 1
	// MirroredBlockDeviceCountCPV is the count for mirrored type pool
	MirroredBlockDeviceCountCPV CasPoolValInt = 2
	// RaidzBlockDeviceCountCPV is the count for raidz type pool
	RaidzBlockDeviceCountCPV CasPoolValInt = 3
	// Raidz2BlockDeviceCountCPV is the count for raidz2 type pool
	Raidz2BlockDeviceCountCPV CasPoolValInt = 6
	// PersistentVolumeCPK is a key on the various resources to identify it belongs
	// to particular volume
	PersistentVolumeCPK CasPoolKey = "openebs.io/persistent-volume"
)
View Source
const (
	// PoolProtectionFinalizer will make sure that pool will be destroyed
	// on the disks before removing the CSP from etcd
	PoolProtectionFinalizer = "openebs.io/pool-protection"
)
View Source
const (
	// TaskIdentityPrefix is the prefix used for all TaskIdentity
	TaskIdentityPrefix string = "key"
)

Variables

View Source
var (
	// SchemeBuilder is the scheme builder with scheme init functions to run for this API package
	SchemeBuilder runtime.SchemeBuilder

	// AddToScheme is a global function that registers this API group & version to a scheme
	AddToScheme = localSchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: openebsio.GroupName, Version: "v1alpha1"}

SchemeGroupVersion is group version used to register these objects

View Source
var (
	// SupportedPRaidType is a map holding the supported raid configurations
	// Value of the keys --
	// 1. In case of striped this is the minimum number of disk required.
	// 2. In all other cases this is the exact number of disks required.
	SupportedPRaidType = map[PoolType]int{
		PoolStriped:  1,
		PoolMirrored: 2,
		PoolRaidz:    3,
		PoolRaidz2:   6,
	}
)

Functions

func GetValue

func GetValue(key string, m map[string]MetricsFamily) float64

GetValue returns the value of the key if the key is present in map[string]MetricsFamily.

func IsCurrentVersionValid

func IsCurrentVersionValid(v string) bool

IsCurrentVersionValid verifies if the current version is valid or not

func IsDesiredVersionValid

func IsDesiredVersionValid(v string) bool

IsDesiredVersionValid verifies the desired version is valid or not

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type BlockDeviceAttr

type BlockDeviceAttr struct {
	BlockDeviceList []string `json:"blockDeviceList"`
}

BlockDeviceAttr stores the block device related attributes.

func (*BlockDeviceAttr) DeepCopy

func (in *BlockDeviceAttr) DeepCopy() *BlockDeviceAttr

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

func (*BlockDeviceAttr) DeepCopyInto

func (in *BlockDeviceAttr) DeepCopyInto(out *BlockDeviceAttr)

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

type BlockDeviceGroup

type BlockDeviceGroup struct {
	// Item contains a list of CspBlockDevice.
	Item []CspBlockDevice `json:"blockDevice"`
}

BlockDeviceGroup contains a collection of block device for a given pool topology in CSP.

func (*BlockDeviceGroup) DeepCopy

func (in *BlockDeviceGroup) DeepCopy() *BlockDeviceGroup

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

func (*BlockDeviceGroup) DeepCopyInto

func (in *BlockDeviceGroup) DeepCopyInto(out *BlockDeviceGroup)

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

type CASJivaVolumeDefault

type CASJivaVolumeDefault string

CASJivaVolumeDefault is a typed string to represent defaults of Jiva based CAS Volume properties or attributes or operations

type CASKey

type CASKey string

CASKey represents the key used either in resource annotation or label

const (
	// CreatePoolCASTemplateKey is the cas template annotation key whose value is
	// the name of cas template that will be used to provision a storagepool
	// If this field is present on SPC then CAS template pointed by this field is used to provision
	// the storage pool else default CAS template is used.
	CreatePoolCASTemplateKey CASKey = "cas.openebs.io/create-pool-template"

	// DeletePoolCASTemplateKey is the cas template annotation key whose value is
	// the name of cas template that will be used to delete a storagepool
	DeletePoolCASTemplateKey CASKey = "cas.openebs.io/delete-pool-template"

	// OpenEBSVersionKey is the label key which provides the installed version of
	// OpenEBS
	OpenEBSVersionKey CASKey = "openebs.io/version"

	// OpenEBSDisableReconcileKey is the label key decides to reconcile or not
	OpenEBSDisableReconcileKey CASKey = "reconcile.openebs.io/disable"

	// CASConfigKey is the key to fetch configurations w.r.t a CAS entity
	CASConfigKey CASKey = "cas.openebs.io/config"

	// NamespaceKey is the key to fetch cas entity's namespace
	NamespaceKey CASKey = "openebs.io/namespace"

	// PersistentVolumeClaimKey is the key to fetch name of PersistentVolumeClaim
	PersistentVolumeClaimKey CASKey = "openebs.io/persistentvolumeclaim"

	// CASKeyIsPatchJivaReplicaNodeAffinityHeader is the key to fetch value of IsPatchKey
	// its value is "enabled".
	CASKeyIsPatchJivaReplicaNodeAffinityHeader CASKey = "Is-Patch-Jiva-Replica-Node-Affinity"

	// NodeAffinityReplicaJivaIsPatchKey is the key to fetch value of IsPatchKey
	// its value is "enabled".
	NodeAffinityReplicaJivaIsPatchKey CASKey = "nodeAffinity.replica.jiva.openebs.io/is-patch"

	// CASKeyIsPatchJivaReplicaNodeAffinity is the key to fetch value of IsPatchKey
	// its value is "enabled".
	CASKeyIsPatchJivaReplicaNodeAffinity CASKey = "isPatchJivaReplicaNodeAffinity"

	// StorageClassKey is the key to fetch name of StorageClass
	StorageClassKey CASKey = "openebs.io/storageclass"

	// VolumePolicyKey is the key to fetch name of CStorVolume Policies
	VolumePolicyKey CASKey = "openebs.io/volume-policy"

	// CASTypeKey is the key to fetch storage engine for the volume
	CASTypeKey CASKey = "openebs.io/cas-type"

	// StorageClassHeaderKey is the key to fetch name of StorageClass
	// This key is present only in get request headers
	StorageClassHeaderKey CASKey = "storageclass"

	// PredecessorBDKey is the key to fetch the predecessor BD in case of
	// block device replacement.
	PredecessorBDKey = "openebs.io/bd-predecessor"

	// CStorPoolKey is the key to fetch the CVRs on a specific
	// CStor pool. This key is present on CVR labels
	CStorPoolKey CASKey = "cstorpool.openebs.io/name"

	// CStorVolumeKey is the key to getch CStorVolume CR of a
	// CVR. This key is present on CVR label.
	CStorVolumeKey CASKey = "cstorvolume.openebs.io/name"

	//PodDisruptionBudgetKey is the key used to identify the PDB
	PodDisruptionBudgetKey = "openebs.io/pod-disruption-budget"

	// CStorpoolInstanceLabel is the key used on pool dependent resources
	CStorpoolInstanceLabel = "cstorpoolinstance.openebs.io/name"

	// PVCreatedByKey is key to fetch the details of pv creation in case of restore
	PVCreatedByKey = "openebs.io/created-through"

	// Name of the CSI driver
	CSIDriverName = "cstor.csi.openebs.io"
)

type CASPlainKey

type CASPlainKey string

CASPlainKey represents a openebs key used either in resource annotation or label

NOTE:

PlainKey (i.e. without 'openebs.io/' ) helps to parse key via

go templating

const (
	// OpenEBSVersionPlainKey is the label key which provides the installed
	// version of OpenEBS
	OpenEBSVersionPlainKey CASPlainKey = "version"

	// CASTNamePlainKey is the key to fetch name of CAS template
	CASTNamePlainKey CASPlainKey = "castName"
)

type CASSnapshot

type CASSnapshot struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// Spec i.e. specifications of this cas snapshot
	Spec SnapshotSpec `json:"spec"`
}

CASSnapshot represents a cas snapshot

func (*CASSnapshot) DeepCopy

func (in *CASSnapshot) DeepCopy() *CASSnapshot

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

func (*CASSnapshot) DeepCopyInto

func (in *CASSnapshot) DeepCopyInto(out *CASSnapshot)

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

type CASSnapshotKey

type CASSnapshotKey string

CASSnapshotKey is a typed string to represent CAS Snapshot related annotations' or labels' keys

Example 1 - Below is a sample StorageClass that makes use of a CASSnapshotKey constant i.e. the cas template used to create a cas snapshot

```yaml apiVersion: storage.k8s.io/v1 kind: StorageClass metadata:

name: openebs-standard
annotations:
  cas.openebs.io/create-snapshot-template: cast-standard-0.8.0

provisioner: openebs.io/provisioner-iscsi ```

const (
	// CASTemplateKeyForSnapshotCreate is the key to fetch name of CASTemplate
	// to create a CAS Snapshot
	CASTemplateKeyForSnapshotCreate CASSnapshotKey = "cas.openebs.io/create-snapshot-template"

	// CASTemplateKeyForSnapshotRead is the key to fetch name of CASTemplate
	// to read a CAS Snapshot
	CASTemplateKeyForSnapshotRead CASSnapshotKey = "cas.openebs.io/read-snapshot-template"

	// CASTemplateKeyForSnapshotDelete is the key to fetch name of CASTemplate
	// to delete a CAS Snapshot
	CASTemplateKeyForSnapshotDelete CASSnapshotKey = "cas.openebs.io/delete-snapshot-template"

	// CASTemplateKeyForSnapshotList is the key to fetch name of CASTemplate
	// to list CAS Snapshots
	CASTemplateKeyForSnapshotList CASSnapshotKey = "cas.openebs.io/list-snapshot-template"
)

type CASSnapshotList

type CASSnapshotList struct {
	metav1.TypeMeta `json:",inline"`
	// Items are the list of volumes
	Items []CASSnapshot `json:"items"`
}

CASSnapshotList is a list of CASSnapshot resources

func (*CASSnapshotList) DeepCopy

func (in *CASSnapshotList) DeepCopy() *CASSnapshotList

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

func (*CASSnapshotList) DeepCopyInto

func (in *CASSnapshotList) DeepCopyInto(out *CASSnapshotList)

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

type CASTemplate

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

	Spec CASTemplateSpec `json:"spec"`
}

CASTemplate describes a Container Attached Storage template that is used to provision a CAS volume

func (*CASTemplate) DeepCopy

func (in *CASTemplate) DeepCopy() *CASTemplate

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

func (*CASTemplate) DeepCopyInto

func (in *CASTemplate) DeepCopyInto(out *CASTemplate)

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

func (*CASTemplate) DeepCopyObject

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

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

func (*CASTemplate) GoString

func (c *CASTemplate) GoString() string

GoString implements GoStringer interface

func (*CASTemplate) String

func (c *CASTemplate) String() string

String implements Stringer interface

type CASTemplateList

type CASTemplateList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	Items []CASTemplate `json:"items"`
}

CASTemplateList is a list of CASTemplate resources

func (*CASTemplateList) DeepCopy

func (in *CASTemplateList) DeepCopy() *CASTemplateList

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

func (*CASTemplateList) DeepCopyInto

func (in *CASTemplateList) DeepCopyInto(out *CASTemplateList)

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

func (*CASTemplateList) DeepCopyObject

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

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

type CASTemplateSpec

type CASTemplateSpec struct {
	// Defaults are a list of default configurations that may be applied
	// during execution of CAS template
	Defaults []Config `json:"defaultConfig"`
	// TaskNamespace is the namespace where the tasks are expected to be found
	TaskNamespace string `json:"taskNamespace"`
	// RunTasks refers to a set of tasks to be run
	RunTasks RunTasks `json:"run"`
	// OutputTask is the task that has the CAS template result's output
	// format
	OutputTask string `json:"output"`
	// Fallback is the CASTemplate to fallback to in-case of specific failures
	// e.g. VersionMismatchError, etc
	Fallback string `json:"fallback"`
}

CASTemplateSpec is the specifications for a CASTemplate resource

func (*CASTemplateSpec) DeepCopy

func (in *CASTemplateSpec) DeepCopy() *CASTemplateSpec

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

func (*CASTemplateSpec) DeepCopyInto

func (in *CASTemplateSpec) DeepCopyInto(out *CASTemplateSpec)

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

type CASVolume

type CASVolume struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// Spec i.e. specifications of this cas volume
	Spec CASVolumeSpec `json:"spec"`
	// CloneSpec contains the required information related to volume clone
	CloneSpec VolumeCloneSpec `json:"cloneSpec,omitempty"`
	// Status of this cas volume
	Status CASVolumeStatus `json:"status"`
}

CASVolume represents a cas volume

func (*CASVolume) DeepCopy

func (in *CASVolume) DeepCopy() *CASVolume

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

func (*CASVolume) DeepCopyInto

func (in *CASVolume) DeepCopyInto(out *CASVolume)

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

func (*CASVolume) GoString

func (v *CASVolume) GoString() string

GoString implements GoStringer interface

func (*CASVolume) String

func (v *CASVolume) String() string

String implements Stringer interface

type CASVolumeKey

type CASVolumeKey string

CASVolumeKey is a typed string to represent CAS Volume related annotations' or labels' keys

Example 1 - Below is a sample StorageClass that makes use of a CASVolumeKey constant i.e. the cas template used to create a cas volume

```yaml apiVersion: storage.k8s.io/v1 kind: StorageClass metadata:

name: openebs-standard
annotations:
  cas.openebs.io/create-volume-template: cast-standard-0.6.0

provisioner: openebs.io/provisioner-iscsi ```

const (
	// CASTemplateKeyForVolumeCreate is the key to fetch name of CASTemplate
	// to create a CAS Volume
	CASTemplateKeyForVolumeCreate CASVolumeKey = "cas.openebs.io/create-volume-template"

	// CASTemplateKeyForVolumeRead is the key to fetch name of CASTemplate
	// to read a CAS Volume
	CASTemplateKeyForVolumeRead CASVolumeKey = "cas.openebs.io/read-volume-template"

	// CASTemplateKeyForVolumeDelete is the key to fetch name of CASTemplate
	// to delete a CAS Volume
	CASTemplateKeyForVolumeDelete CASVolumeKey = "cas.openebs.io/delete-volume-template"

	// CASTemplateKeyForVolumeList is the key to fetch name of CASTemplate
	// to list CAS Volumes
	CASTemplateKeyForVolumeList CASVolumeKey = "cas.openebs.io/list-volume-template"
)

type CASVolumeList

type CASVolumeList struct {
	metav1.ListOptions `json:",inline"`
	metav1.ObjectMeta  `json:"metadata,omitempty"`
	metav1.ListMeta    `json:"metalist"`

	// Items are the list of volumes
	Items []CASVolume `json:"items"`
}

CASVolumeList is a list of CASVolume resources

func (*CASVolumeList) DeepCopy

func (in *CASVolumeList) DeepCopy() *CASVolumeList

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

func (*CASVolumeList) DeepCopyInto

func (in *CASVolumeList) DeepCopyInto(out *CASVolumeList)

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

func (*CASVolumeList) GoString

func (v *CASVolumeList) GoString() string

GoString implements GoStringer interface

func (*CASVolumeList) String

func (v *CASVolumeList) String() string

String implements Stringer interface

type CASVolumeSpec

type CASVolumeSpec struct {
	// Capacity of a volume will hold the capacity of the Volume
	Capacity string `json:"capacity"`
	// Iqn of a volume will hold the iqn value of the Volume
	Iqn string `json:"iqn"`
	// TargetPortal of a volume will hold the target portal of the volume
	TargetPortal string `json:"targetPortal"`
	// TargetIP of a volume will hold the targetIP of the Volume
	TargetIP string `json:"targetIP"`
	// TargetPort of a volume will hold the targetIP of the Volume
	TargetPort string `json:"targetPort"`
	// Replicas of a volume will hold the replica count of the volume
	Replicas string `json:"replicas"`
	// CasType of a volume will hold the storage engine used to provision the volume
	CasType string `json:"casType"`
	// FSType of a volume will specify the format type - ext4(default), xfs of PV
	FSType string `json:"fsType"`
	// Lun of volume will specify the lun number 0, 1.. on iSCSI Volume. (default: 0)
	Lun int32 `json:"lun"`
	// AccessMode of a volume will hold the access mode of the volume
	AccessMode string `json:"accessMode"`
}

CASVolumeSpec has the properties of a cas volume

func (*CASVolumeSpec) DeepCopy

func (in *CASVolumeSpec) DeepCopy() *CASVolumeSpec

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

func (*CASVolumeSpec) DeepCopyInto

func (in *CASVolumeSpec) DeepCopyInto(out *CASVolumeSpec)

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

type CASVolumeStatus

type CASVolumeStatus struct {
	// Phase indicates if a volume is available, pending or failed
	Phase VolumePhase
	// A human-readable message indicating details about why the volume
	// is in this state
	Message string
	// Reason is a brief CamelCase string that describes any failure and is meant
	// for machine parsing and tidy display in the CLI
	Reason string
}

CASVolumeStatus provides status of a cas volume

func (*CASVolumeStatus) DeepCopy

func (in *CASVolumeStatus) DeepCopy() *CASVolumeStatus

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

func (*CASVolumeStatus) DeepCopyInto

func (in *CASVolumeStatus) DeepCopyInto(out *CASVolumeStatus)

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

type CASVolumeType

type CASVolumeType string

CASVolumeType represents a valid cas volume

const (
	// JivaVolume represents a volume based on jiva
	JivaVolume CASVolumeType = "jiva"

	// CstorVolume represents a volume based on cstor
	CstorVolume CASVolumeType = "cstor"
)

type CStorBackup

type CStorBackup struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              CStorBackupSpec   `json:"spec"`
	Status            CStorBackupStatus `json:"status"`
}

CStorBackup describes a cstor backup resource created as a custom resource

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 a name of the backup or scheduled backup
	BackupName string `json:"backupName"`

	// VolumeName is a name of the volume for which this backup is destined
	VolumeName string `json:"volumeName"`

	// SnapName is a name of the current backup snapshot
	SnapName string `json:"snapName"`

	// PrevSnapName is the last completed-backup's snapshot name
	PrevSnapName string `json:"prevSnapName"`

	// BackupDest is the remote address for backup transfer
	BackupDest string `json:"backupDest"`

	// LocalSnap is flag to enable local snapshot only
	LocalSnap bool `json:"localSnap"`
}

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 to hold status of backup

const (
	// BKPCStorStatusEmpty ensures the create operation is to be done, if import fails.
	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              CStorBackupSpec `json:"spec"`
}

CStorCompletedBackup describes a cstor completed-backup resource created as custom resource

func (*CStorCompletedBackup) DeepCopy

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

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 CStorPool

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

	Spec           CStorPoolSpec   `json:"spec"`
	Status         CStorPoolStatus `json:"status"`
	VersionDetails VersionDetails  `json:"versionDetails"`
}

CStorPool describes a cstor pool resource created as custom resource.

func (*CStorPool) DeepCopy

func (in *CStorPool) DeepCopy() *CStorPool

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

func (*CStorPool) DeepCopyInto

func (in *CStorPool) DeepCopyInto(out *CStorPool)

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

func (*CStorPool) DeepCopyObject

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

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

func (*CStorPool) GoString

func (c *CStorPool) GoString() string

GoString implements GoStringer interface

func (*CStorPool) String

func (c *CStorPool) String() string

String implements Stringer interface

type CStorPoolAttr

type CStorPoolAttr struct {
	CacheFile string `json:"cacheFile"` //optional, faster if specified
	PoolType  string `json:"poolType"`  //mirrored, striped
	// OverProvisioning field is deprecated and not honoured
	OverProvisioning bool `json:"overProvisioning"` //true or false
	// ThickProvisioning, If true disables OverProvisioning
	ThickProvisioning bool `json:"thickProvisioning"` // true or false
	// ROThresholdLimit is threshold(percentage base) limit for pool read only mode, if ROThresholdLimit(%) of pool storage is used then pool will become readonly, CVR also. (0 < ROThresholdLimit < 100, default:100)
	ROThresholdLimit int `json:"roThresholdLimit"` //optional
}

CStorPoolAttr is to describe zpool related attributes.

func (*CStorPoolAttr) DeepCopy

func (in *CStorPoolAttr) DeepCopy() *CStorPoolAttr

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

func (*CStorPoolAttr) DeepCopyInto

func (in *CStorPoolAttr) DeepCopyInto(out *CStorPoolAttr)

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

type CStorPoolCapacityAttr

type CStorPoolCapacityAttr struct {
	Total string `json:"total"`
	Free  string `json:"free"`
	Used  string `json:"used"`
}

CStorPoolCapacityAttr stores the pool capacity related attributes.

func (*CStorPoolCapacityAttr) DeepCopy

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

func (*CStorPoolCapacityAttr) DeepCopyInto

func (in *CStorPoolCapacityAttr) DeepCopyInto(out *CStorPoolCapacityAttr)

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 CStorPoolClusterBlockDevice

type CStorPoolClusterBlockDevice 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 string `json:"capacity"`
	// DevLink is the dev link for block devices
	DevLink string `json:"devLink"`
}

CStorPoolClusterBlockDevice contains the details of block devices that constitutes a raid group.

func (*CStorPoolClusterBlockDevice) DeepCopy

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

func (*CStorPoolClusterBlockDevice) DeepCopyInto

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

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

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 {
	Phase    string                `json:"phase"`
	Capacity CStorPoolCapacityAttr `json:"capacity"`
}

CStorPoolClusterStatus is for handling status of pool.

func (*CStorPoolClusterStatus) DeepCopy

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           CStorPoolInstanceSpec `json:"spec"`
	Status         CStorPoolStatus       `json:"status"`
	VersionDetails VersionDetails        `json:"versionDetails"`
}

CStorPoolInstance describes a cstor pool instance resource created as custom 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 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

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 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"`
	// RaidGroups is the group containing block devices
	RaidGroups []RaidGroup `json:"raidGroup"`
}

CStorPoolInstanceSpec is the spec listing fields for a CStorPoolInstance resource.

func (*CStorPoolInstanceSpec) DeepCopy

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 CStorPoolList

type CStorPoolList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	Items []CStorPool `json:"items"`
}

CStorPoolList is a list of CStorPoolList resources

func (*CStorPoolList) DeepCopy

func (in *CStorPoolList) DeepCopy() *CStorPoolList

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

func (*CStorPoolList) DeepCopyInto

func (in *CStorPoolList) DeepCopyInto(out *CStorPoolList)

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

func (*CStorPoolList) DeepCopyObject

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

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

type CStorPoolPhase

type CStorPoolPhase string

CStorPoolPhase is a typed string for phase field of CStorPool.

const (
	// CStorPoolStatusEmpty ensures the create operation is to be done, if import fails.
	CStorPoolStatusEmpty CStorPoolPhase = ""
	// CStorPoolStatusOnline signifies that the pool is online.
	CStorPoolStatusOnline CStorPoolPhase = "Healthy"
	// CStorPoolStatusOffline signifies that the pool is offline.
	CStorPoolStatusOffline CStorPoolPhase = "Offline"
	// CStorPoolStatusDegraded signifies that the pool is degraded.
	CStorPoolStatusDegraded CStorPoolPhase = "Degraded"
	// CStorPoolStatusFaulted signifies that the pool is faulted.
	CStorPoolStatusFaulted CStorPoolPhase = "Faulted"
	// CStorPoolStatusRemoved signifies that the pool is removed.
	CStorPoolStatusRemoved CStorPoolPhase = "Removed"
	// CStorPoolStatusUnavail signifies that the pool is not available.
	CStorPoolStatusUnavail CStorPoolPhase = "Unavail"
	// CStorPoolStatusError signifies that the pool status could not be fetched.
	CStorPoolStatusError CStorPoolPhase = "Error"
	// CStorPoolStatusDeletionFailed ensures the resource deletion has failed.
	CStorPoolStatusDeletionFailed CStorPoolPhase = "DeletionFailed"
	// CStorPoolStatusInvalid ensures invalid resource.
	CStorPoolStatusInvalid CStorPoolPhase = "Invalid"
	// CStorPoolStatusErrorDuplicate ensures error due to duplicate resource.
	CStorPoolStatusErrorDuplicate CStorPoolPhase = "ErrorDuplicate"
	// CStorPoolStatusPending ensures pending task for cstorpool.
	CStorPoolStatusPending CStorPoolPhase = "Pending"
	// CStorPoolStatusInit is initial state of CSP, before pool creation.
	CStorPoolStatusInit CStorPoolPhase = "Init"
	// CStorPoolStatusCreateFailed is state when pool creation failed
	CStorPoolStatusCreateFailed CStorPoolPhase = "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 CStorPoolSpec

type CStorPoolSpec struct {
	Group    []BlockDeviceGroup `json:"group"`
	PoolSpec CStorPoolAttr      `json:"poolSpec"`
}

CStorPoolSpec is the spec listing fields for a CStorPool resource.

func (*CStorPoolSpec) DeepCopy

func (in *CStorPoolSpec) DeepCopy() *CStorPoolSpec

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

func (*CStorPoolSpec) DeepCopyInto

func (in *CStorPoolSpec) DeepCopyInto(out *CStorPoolSpec)

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

type CStorPoolStatus

type CStorPoolStatus struct {
	Phase    CStorPoolPhase        `json:"phase"`
	Capacity CStorPoolCapacityAttr `json:"capacity"`

	// LastTransitionTime refers to the time when the phase changes
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`

	//ReadOnly if pool is readOnly or not
	ReadOnly bool `json:"readOnly"`

	LastUpdateTime metav1.Time `json:"lastUpdateTime,omitempty"`
	Message        string      `json:"message,omitempty"`
}

CStorPoolStatus is for handling status of pool.

func (*CStorPoolStatus) DeepCopy

func (in *CStorPoolStatus) DeepCopy() *CStorPoolStatus

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

func (*CStorPoolStatus) DeepCopyInto

func (in *CStorPoolStatus) DeepCopyInto(out *CStorPoolStatus)

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 csp tag
	Spec              CStorRestoreSpec            `json:"spec"`
	Status            CStorRestoreStatus          `json:"status"`
}

CStorRestore describes a cstor restore resource created as a custom resource

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   string            `json:"restoreName"` // set restore name
	VolumeName    string            `json:"volumeName"`
	RestoreSrc    string            `json:"restoreSrc"` // it can be ip:port in case of restore from remote or volumeName in case of local restore
	MaxRetryCount int               `json:"maxretrycount"`
	RetryCount    int               `json:"retrycount"`
	StorageClass  string            `json:"storageClass,omitempty"`
	Size          resource.Quantity `json:"size,omitempty"`
	Local         bool              `json:"localRestore,omitempty"` // if restore is from local backup/snapshot
}

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 to hold result of action.

const (
	// RSTCStorStatusEmpty ensures the create operation is to be done, if import fails.
	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"`
}

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 CStorVolumeCapacityAttr

type CStorVolumeCapacityAttr struct {
	TotalAllocated string `json:"totalAllocated"`
	Used           string `json:"used"`
}

CStorVolumeCapacityAttr is for storing the volume capacity.

func (*CStorVolumeCapacityAttr) DeepCopy

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

func (*CStorVolumeCapacityAttr) DeepCopyInto

func (in *CStorVolumeCapacityAttr) DeepCopyInto(out *CStorVolumeCapacityAttr)

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

type CStorVolumeClaim

type CStorVolumeClaim 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 CStorVolumeClaimSpec `json:"spec"`

	// Publish contains info related to attachment of a volume to a node.
	// i.e. NodeId etc.
	Publish CStorVolumeClaimPublish `json:"publish,omitempty"`

	// Status represents the current information/status for the cstor volume
	// claim, populated by the controller.
	Status         CStorVolumeClaimStatus `json:"status"`
	VersionDetails VersionDetails         `json:"versionDetails"`
}

CStorVolumeClaim describes a cstor volume claim resource created as custom resource. CStorVolumeClaim is a request for creating cstor volume related resources like deployment, svc etc.

func (*CStorVolumeClaim) DeepCopy

func (in *CStorVolumeClaim) DeepCopy() *CStorVolumeClaim

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

func (*CStorVolumeClaim) DeepCopyInto

func (in *CStorVolumeClaim) DeepCopyInto(out *CStorVolumeClaim)

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

func (*CStorVolumeClaim) DeepCopyObject

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

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

type CStorVolumeClaimCondition

type CStorVolumeClaimCondition struct {
	// Current Condition of cstor volume claim. If underlying persistent volume is being
	// resized then the Condition will be set to 'ResizeStarted' etc
	Type CStorVolumeClaimConditionType `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"`
}

CStorVolumeClaimCondition contains details about state of cstor volume

func (*CStorVolumeClaimCondition) DeepCopy

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

func (*CStorVolumeClaimCondition) DeepCopyInto

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

type CStorVolumeClaimConditionType

type CStorVolumeClaimConditionType string

CStorVolumeClaimConditionType is a valid value of CstorVolumeClaimCondition.Type

const (
	// CStorVolumeClaimResizePending ...
	CStorVolumeClaimResizing CStorVolumeClaimConditionType = "Resizing"
	// CStorVolumeClaimResizeFailed ...
	CStorVolumeClaimResizeFailed CStorVolumeClaimConditionType = "VolumeResizeFailed"
	// CStorVolumeClaimResizeSuccess ...
	CStorVolumeClaimResizeSuccess CStorVolumeClaimConditionType = "VolumeResizeSuccessful"
	// CStorVolumeClaimResizePending ...
	CStorVolumeClaimResizePending CStorVolumeClaimConditionType = "VolumeResizePending"
)

These constants are CVC condition types related to resize operation.

type CStorVolumeClaimList

type CStorVolumeClaimList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	Items []CStorVolumeClaim `json:"items"`
}

CStorVolumeClaimList is a list of CStorVolumeClaim resources

func (*CStorVolumeClaimList) DeepCopy

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

func (*CStorVolumeClaimList) DeepCopyInto

func (in *CStorVolumeClaimList) DeepCopyInto(out *CStorVolumeClaimList)

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

func (*CStorVolumeClaimList) DeepCopyObject

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

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

type CStorVolumeClaimPhase

type CStorVolumeClaimPhase string

CStorVolumeClaimPhase represents the current phase of CStorVolumeClaim.

const (
	//CStorVolumeClaimPhasePending indicates that the cvc is still waiting for
	//the cstorvolume to be created and bound
	CStorVolumeClaimPhasePending CStorVolumeClaimPhase = "Pending"

	//CStorVolumeClaimPhaseBound indiacates that the cstorvolume has been
	//provisioned and bound to the cstor volume claim
	CStorVolumeClaimPhaseBound CStorVolumeClaimPhase = "Bound"

	//CStorVolumeClaimPhaseFailed indiacates that the cstorvolume provisioning
	//has failed
	CStorVolumeClaimPhaseFailed CStorVolumeClaimPhase = "Failed"
)

type CStorVolumeClaimPublish

type CStorVolumeClaimPublish struct {
	// NodeID contains publish info related to attachment of a volume to a node.
	NodeID string `json:"nodeId,omitempty"`
}

CStorVolumeClaimPublish contains info related to attachment of a volume to a node. i.e. NodeId etc.

func (*CStorVolumeClaimPublish) DeepCopy

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

func (*CStorVolumeClaimPublish) DeepCopyInto

func (in *CStorVolumeClaimPublish) DeepCopyInto(out *CStorVolumeClaimPublish)

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

type CStorVolumeClaimSpec

type CStorVolumeClaimSpec struct {
	// Capacity represents the actual resources of the underlying
	// cstor volume.
	Capacity corev1.ResourceList `json:"capacity"`
	// ReplicaCount represents the actual replica count for the underlying
	// cstor volume
	ReplicaCount int `json:"replicaCount"`
	// 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"`
	// Policy contains volume specific required policies target and replicas
	Policy CStorVolumePolicySpec `json:"policy"`
}

CStorVolumeClaimSpec is the spec for a CStorVolumeClaim resource

func (*CStorVolumeClaimSpec) DeepCopy

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

func (*CStorVolumeClaimSpec) DeepCopyInto

func (in *CStorVolumeClaimSpec) DeepCopyInto(out *CStorVolumeClaimSpec)

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

type CStorVolumeClaimStatus

type CStorVolumeClaimStatus struct {
	// Phase represents the current phase of CStorVolumeClaim.
	Phase CStorVolumeClaimPhase `json:"phase"`
	// Capacity the actual resources of the underlying volume.
	Capacity   corev1.ResourceList         `json:"capacity,omitempty"`
	Conditions []CStorVolumeClaimCondition `json:"condition,omitempty"`
	// PoolInfo represents current pool names where volume replicas exists
	PoolInfo []string `json:"poolInfo"`
}

CStorVolumeClaimStatus is for handling status of CstorVolume Claim. defines the observed state of CStorVolumeClaim

func (*CStorVolumeClaimStatus) DeepCopy

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

func (*CStorVolumeClaimStatus) DeepCopyInto

func (in *CStorVolumeClaimStatus) DeepCopyInto(out *CStorVolumeClaimStatus)

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

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

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 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 CStorVolumePhase

type CStorVolumePhase string

CStorVolumePhase is to hold result of action.

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

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

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

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 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

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

func (*CStorVolumeReplicaDetails) DeepCopyInto

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

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 string `json:"targetIP"`
	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"`
}

CStorVolumeReplicaSpec is the spec for a CStorVolumeReplica resource

func (*CStorVolumeReplicaSpec) DeepCopy

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 {
	Phase    CStorVolumeReplicaPhase `json:"phase"`
	Capacity CStorVolumeCapacityAttr `json:"capacity"`
	// LastTransitionTime refers to the time when the phase changes
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
	LastUpdateTime     metav1.Time `json:"lastUpdateTime,omitempty"`
	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

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          string            `json:"targetIP"`
	TargetPort        string            `json:"targetPort"`
	Iqn               string            `json:"iqn"`
	TargetPortal      string            `json:"targetPortal"`
	Status            string            `json:"status"`
	NodeBase          string            `json:"nodeBase"`
	ReplicationFactor int               `json:"replicationFactor"`
	ConsistencyFactor int               `json:"consistencyFactor"`
	// DesiredReplicationFactor represents maximum number of replicas
	// that are allowed to connect to the target
	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 resources 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     metav1.Time `json:"lastUpdateTime,omitempty"`
	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 which are
	// connected at given time
	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

func (in *CVStatus) DeepCopy() *CVStatus

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

func (*CVStatus) DeepCopyInto

func (in *CVStatus) DeepCopyInto(out *CVStatus)

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 CasPool

type CasPool struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// StoragePoolClaim is the name of the storagepoolclaim object
	StoragePoolClaim string

	// CasCreateTemplate is the cas template that will be used for storagepool create
	// operation
	CasCreateTemplate string

	// CasDeleteTemplate is the cas template that will be used for storagepool delete
	// operation
	CasDeleteTemplate string

	// Namespace can be passed via storagepoolclaim as labels to decide on the
	// execution of namespaced resources with respect to storagepool
	Namespace string

	// BlockDeviceList is the list of block devices over which a storagepool will be provisioned
	BlockDeviceList []BlockDeviceGroup

	// PoolType is the type of pool to be provisioned e.g. striped or mirrored
	PoolType string

	// PoolCacheFile is cache file which used at the time of importing a pool
	PoolCacheFile string

	// MaxPool is the maximum number of pool that should be provisioned
	MaxPools int

	// MinPool is the minimum number of pool that should be provisioned
	MinPools int

	// Type is the CasPool type e.g. sparse or openebs-cstor
	Type string

	// NodeName is the node where cstor pool will be created
	NodeName string

	// reSync will decide whether the event is a reconciliation event
	ReSync bool

	// PendingPoolCount is the number of pools that will be tried for creation as a part of reconciliation.
	PendingPoolCount int

	DeviceID           []string
	APIBlockDeviceList ndm.BlockDeviceList

	// PoolROThreshold is threshold limit for pool read only mode
	PoolROThreshold int
}

CasPool is a type which will be utilised by CAS engine to perform storagepool related operation. TODO: Restrucutre CasPool struct.

func (*CasPool) DeepCopy

func (in *CasPool) DeepCopy() *CasPool

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

func (*CasPool) DeepCopyInto

func (in *CasPool) DeepCopyInto(out *CasPool)

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

type CasPoolKey

type CasPoolKey string

CasPoolKey is the key for the CasPool.

type CasPoolValInt

type CasPoolValInt int

CasPoolValInt represents the integer value for a CasPoolKey

type CasPoolValString

type CasPoolValString string

CasPoolValString represents the string value for a CasPoolKey.

type CloneTLPProperty

type CloneTLPProperty string

CloneTLPProperty is used to define properties for clone operations

const (
	// SnapshotNameVTP is the snapshot name
	SnapshotNameVTP CloneTLPProperty = "snapshotName"

	// SourceVolumeTargetIPVTP is source volume target IP
	SourceVolumeTargetIPVTP CloneTLPProperty = "sourceVolumeTargetIP"

	// IsCloneEnableVTP is a bool value for clone operations
	// for a volume
	IsCloneEnableVTP CloneTLPProperty = "isCloneEnable"

	// SourceVolumeVTP is the name of the source volume
	SourceVolumeVTP CloneTLPProperty = "sourceVolume"
)

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 Config

type Config struct {
	// Name of the config
	Name string `json:"name"`
	// Enabled flags if this config is enabled or disabled;
	// true indicates enabled while false indicates disabled
	Enabled string `json:"enabled"`
	// Value represents any specific value that is applicable
	// to this config
	Value string `json:"value"`
	// Data represents an arbitrary map of key value pairs
	Data map[string]string `json:"data"`
}

Config holds a configuration element

For example, it can represent a config property of a CAS volume

func (*Config) DeepCopy

func (in *Config) DeepCopy() *Config

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

func (*Config) DeepCopyInto

func (in *Config) DeepCopyInto(out *Config)

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

func (Config) GoString

func (c Config) GoString() string

GoString implements GoStringer interface

func (Config) String

func (c Config) String() string

String implements Stringer interface

type Counter

type Counter struct {
	Value float64 `json:"value"`
}

Counter stores the counters provided by the prometheus and can be used for counting events that happen (e.g. total number of requests) and query using rate()

func (*Counter) DeepCopy

func (in *Counter) DeepCopy() *Counter

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

func (*Counter) DeepCopyInto

func (in *Counter) DeepCopyInto(out *Counter)

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

type CspBlockDevice

type CspBlockDevice struct {
	// Name is the name of the block device resource.
	Name string `json:"name"`
	// DeviceID is the device id of the block device resource. In case of sparse
	// block device, it contains the device path.
	DeviceID string `json:"deviceID"`
	// InUseByPool tells whether the block device is present on spc. If block
	// device is present on SPC, it is true else false.
	InUseByPool bool `json:"inUseByPool"`
}

CspBlockDevice contains the details of block device present on CSP.

func (*CspBlockDevice) DeepCopy

func (in *CspBlockDevice) DeepCopy() *CspBlockDevice

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

func (*CspBlockDevice) DeepCopyInto

func (in *CspBlockDevice) DeepCopyInto(out *CspBlockDevice)

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

type DeprecatedKey

type DeprecatedKey string

DeprecatedKey is a typed string to represent deprecated annotations' or labels' key

const (
	// CapacityDeprecatedKey is a label key used to set volume capacity
	//
	// NOTE:
	//  Deprecated in favour of CASVolume.Spec.Capacity
	CapacityDeprecatedKey DeprecatedKey = "volumeprovisioner.mapi.openebs.io/storage-size"

	// NamespaceDeprecatedKey is the key to fetch volume's namespace
	//
	// NOTE:
	//  Deprecated in favour of NamespaceKey
	NamespaceDeprecatedKey DeprecatedKey = "k8s.io/namespace"

	// PersistentVolumeClaimDeprecatedKey is the key to fetch volume's PVC
	//
	// NOTE:
	//  Deprecated in favour of PersistentVolumeClaimKey
	PersistentVolumeClaimDeprecatedKey DeprecatedKey = "k8s.io/pvc"

	// StorageClassDeprecatedKey is the key to fetch name of StorageClass
	//
	// NOTE:
	//  Deprecated in favour of StorageClassKey
	StorageClassDeprecatedKey DeprecatedKey = "k8s.io/storage-class"
)

type Gauge

type Gauge struct {
	Value float64 `json:"value"`
}

Gauge stores the gauge provided by the prometheus which can be used to instrument the current state of a metric

func (*Gauge) DeepCopy

func (in *Gauge) DeepCopy() *Gauge

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

func (*Gauge) DeepCopyInto

func (in *Gauge) DeepCopyInto(out *Gauge)

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

type KubePlainKey

type KubePlainKey string

KubePlainKey represents a kubernetes key used either in resource annotation or label

NOTE:

PlainKey (i.e. without 'kubernetes.io/' ) helps to parse key via

go templating

const (
	// KubeServerVersionPlainKey is the key to fetch Kubernetes server version
	KubeServerVersionPlainKey KubePlainKey = "kubeVersion"
)

type LabelItem

type LabelItem struct {
	Name  string `json:"name"`
	Value string `json:"value"`
}

LabelItem stores the labels provided by prometheus used for identifying the items

func (*LabelItem) DeepCopy

func (in *LabelItem) DeepCopy() *LabelItem

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

func (*LabelItem) DeepCopyInto

func (in *LabelItem) DeepCopyInto(out *LabelItem)

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

type ListItemsTLPProperty

type ListItemsTLPProperty string

ListItemsTLPProperty is the name of the property that is found under ListItemsTLP

const (
	// CurrentRepeatResourceLITP is a property of ListItemsTLP
	//
	// It is the current repeat resource due to which a task is getting
	// executed is set here
	//
	// Example:
	// {{- .ListItems.currentRepeatResource -}}
	//
	// Above templating will give the current repeat resource name
	CurrentRepeatResourceLITP ListItemsTLPProperty = "currentRepeatResource"
)

type MetricsFamily

type MetricsFamily struct {
	Label   []LabelItem `json:"label"`
	Counter Counter     `json:"counter"`
	Summary Summary     `json:"summary"`
	Gauge   Gauge       `json:"gauge"`
}

MetricsFamily is used store the prometheus metric members

func (*MetricsFamily) DeepCopy

func (in *MetricsFamily) DeepCopy() *MetricsFamily

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

func (*MetricsFamily) DeepCopyInto

func (in *MetricsFamily) DeepCopyInto(out *MetricsFamily)

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

type PolicyTLPProperty

type PolicyTLPProperty string

PolicyTLPProperty is the name of the property that is found under PolicyTLP

const (
	// EnabledPTP is the enabled property of the policy
	// NOTE:
	//  The corresponding value will be accessed as
	// {{ .Policy.<PolicyName>.enabled }}
	EnabledPTP PolicyTLPProperty = "enabled"

	// ValuePTP is the value property of the policy
	// NOTE:
	//  The corresponding value will be accessed as
	// {{ .Policy.<PolicyName>.value }}
	ValuePTP PolicyTLPProperty = "value"

	// DataPTP is the data property of the policy
	// NOTE:
	//  The corresponding value will be accessed as
	// {{ .Policy.<PolicyName>.data }}
	DataPTP PolicyTLPProperty = "data"
)

type PoolConfig

type PoolConfig struct {
	// Cachefile is used for faster pool imports
	// optional -- if not specified or left empty cache file is not
	// used.
	CacheFile string `json:"cacheFile"`
	// DefaultRaidGroupType is the default raid type which applies
	// to all the pools if raid type is not specified there
	// Compulsory field if any raidGroup is not given Type
	DefaultRaidGroupType string `json:"defaultRaidGroupType"`

	// OverProvisioning to enable over provisioning
	// Optional -- defaults to false
	OverProvisioning bool `json:"overProvisioning"`
	// 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"`
}

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 PoolMetrics

type PoolMetrics struct {
	Name   string          `json:"name"`
	Help   string          `json:"help"`
	Type   int             `json:"type"`
	Metric []MetricsFamily `json:"metric"`
}

PoolMetrics stores the pool metrics proided by the maya-exporter

func (*PoolMetrics) DeepCopy

func (in *PoolMetrics) DeepCopy() *PoolMetrics

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

func (*PoolMetrics) DeepCopyInto

func (in *PoolMetrics) DeepCopyInto(out *PoolMetrics)

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

type PoolMetricsList

type PoolMetricsList []PoolMetrics

PoolMetricsList is used to store the collected metrics

func (PoolMetricsList) DeepCopy

func (in PoolMetricsList) DeepCopy() PoolMetricsList

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

func (PoolMetricsList) DeepCopyInto

func (in PoolMetricsList) DeepCopyInto(out *PoolMetricsList)

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

func (PoolMetricsList) ToMap

func (pml PoolMetricsList) ToMap() map[string]MetricsFamily

ToMap converts metrics to map[string]MetricsFamily

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"`
	// RaidConfig is the raid group configuration for the given pool.
	RaidGroups []RaidGroup `json:"raidGroups"`
	// 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

func (in *PoolSpec) DeepCopy() *PoolSpec

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

func (*PoolSpec) DeepCopyInto

func (in *PoolSpec) DeepCopyInto(out *PoolSpec)

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

type PoolStats

type PoolStats struct {
}

PoolStats ...

func (*PoolStats) DeepCopy

func (in *PoolStats) DeepCopy() *PoolStats

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

func (*PoolStats) DeepCopyInto

func (in *PoolStats) DeepCopyInto(out *PoolStats)

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"`
}

Provision represents volume provisioning configuration

func (*Provision) DeepCopy

func (in *Provision) DeepCopy() *Provision

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

func (*Provision) DeepCopyInto

func (in *Provision) DeepCopyInto(out *Provision)

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

type Quantile

type Quantile struct {
	Quantile float64 `json:"quantile"`
	Value    float64 `json:"value"`
}

Quantile stores the quantile provided by the prometheus

func (*Quantile) DeepCopy

func (in *Quantile) DeepCopy() *Quantile

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

func (*Quantile) DeepCopyInto

func (in *Quantile) DeepCopyInto(out *Quantile)

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

type RaidGroup

type RaidGroup struct {

	// raidz -- RAID-Z is a data/parity distribution scheme like RAID-5, but uses dynamic stripe width.
	// radiz2 -- TODO
	// Optional -- defaults to `defaultRaidGroupType` present in `PoolConfig`
	Type string `json:"type"`
	// IsWriteCache is to enable this group as a write cache.
	IsWriteCache bool `json:"isWriteCache"`
	// IsSpare is to declare this group as spare which will be
	// part of the pool that can be used if some block devices
	// fail.
	IsSpare bool `json:"isSpare"`
	// IsReadCache is to enable this group as read cache.
	IsReadCache bool `json:"isReadCache"`
	// BlockDevices contains a list of block devices that
	// constitute this raid group.
	BlockDevices []CStorPoolClusterBlockDevice `json:"blockDevices"`
}

RaidGroup contains the details of a raid group for the pool

func (*RaidGroup) DeepCopy

func (in *RaidGroup) DeepCopy() *RaidGroup

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

func (*RaidGroup) DeepCopyInto

func (in *RaidGroup) DeepCopyInto(out *RaidGroup)

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

type ReplicaID

type ReplicaID string

ReplicaID is to hold replicaID information

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 {
	// ZvolWorkers represents number of threads that executes client IOs
	ZvolWorkers string `json:"zvolWorkers"`
	// Affinity if specified, are the replica affinities
	Affinity *corev1.PodAffinity `json:"affinity"`
}

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                string `json:"replicaId"`
	Mode              string `json:"mode"`
	CheckpointedIOSeq string `json:"checkpointedIOSeq"`
	InflightRead      string `json:"inflightRead"`
	InflightWrite     string `json:"inflightWrite"`
	InflightSync      string `json:"inflightSync"`
	UpTime            int    `json:"upTime"`
	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 RunTask

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

	Spec RunTaskSpec `json:"spec"`
}

RunTask forms the specifications that deal with running a CAS template engine based task

func (*RunTask) DeepCopy

func (in *RunTask) DeepCopy() *RunTask

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

func (*RunTask) DeepCopyInto

func (in *RunTask) DeepCopyInto(out *RunTask)

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

func (*RunTask) DeepCopyObject

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

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

func (*RunTask) GoString

func (r *RunTask) GoString() string

GoString implements GoStringer interface

func (*RunTask) String

func (r *RunTask) String() string

String implements Stringer interface

type RunTaskList

type RunTaskList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	Items []RunTask `json:"items"`
}

RunTaskList is a list of RunTask resources

func (*RunTaskList) DeepCopy

func (in *RunTaskList) DeepCopy() *RunTaskList

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

func (*RunTaskList) DeepCopyInto

func (in *RunTaskList) DeepCopyInto(out *RunTaskList)

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

func (*RunTaskList) DeepCopyObject

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

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

type RunTaskSpec

type RunTaskSpec struct {
	// Meta is the meta specifications to run this task
	Meta string `json:"meta"`
	// Task is the resource to be operated via this task
	Task string `json:"task"`
	// PostRun is a set of go template functions that is run
	// against the result of this task's execution. In other words, this
	// is run post the task execution.
	PostRun string `json:"post"`
}

RunTaskSpec is the specifications of a RunTask resource

func (*RunTaskSpec) DeepCopy

func (in *RunTaskSpec) DeepCopy() *RunTaskSpec

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

func (*RunTaskSpec) DeepCopyInto

func (in *RunTaskSpec) DeepCopyInto(out *RunTaskSpec)

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

type RunTasks

type RunTasks struct {
	// Items is a set of order-ed tasks referred to by their names
	Tasks []string `json:"tasks"`
}

RunTasks contains fields to run a set of runtasks referred to by their names

func (*RunTasks) DeepCopy

func (in *RunTasks) DeepCopy() *RunTasks

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

func (*RunTasks) DeepCopyInto

func (in *RunTasks) DeepCopyInto(out *RunTasks)

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

type SnapshotOptions

type SnapshotOptions struct {
	CasType    string `json:"casType,omitempty"`
	VolumeName string `json:"volumeName,omitempty"`
	Namespace  string `json:"namespace,omitempty"`
	Name       string `json:"name,omitempty"`
}

SnapshotOptions has the properties of a cas snapshot list

func (*SnapshotOptions) DeepCopy

func (in *SnapshotOptions) DeepCopy() *SnapshotOptions

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

func (*SnapshotOptions) DeepCopyInto

func (in *SnapshotOptions) DeepCopyInto(out *SnapshotOptions)

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

type SnapshotSpec

type SnapshotSpec struct {
	CasType    string `json:"casType"`
	VolumeName string `json:"volumeName"`
}

SnapshotSpec has the properties of a cas snapshot

func (*SnapshotSpec) DeepCopy

func (in *SnapshotSpec) DeepCopy() *SnapshotSpec

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

func (*SnapshotSpec) DeepCopyInto

func (in *SnapshotSpec) DeepCopyInto(out *SnapshotSpec)

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

type SnapshotTLPProperty

type SnapshotTLPProperty string

SnapshotTLPProperty is used to define properties for clone operations

const (
	// VolumeSTP is the snapshot name
	VolumeSTP SnapshotTLPProperty = "volumeName"
)

type StatsJSON

type StatsJSON struct {
	IQN     string `json:"Iqn"`
	Volume  string `json:"Volume"`
	Portal  string `json:"Portal"`
	Size    string `json:"Size"`
	CASType string `json:"CASType"`

	ReadIOPS  int64 `json:"ReadIOPS"`
	WriteIOPS int64 `json:"WriteIOPS"`

	ReadThroughput  float64 `json:"ReadThroughput"`
	WriteThroughput float64 `json:"WriteThroughput"`

	ReadLatency  float64 `json:"ReadLatency"`
	WriteLatency float64 `json:"WriteLatency"`

	AvgReadBlockSize  int64 `json:"AvgReadBlockSize"`
	AvgWriteBlockSize int64 `json:"AvgWriteBlockSize"`

	SectorSize  float64 `json:"SectorSize"`
	ActualUsed  float64 `json:"ActualUsed"`
	LogicalSize float64 `json:"LogicalSize"`
}

StatsJSON stores the statistics of an iSCSI volume.

func (*StatsJSON) DeepCopy

func (in *StatsJSON) DeepCopy() *StatsJSON

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

func (*StatsJSON) DeepCopyInto

func (in *StatsJSON) DeepCopyInto(out *StatsJSON)

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

type StoragePool

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

	Spec StoragePoolSpec `json:"spec"`
}

StoragePool describes a StoragePool.

func (*StoragePool) DeepCopy

func (in *StoragePool) DeepCopy() *StoragePool

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

func (*StoragePool) DeepCopyInto

func (in *StoragePool) DeepCopyInto(out *StoragePool)

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

func (*StoragePool) DeepCopyObject

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

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

type StoragePoolClaim

type StoragePoolClaim struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              StoragePoolClaimSpec   `json:"spec"`
	Status            StoragePoolClaimStatus `json:"status"`
	VersionDetails    VersionDetails         `json:"versionDetails"`
}

StoragePoolClaim describes a StoragePoolClaim custom resource.

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.

func (*StoragePoolClaim) DeepCopyObject

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

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

type StoragePoolClaimList

type StoragePoolClaimList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	Items []StoragePoolClaim `json:"items"`
}

StoragePoolClaimList is a list of StoragePoolClaim resources

func (*StoragePoolClaimList) DeepCopy

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

func (*StoragePoolClaimList) DeepCopyInto

func (in *StoragePoolClaimList) DeepCopyInto(out *StoragePoolClaimList)

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

func (*StoragePoolClaimList) DeepCopyObject

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

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

type StoragePoolClaimSpec

type StoragePoolClaimSpec struct {
	Name         string          `json:"name"`
	Type         string          `json:"type"`
	MaxPools     *int            `json:"maxPools"`
	MinPools     int             `json:"minPools"`
	BlockDevices BlockDeviceAttr `json:"blockDevices"`
	PoolSpec     CStorPoolAttr   `json:"poolSpec"`
}

StoragePoolClaimSpec is the spec for a StoragePoolClaimSpec resource

func (*StoragePoolClaimSpec) DeepCopy

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

func (*StoragePoolClaimSpec) DeepCopyInto

func (in *StoragePoolClaimSpec) DeepCopyInto(out *StoragePoolClaimSpec)

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

type StoragePoolClaimStatus

type StoragePoolClaimStatus struct {
	Phase string `json:"phase"`
}

StoragePoolClaimStatus is for handling status of pool.

func (*StoragePoolClaimStatus) DeepCopy

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

func (*StoragePoolClaimStatus) DeepCopyInto

func (in *StoragePoolClaimStatus) DeepCopyInto(out *StoragePoolClaimStatus)

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

type StoragePoolList

type StoragePoolList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	Items []StoragePool `json:"items"`
}

StoragePoolList is a list of StoragePool resources

func (*StoragePoolList) DeepCopy

func (in *StoragePoolList) DeepCopy() *StoragePoolList

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

func (*StoragePoolList) DeepCopyInto

func (in *StoragePoolList) DeepCopyInto(out *StoragePoolList)

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

func (*StoragePoolList) DeepCopyObject

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

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

type StoragePoolSpec

type StoragePoolSpec struct {
	Name         string          `json:"name"`
	Format       string          `json:"format"`
	Mountpoint   string          `json:"mountpoint"`
	Nodename     string          `json:"nodename"`
	Message      string          `json:"message"`
	Path         string          `json:"path"`
	BlockDevices BlockDeviceAttr `json:"blockdevices"`
	PoolSpec     CStorPoolAttr   `json:"poolSpec"`
}

StoragePoolSpec is the spec for a StoragePool resource

func (*StoragePoolSpec) DeepCopy

func (in *StoragePoolSpec) DeepCopy() *StoragePoolSpec

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

func (*StoragePoolSpec) DeepCopyInto

func (in *StoragePoolSpec) DeepCopyInto(out *StoragePoolSpec)

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

type StoragePoolTLPProperty

type StoragePoolTLPProperty string

StoragePoolTLPProperty is used to define properties that comes after StoragePoolTLP

const (
	// OwnerCTP indicates the owner of this pool; the one who
	// is executing this policy
	//
	// NOTE:
	//  The corresponding value will be accessed as
	// {{ .Storagepool.owner }}
	OwnerCTP StoragePoolTLPProperty = "owner"

	// BlockDeviceListCTP indicates the list of block devices
	BlockDeviceListCTP StoragePoolTLPProperty = "blockDeviceList"
	// BlockDeviceIDListCTP indicates the list of device id of disks
	// If device is is not present for a disk, it contians the device path.
	BlockDeviceIDListCTP StoragePoolTLPProperty = "blockDeviceIdList"
	// NodeNameCTP is the name of node where cstorpool will be ceated
	NodeNameCTP StoragePoolTLPProperty = "nodeName"
	// PoolTypeCTP is the type of cstorpool that will be ceated
	PoolTypeCTP StoragePoolTLPProperty = "poolType"
	// InitPhaseCTP is the init phase for the cstorpool CR that will be ceated
	InitPhaseCTP StoragePoolTLPProperty = "phase"
	// PoolCacheFileCTP is the cache file used in case of imporitng pool
	PoolCacheFileCTP StoragePoolTLPProperty = "poolCacheFile"
	// PoolROThresholdLimitCTP is pool read only threshold limit
	PoolROThresholdLimitCTP StoragePoolTLPProperty = "poolROThreshold"
)

type Summary

type Summary struct {
	SampleCount float64    `json:"sample_count"`
	SampleSum   float64    `json:"sample_sum"`
	Quantile    []Quantile `json:"quantile"`
}

Summary stores the summary provided by prometheus which can be used for pre-calculated quantiles on client side, but be mindful of calculation cost and aggregation limitations

func (*Summary) DeepCopy

func (in *Summary) DeepCopy() *Summary

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

func (*Summary) DeepCopyInto

func (in *Summary) DeepCopyInto(out *Summary)

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"`

	// Luworkers sets the number of threads that are working on above queue
	LuWorkers 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"`

	// Affinity if specified, are the target pod's affinities
	Affinity *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 TaskConfigTLPProperty

type TaskConfigTLPProperty string

TaskConfigTLPProperty is used to define properties that comes after TaskConfigTLP

type TaskResultTLPProperty

type TaskResultTLPProperty string

TaskResultTLPProperty is the name of the property that is found under TaskResultTLP

const (
	// ObjectNameTRTP is the objectName property of the
	// TaskResultTLP
	//
	// NOTE:
	//  The corresponding value will be accessed as
	// {{ .TaskResult.<TaskIdentity>.objectName }}
	ObjectNameTRTP TaskResultTLPProperty = "objectName"

	// AnnotationsTRTP is the annotations property of the
	// TaskResultTLP
	//
	// NOTE:
	//  The corresponding value will be accessed as
	// {{ .TaskResult.<TaskIdentity>.annotations }}
	AnnotationsTRTP TaskResultTLPProperty = "annotations"

	// TaskResultVerifyErrTRTP is a property of TaskResultTLP
	//
	// First error found after **verification** checks done against the result of
	// the task's execution is stored in this property.
	//
	// NOTE:
	//  The corresponding value will be accessed as
	// {{ .TaskResult.<TaskIdentity>.verifyErr }}
	TaskResultVerifyErrTRTP TaskResultTLPProperty = "verifyErr"

	// TaskResultNotFoundErrTRTP is a property of TaskResultTLP
	//
	// First error found after **not found** checks done against the result of
	// the task's execution is stored in this property.
	//
	// NOTE:
	//  The corresponding value will be accessed as
	// {{ .TaskResult.<TaskIdentity>.notFoundErr }}
	TaskResultNotFoundErrTRTP TaskResultTLPProperty = "notFoundErr"

	// TaskResultVersionMismatchErrTRTP is a property of TaskResultTLP
	//
	// First error found after **version mismatch** checks done against the
	// result of the task's execution is stored in this property.
	//
	// NOTE:
	//  The corresponding value will be accessed as
	// {{ .TaskResult.<TaskIdentity>.versionMismatchErr }}
	TaskResultVersionMismatchErrTRTP TaskResultTLPProperty = "versionMismatchErr"
)

type TaskTLPProperty

type TaskTLPProperty string

TaskTLPProperty is the name of the property that is found under TaskTLP

const (
	// APIVersionTTP is the apiVersion property of the task
	// NOTE:
	//  The corresponding value will be accessed as
	// {{ .Task.<TaskIdentity>.apiVersion }}
	APIVersionTTP TaskTLPProperty = "apiVersion"

	// KindTTP is the kind property of the task
	// NOTE:
	//  The corresponding value will be accessed as
	// {{ .Task.<TaskIdentity>.kind }}
	KindTTP TaskTLPProperty = "kind"
)

type TopLevelProperty

type TopLevelProperty string

TopLevelProperty represents the top level property that is a starting point to represent a hierarchical chain of properties.

e.g. Config.prop1.subprop1 = val1 Config.prop1.subprop2 = val2 In above example Config is a top level object

NOTE:

The value of any hierarchical chain of properties

can be parsed via dot notation

const (
	// CASTOptionsTLP is a top level property supported by CAS template engine.
	// CAS template specific options are placed here
	CASTOptionsTLP TopLevelProperty = "CAST"

	// ConfigTLP is a top level property supported by CAS template engine
	//
	// The policy specific properties are placed with ConfigTLP as the
	// top level property
	ConfigTLP TopLevelProperty = "Config"

	// VolumeTLP is a top level property supported by CAS template engine
	//
	// The properties provided by the caller are placed with VolumeTLP
	// as the top level property
	//
	// NOTE:
	//  CAS template engine cannot modify these properties. These are the
	// runtime properties that are provided as inputs to CAS template
	// engine.
	VolumeTLP TopLevelProperty = "Volume"

	// SnapshotTLP is a top level property supported by CAS template engine
	//
	// The properties provided by the caller are placed with SnapshotTLP
	// as the top level property
	//
	// NOTE:
	//  CAS template engine cannot modify these properties. These are the
	// runtime properties that are provided as inputs to CAS template
	// engine.
	SnapshotTLP TopLevelProperty = "Snapshot"

	// StoragePoolTLP is a top level property supported by CAS template engine
	//
	// The properties provided by the caller are placed with StoragePoolTLP
	// as the top level property
	//
	// NOTE:
	//  CAS template engine cannot modify these properties. These are the
	// runtime properties that are provided as inputs to CAS template
	// engine.
	StoragePoolTLP TopLevelProperty = "Storagepool"

	// TaskResultTLP is a top level property supported by CAS template engine
	//
	// The specific results after the execution of a task are placed with
	// TaskResultTLP as the top level property
	//
	// NOTE:
	//  This is typically used to feed inputs of a task's execution
	// result to **next task** before the later's execution
	TaskResultTLP TopLevelProperty = "TaskResult"

	// CurrentJSONResultTLP is a top level property supported by CAS template engine
	// The result of the current task's execution is stored in this top
	// level property.
	CurrentJSONResultTLP TopLevelProperty = "JsonResult"

	// ListItemsTLP is a top level property supported by CAS template engine
	//
	// Results of one or more tasks' execution can be saved in this property.
	//
	// Example:
	//  Below shows how specific properties of a list of items can be retrieved in
	// a go template. Below dot notation is for illustration purposes and only
	// reflects the way the specific property value was set.
	//
	// {{- .ListItems.volumes.default.mypv2.ip -}}
	// {{- .ListItems.volumes.default.mypv2.status -}}
	// {{- .ListItems.volumes.openebs.mypv.ip -}}
	// {{- .ListItems.volumes.openebs.mypv.status -}}
	ListItemsTLP TopLevelProperty = "ListItems"
)

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.

func (*VersionDetails) SetSuccessStatus

func (vd *VersionDetails) SetSuccessStatus()

SetSuccessStatus resets the message and reason and sets the state as Reconciled

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.

func (*VersionStatus) SetErrorStatus

func (vs *VersionStatus) SetErrorStatus(msg string, err error)

SetErrorStatus sets the message and reason for the error

func (*VersionStatus) SetInProgressStatus

func (vs *VersionStatus) SetInProgressStatus()

SetInProgressStatus sets the state as ReconcileInProgress

type VolumeCloneSpec

type VolumeCloneSpec struct {
	// Defaults to false, true will enable the volume to be created as a clone
	IsClone bool `json:"isClone,omitempty"`
	// SourceVolume is snapshotted volume
	SourceVolume string `json:"sourceVolume,omitempty"`
	// CloneIP is the source controller IP which will be used to make a sync and rebuild
	// request from the new clone replica.
	SourceVolumeTargetIP string `json:"sourceTargetIP,omitempty"`
	// SnapshotName name of snapshot which is getting promoted as persistent
	// volume(this snapshot will be cloned to new volume).
	SnapshotName string `json:"snapshotName,omitempty"`
}

VolumeCloneSpec contains the required information which enable volume to cloned

func (*VolumeCloneSpec) DeepCopy

func (in *VolumeCloneSpec) DeepCopy() *VolumeCloneSpec

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

func (*VolumeCloneSpec) DeepCopyInto

func (in *VolumeCloneSpec) DeepCopyInto(out *VolumeCloneSpec)

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

type VolumeMetrics

type VolumeMetrics struct {
	Name   string          `json:"name"`
	Help   string          `json:"help"`
	Type   int             `json:"type"`
	Metric []MetricsFamily `json:"metric"`
}

VolumeMetrics stores the volume metrics proided by the prometheus

func (*VolumeMetrics) DeepCopy

func (in *VolumeMetrics) DeepCopy() *VolumeMetrics

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

func (*VolumeMetrics) DeepCopyInto

func (in *VolumeMetrics) DeepCopyInto(out *VolumeMetrics)

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

type VolumeMetricsList

type VolumeMetricsList []VolumeMetrics

VolumeMetricsList is used to store the collected metrics all the stats exposed by jiva stored into OpenEBSVolumeMetrics fields

func (VolumeMetricsList) DeepCopy

func (in VolumeMetricsList) DeepCopy() VolumeMetricsList

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

func (VolumeMetricsList) DeepCopyInto

func (in VolumeMetricsList) DeepCopyInto(out *VolumeMetricsList)

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

type VolumePhase

type VolumePhase string

VolumePhase defines phase of a volume

const (
	// VolumePending - used for Volumes that are not available
	VolumePending VolumePhase = "Pending"
	// VolumeAvailable - used for Volumes that are available
	VolumeAvailable VolumePhase = "Available"
	// VolumeFailed - used for Volumes that failed for some reason
	VolumeFailed VolumePhase = "Failed"
)

type VolumeTLPProperty

type VolumeTLPProperty string

VolumeTLPProperty is used to define properties that comes after VolumeTLP

const (
	// OwnerVTP indicates the owner of this volume; the one who
	// is executing this policy
	//
	// NOTE:
	//  The corresponding value will be accessed as
	// {{ .Volume.owner }}
	OwnerVTP VolumeTLPProperty = "owner"

	// RunNamespaceVTP is the namespace where this policy is
	// supposed to run
	// NOTE:
	//  The corresponding value will be accessed as
	// {{ .Volume.runNamespace }}
	RunNamespaceVTP VolumeTLPProperty = "runNamespace"

	// CapacityVTP is the capacity of the volume
	// NOTE:
	//  The corresponding value will be accessed as
	// {{ .Volume.capacity }}
	CapacityVTP VolumeTLPProperty = "capacity"

	// PersistentVolumeClaimVTP is the PVC of the volume
	// NOTE:
	//  The corresponding value will be accessed as
	// {{ .Volume.pvc }}
	PersistentVolumeClaimVTP VolumeTLPProperty = "pvc"

	// IsRestoreVolumePropertyVTP indicates if the volume is being
	// created using a backedup volume
	//NOTE:
	// The Corresponding value will be accessed as
	// {{ .Volume.isRestoreVol }}
	IsRestoreVolumePropertyVTP VolumeTLPProperty = "isRestoreVol"

	// StorageClassVTP is the StorageClass of the volume
	//
	// NOTE:
	//  The corresponding value will be accessed as
	// {{ .Volume.storageclass }}
	StorageClassVTP VolumeTLPProperty = "storageclass"
)

Jump to

Keyboard shortcuts

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