storagecluster

package
v0.4.11 Latest Latest
Warning

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

Go to latest
Published: Oct 14, 2022 License: Apache-2.0 Imports: 78 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// grpcCallNames
	OnboardConsumer       = "OnboardConsumer"
	OffboardConsumer      = "OffboardConsumer"
	UpdateCapacity        = "UpdateCapacity"
	GetStorageConfig      = "GetStorageConfig"
	AcknowledgeOnboarding = "AcknowledgeOnboarding"
)
View Source
const (
	// KMSConfigMapName is the name configmap which has KMS config details
	KMSConfigMapName = "ocs-kms-connection-details"
	// CSIKMSConfigMapName is the name of configmap provided to the CSI Operator
	CSIKMSConfigMapName = "csi-kms-connection-details"
	// KMSTokenSecretName is the name of the secret which has KMS token details
	KMSTokenSecretName = "ocs-kms-token"
	// CSIKMSTokenSecretName is the name of the secret which has the KMS token details of encrypted storage class
	CSIKMSTokenSecretName = "ceph-csi-kms-token"
	// KMSProviderKey is the key in config map to get the KMS provider name
	KMSProviderKey = "KMS_PROVIDER"
	// VaultKMSProvider a constant to represent 'vault' KMS provider
	VaultKMSProvider = "vault"
	// VaultTokenAuthMethod is the key to represent vault token based authentication
	VaultTokenAuthMethod = "token"
	// VaultSAAuthMethod is the key to represent vault k8s service account based authentication
	VaultSAAuthMethod = "kubernetes"
	// IbmKeyProtectKMSProvider a constant to represent IBM hpcs KMS provider
	IbmKeyProtectKMSProvider = "ibmkeyprotect"
)
View Source
const (

	// ReconcileStrategyUnknown is the same as default
	ReconcileStrategyUnknown ReconcileStrategy = ""
	// ReconcileStrategyInit means reconcile once and ignore if it exists
	ReconcileStrategyInit ReconcileStrategy = "init"
	// ReconcileStrategyIgnore means never reconcile
	ReconcileStrategyIgnore ReconcileStrategy = "ignore"
	// ReconcileStrategyManage means always reconcile
	ReconcileStrategyManage ReconcileStrategy = "manage"
	// ReconcileStrategyStandalone means to renconcile the component exclusively (NooBaa)
	ReconcileStrategyStandalone ReconcileStrategy = "standalone"

	// DeviceTypeSSD represents the DeviceType SSD
	DeviceTypeSSD = "ssd"

	// DeviceTypeHDD represents the DeviceType HDD
	DeviceTypeHDD = "hdd"

	// DeviceTypeNVMe represents the DeviceType NVMe
	DeviceTypeNVMe = "nvme"

	// AzureDisk represents Azure Premium Managed Disks provisioner for StorageClass
	AzureDisk StorageClassProvisionerType = "kubernetes.io/azure-disk"

	// EBS represents AWS EBS provisioner for StorageClass
	EBS StorageClassProvisionerType = "kubernetes.io/aws-ebs"
)
View Source
const (
	// CleanupPolicyAnnotation defines the cleanup policy for data and metadata during uninstall
	CleanupPolicyAnnotation = "uninstall.ocs.openshift.io/cleanup-policy"
	// CleanupPolicyDelete when set, modifies the cleanup policy for Rook to delete the DataDirHostPath on uninstall
	CleanupPolicyDelete CleanupPolicyType = "delete"
	// CleanupPolicyRetain when set, modifies the cleanup policy for Rook to not cleanup the DataDirHostPath and the disks on uninstall
	CleanupPolicyRetain CleanupPolicyType = "retain"
	// UninstallModeAnnotation defines the uninstall mode
	UninstallModeAnnotation = "uninstall.ocs.openshift.io/mode"
	// UninstallModeForced when set, sets the uninstall mode for Rook and Noobaa to forced.
	UninstallModeForced UninstallModeType = "forced"
	// UninstallModeGraceful when set, sets the uninstall mode for Rook and Noobaa to graceful.
	UninstallModeGraceful UninstallModeType = "graceful"
)
View Source
const (

	//IBMCloudPlatform with COS Secret
	IBMCloudCosPlatformType configv1.PlatformType = "IBMCloudCosPlatform"
)
View Source
const (
	NamespaceEnvVar = "NAMESPACE"
)

Variables

View Source
var ReadinessChecker healthz.Checker = func(_ *http.Request) error {
	if operatorReady {
		return nil
	}
	return errors.New("StorageCluster is not ready yet")
}

SkipObjectStorePlatforms is a list of all PlatformTypes where CephObjectStores will not be deployed.

TuneFastPlatforms is a list of all PlatformTypes where TuneFastDeviceClass has to be set True.

Functions

func CheckFileExists

func CheckFileExists(filePath string) error

CheckFileExists checks for existence of file in given filepath

func CreateOrUpdateService

func CreateOrUpdateService(r *StorageClusterReconciler, instance *ocsv1.StorageCluster) (*corev1.Service, error)

CreateOrUpdateService creates service object or an error

func CreateOrUpdateServiceMonitor

func CreateOrUpdateServiceMonitor(r *StorageClusterReconciler, instance *ocsv1.StorageCluster) (*monitoringv1.ServiceMonitor, error)

CreateOrUpdateServiceMonitor creates serviceMonitor object or an error

func GenerateCephFSProviderParameters added in v0.4.11

func GenerateCephFSProviderParameters(initData *ocsv1.StorageCluster) (map[string]string, error)

GenerateCephFSProviderParameters function generates extra parameters required for provider storage clusters

