v0.4.13 Latest Latest

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

Go to latest
Published: Jun 1, 2023 License: Apache-2.0 Imports: 79 Imported by: 0




View Source
const (
	RookCephMonSecretName = "rook-ceph-mon"
	FsidKey               = "fsid"
	OdfOperatorNamePrefix = "odf-operator"
	ClusterClaimCRDName   = ""
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"
	// ThalesKMSProvider a constant to represent Thales (using KMIP) KMS provider
	ThalesKMSProvider = "kmip"
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
var (
	ClusterClaimGroup  = "odf"
	OdfVersion         = fmt.Sprintf("", ClusterClaimGroup)
	StorageSystemName  = fmt.Sprintf("", ClusterClaimGroup)
	StorageClusterName = fmt.Sprintf("", ClusterClaimGroup)
	CephFsid           = fmt.Sprintf("", ClusterClaimGroup)
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 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 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 ClusterClaimCreator added in v0.4.12

type ClusterClaimCreator struct {
	Context        context.Context
	Logger         logr.Logger
	Client         client.Client
	Values         map[string]string
	StorageCluster *ocsv1.StorageCluster

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

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