Documentation
¶
Index ¶
- Constants
- Variables
- func FindDefaultStorageClass(oc *exutil.CLI) *storagev1.StorageClass
- func GetBYOKProvisionerNames(platform string) []string
- func GetCSIStorageClassByProvisioner(ctx context.Context, oc *exutil.CLI, provisioner string) string
- func GetDefaultStorageClass(platform string) string
- func GetProvisionerNames(platform string) []string
- func IsCSOHealthy(oc *exutil.CLI) (bool, error)
- func WaitForCSOHealthy(oc *exutil.CLI)
- type DisableStorageClassTest
- func (d *DisableStorageClassTest) GetAllowExpansion() bool
- func (d *DisableStorageClassTest) GetSCState() operatorv1.StorageClassStateName
- func (d *DisableStorageClassTest) SetAllowExpansion(allowExpansion bool)
- func (d *DisableStorageClassTest) SetSCState(scState operatorv1.StorageClassStateName)
- func (d *DisableStorageClassTest) VerifyAllowExpansion(expected bool, retry func())
- func (d *DisableStorageClassTest) VerifySCExists(expected bool)
- type FeatureSupport
- type PlatformConfig
- type ProvisionerInfo
- type ProvisionerType
- type ResourceType
- type SCPatch
Constants ¶
const ( CSONamespace = "openshift-cluster-storage-operator" // Cluster Storage Operator namespace CSINamespace = "openshift-cluster-csi-drivers" // Default CSI driver operators namespace ManilaCSINamespace = "openshift-manila-csi-driver" // Manila CSI driver namespace (OpenStack only) )
Storage operator and CSI driver namespace constants
Variables ¶
var Platforms = map[string]PlatformConfig{ "aws": { Provisioners: []ProvisionerInfo{ { Name: "ebs.csi.aws.com", Type: ProvisionerTypeBlock, Features: FeatureSupport{ SupportsBYOK: true, }, EncryptionKeyName: "kmsKeyId", ManagedStorageClassNames: []string{"gp2-csi", "gp3-csi"}, }, { Name: "efs.csi.aws.com", Type: ProvisionerTypeFile, Features: FeatureSupport{}, EncryptionKeyName: "", ManagedStorageClassNames: []string{"efs-sc"}, }, }, DefaultStorageClass: "gp3-csi", }, "gce": { Provisioners: []ProvisionerInfo{ { Name: "pd.csi.storage.gke.io", Type: ProvisionerTypeBlock, Features: FeatureSupport{ SupportsBYOK: true, }, EncryptionKeyName: "disk-encryption-kms-key", ManagedStorageClassNames: []string{"standard-csi", "ssd-csi"}, }, { Name: "filestore.csi.storage.gke.io", Type: ProvisionerTypeFile, Features: FeatureSupport{}, EncryptionKeyName: "", ManagedStorageClassNames: []string{"filestore-csi"}, }, }, DefaultStorageClass: "standard-csi", }, "azure": { Provisioners: []ProvisionerInfo{ { Name: "disk.csi.azure.com", Type: ProvisionerTypeBlock, Features: FeatureSupport{ SupportsBYOK: true, }, EncryptionKeyName: "diskEncryptionSetID", ManagedStorageClassNames: []string{"managed-csi"}, }, { Name: "file.csi.azure.com", Type: ProvisionerTypeFile, Features: FeatureSupport{}, EncryptionKeyName: "", ManagedStorageClassNames: []string{"azurefile-csi"}, }, }, DefaultStorageClass: "managed-csi", }, "ibmcloud": { Provisioners: []ProvisionerInfo{ { Name: "vpc.block.csi.ibm.io", Type: ProvisionerTypeBlock, Features: FeatureSupport{ SupportsBYOK: true, }, EncryptionKeyName: "encryptionKey", ManagedStorageClassNames: []string{ "ibmc-vpc-block-10iops-tier", "ibmc-vpc-block-5iops-tier", "ibmc-vpc-block-custom"}, }, }, DefaultStorageClass: "ibmc-vpc-block-10iops-tier", }, }
Platforms maps cloud platforms to their configuration
Functions ¶
func FindDefaultStorageClass ¶
func FindDefaultStorageClass(oc *exutil.CLI) *storagev1.StorageClass
func GetBYOKProvisionerNames ¶ added in v1.6.0
GetBYOKProvisionerNames returns names of provisioners that support BYOK for a given platform
func GetCSIStorageClassByProvisioner ¶
func GetCSIStorageClassByProvisioner(ctx context.Context, oc *exutil.CLI, provisioner string) string
GetCSIStorageClassByProvisioner finds a StorageClass that uses the given CSI driver provisioner. It is intended for use only in [Serial] jobs, since CSI tests typically create short-lived StorageClasses that may be deleted. The function returns the name of the first matching StorageClass, or fails the test if none is found.
func GetDefaultStorageClass ¶ added in v1.6.0
GetDefaultStorageClass returns the default storage class for a given platform
func GetProvisionerNames ¶ added in v1.6.0
GetProvisionerNames returns just the names of provisioners for a given platform
func IsCSOHealthy ¶
IsCSOHealthy checks whether the Cluster Storage Operator is healthy
func WaitForCSOHealthy ¶
WaitForCSOHealthy waits for Cluster Storage Operator become healthy
Types ¶
type DisableStorageClassTest ¶
type DisableStorageClassTest struct {
// contains filtered or unexported fields
}
func NewDisableStorageClassTest ¶
func NewDisableStorageClassTest(oc *exutil.CLI, scName string, provisionerName string) *DisableStorageClassTest
func (*DisableStorageClassTest) GetAllowExpansion ¶
func (d *DisableStorageClassTest) GetAllowExpansion() bool
func (*DisableStorageClassTest) GetSCState ¶
func (d *DisableStorageClassTest) GetSCState() operatorv1.StorageClassStateName
func (*DisableStorageClassTest) SetAllowExpansion ¶
func (d *DisableStorageClassTest) SetAllowExpansion(allowExpansion bool)
func (*DisableStorageClassTest) SetSCState ¶
func (d *DisableStorageClassTest) SetSCState(scState operatorv1.StorageClassStateName)
func (*DisableStorageClassTest) VerifyAllowExpansion ¶
func (d *DisableStorageClassTest) VerifyAllowExpansion(expected bool, retry func())
func (*DisableStorageClassTest) VerifySCExists ¶
func (d *DisableStorageClassTest) VerifySCExists(expected bool)
type FeatureSupport ¶ added in v1.6.0
type FeatureSupport struct {
SupportsBYOK bool
}
FeatureSupport defines which features a provisioner supports
type PlatformConfig ¶ added in v1.6.0
type PlatformConfig struct {
Provisioners []ProvisionerInfo
DefaultStorageClass string
}
PlatformConfig contains configuration for a cloud platform
type ProvisionerInfo ¶ added in v1.6.0
type ProvisionerInfo struct {
Name string
Type ProvisionerType
Features FeatureSupport
EncryptionKeyName string // The parameter name for encryption key in StorageClass
ManagedStorageClassNames []string // List of managed/preset storage classes name
}
ProvisionerInfo contains information about a CSI provisioner
func GetBYOKProvisioners ¶ added in v1.6.0
func GetBYOKProvisioners(platform string) []ProvisionerInfo
GetBYOKProvisioners returns provisioners that support BYOK for a given platform
func GetProvisionerByName ¶ added in v1.6.0
func GetProvisionerByName(provisioner string) *ProvisionerInfo
GetProvisionerByName finds a provisioner by its name across all platforms
func GetProvisionersByPlatform ¶ added in v1.6.0
func GetProvisionersByPlatform(platform string) []ProvisionerInfo
GetProvisionersByPlatform returns all provisioners for a given platform
func GetProvisionersByType ¶ added in v1.6.0
func GetProvisionersByType(platform string, provType ProvisionerType) []ProvisionerInfo
GetProvisionersByType returns provisioners of a specific type for a given platform
type ProvisionerType ¶ added in v1.6.0
type ProvisionerType string
ProvisionerType represents the type of CSI provisioner
const ( // ProvisionerTypeBlock represents block storage provisioners (AWS EBS,Azure Disk, etc.) ProvisionerTypeBlock ProvisionerType = "block" // ProvisionerTypeFile represents file storage provisioners (AWS EFS, Azure File, etc.) ProvisionerTypeFile ProvisionerType = "file" // GCPDefaultKmsKeyLocation is the default location for GCP KMS keys if not specified in the test configuration GCPDefaultKmsKeyLocation = "global" )
type ResourceType ¶
type ResourceType string
ResourceType defines the type of Openshift workload resource
const ( ResourceTypeDeployment ResourceType = "Deployment" ResourceTypeDaemonSet ResourceType = "DaemonSet" )