storagecluster

package
v4.0.0-...-b0323a9 Latest Latest
Warning

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

Go to latest
Published: Nov 21, 2024 License: Apache-2.0 Imports: 79 Imported by: 0

Documentation

Index

Constants

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"
	// AzureKSMProvider represents the Azure Key vault.
	AzureKSMProvider = "azure-kv"
)
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"

	VirtualMachineCrdName = "virtualmachines.kubevirt.io"

	StorageClientCrdName = "storageclients.ocs.openshift.io"
)
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 (
	MonitoringNamespace = "openshift-monitoring"
)
View Source
const (
	OdfInfoConfigMapName = "odf-info"
)

Variables

View Source
var (
	RbdDriverName    = storageclassDriverNamePrefix + ".rbd.csi.ceph.com"
	CephFSDriverName = storageclassDriverNamePrefix + ".cephfs.csi.ceph.com"
)
View Source
var ReadinessChecker healthz.Checker = func(_ *http.Request) error {
	if operatorReady {
		return nil
	}
	return errors.New("StorageCluster is not ready yet")
}

Functions

func CheckFileExists

func CheckFileExists(filePath string) error

CheckFileExists checks for existence of file in given filepath

func GetProviderAPIServerDeployment

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

func GetProviderAPIServerService

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 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
	OCSMetricsExporter string
	KubeRBACProxy      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 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
	IsMultipleStorageClusters bool

	OperatorNamespace string
	AvailableCrds     map[string]bool
	// contains filtered or unexported fields
}

StorageClusterReconciler reconciles a StorageCluster object nolint:revive

func (*StorageClusterReconciler) CreateOrUpdatePrometheusRules

func (r *StorageClusterReconciler) CreateOrUpdatePrometheusRules(ctx context.Context, rule *monitoringv1.PrometheusRule) error

CreateOrUpdatePrometheusRules creates or updates Prometheus Rule

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