func GetProviderAPIServerDeployment added in v0.4.10

func GetProviderAPIServerDeployment(instance *ocsv1.StorageCluster) *appsv1.Deployment

func GetProviderAPIServerSecret added in v0.4.10

func GetProviderAPIServerSecret(instance *ocsv1.StorageCluster) *corev1.Secret

func GetProviderAPIServerService added in v0.4.10

func GetProviderAPIServerService(instance *ocsv1.StorageCluster) *corev1.Service

func IsCosSecretPresent

func IsCosSecretPresent(c client.Client) (bool, error)

IsCosSecretPresent checks for ibm-cos-cred secret in the concerned namespace if platform is IBMCloud, enable CephObjectStore only if ibm-cloud-cos-creds secret is not present in the target namespace

func IsOCSConsumerMode added in v0.4.11

func IsOCSConsumerMode(instance *ocsv1.StorageCluster) bool

IsOCSConsumerMode returns true if it is ocs to ocs ExternalStorage consumer cluster

func NewUpgradeable

func NewUpgradeable(cl client.Client) (conditions.Condition, error)

NewUpgradeable returns a Conditions interface to Get or Set OperatorConditions

func RandomString added in v0.4.10

func RandomString(l int) string

RandomString - Generate a random string of A-Z chars with len = l

func ReadinessSet

func ReadinessSet()

func ReadinessUnset

func ReadinessUnset()

func StorageClassByV1Resource

func StorageClassByV1Resource(resourceName corev1.ResourceName) string

StorageClassByV1Resource returns storageclass name from resource name

Types

type CleanupPolicyType

type CleanupPolicyType string

CleanupPolicyType is a string representing cleanup policy

type ExternalResource

type ExternalResource struct {
	Kind string            `json:"kind"`
	Data map[string]string `json:"data"`
	Name string            `json:"name"`
}

ExternalResource contains a list of External Cluster Resources

type ImageMap

type ImageMap struct {
	Ceph       string
	NooBaaCore string
	NooBaaDB   string
}

ImageMap holds mapping information between component image name and the image url

type MatchingLabelsSelector

type MatchingLabelsSelector struct {
	labels.Selector
}

MatchingLabelsSelector filters the list/delete operation on the given label selector (or index in the case of cached lists). A struct is used because labels.Selector is an interface, which cannot be aliased.

func (MatchingLabelsSelector) ApplyToList

func (m MatchingLabelsSelector) ApplyToList(opts *client.ListOptions)

ApplyToList applies this configuration to the given list options. This is implemented by MatchingLabelsSelector which implements ListOption interface.

type Platform

type Platform struct {
	// contains filtered or unexported fields
}

Platform is used to get the CloudPlatformType of the running cluster in a thread-safe manner

func (*Platform) GetPlatform

func (p *Platform) GetPlatform(c client.Client) (configv1.PlatformType, error)

GetPlatform is used to get the CloudPlatformType of the running cluster

type ReconcileStrategy

type ReconcileStrategy string

ReconcileStrategy is a string representing how we want to reconcile (or not) a particular resource

type SnapshotClassConfiguration

type SnapshotClassConfiguration struct {
	// contains filtered or unexported fields
}

SnapshotClassConfiguration provides configuration options for a SnapshotClass.

type SnapshotterType

type SnapshotterType string

SnapshotterType represents a snapshotter type

type StorageClassConfiguration

type StorageClassConfiguration struct {
	// contains filtered or unexported fields
}

StorageClassConfiguration provides configuration options for a StorageClass.

type StorageClassProvisionerType

type StorageClassProvisionerType string

StorageClassProvisionerType is a string representing StorageClass Provisioner. E.g: aws-ebs

type StorageClusterReconciler

type StorageClusterReconciler struct {
	client.Client

	Log    logr.Logger
	Scheme *runtime.Scheme

	OperatorCondition  conditions.Condition
	IsNoobaaStandalone bool
	// contains filtered or unexported fields
}

StorageClusterReconciler reconciles a StorageCluster object nolint

func (*StorageClusterReconciler) CreateOrUpdatePrometheusRules

func (r *StorageClusterReconciler) CreateOrUpdatePrometheusRules(rule *monitoringv1.PrometheusRule) error

CreateOrUpdatePrometheusRules creates or updates Prometheus Rule

func (*StorageClusterReconciler) DevicesDefaultToFastForThisPlatform

func (r *StorageClusterReconciler) DevicesDefaultToFastForThisPlatform() (bool, error)

func (*StorageClusterReconciler) PlatformsShouldSkipObjectStore

func (r *StorageClusterReconciler) PlatformsShouldSkipObjectStore() (bool, error)

PlatformsShouldSkipObjectStore determines whether an object store should be created for the platform.

func (*StorageClusterReconciler) Reconcile

Reconcile reads that state of the cluster for a StorageCluster object and makes changes based on the state read and what is in the StorageCluster.Spec Note: The Controller will requeue the Request to be processed again if the returned error is non-nil or Result.Requeue is true, otherwise upon completion it will remove the work from the queue.

func (*StorageClusterReconciler) SetOperatorConditions

func (r *StorageClusterReconciler) SetOperatorConditions(message string, reason string, isUpgradeable v1.ConditionStatus, prevError error) error

func (*StorageClusterReconciler) SetupWithManager

func (r *StorageClusterReconciler) SetupWithManager(mgr ctrl.Manager) error

SetupWithManager sets up a controller with manager

type UninstallModeType

type UninstallModeType string

UninstallModeType is a string representing cleanup mode, it decides whether the deletion is graceful or forced

Jump to

Keyboard shortcuts

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