Version: v0.4.11 Latest Latest

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




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

	// EBS represents AWS EBS provisioner for StorageClass
	EBS StorageClassProvisionerType = ""
View Source
const (
	// CleanupPolicyAnnotation defines the cleanup policy for data and metadata during uninstall
	CleanupPolicyAnnotation = ""
	// 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 = ""
	// 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"


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.


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


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 {

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 {

	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