package
3.13.1+incompatible
Repository: https://github.com/ceph/ceph-csi.git
Documentation: pkg.go.dev

# Packages

No description provided by the author
No description provided by the author
Copyright 2022 The Ceph-CSI Authors.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Functions

CallStack returns the stack of the calls in the current goroutine.
CephFSSubvolumeGroup returns the subvolumeGroup for CephFS volumes.
CheckKernelSupport checks the running kernel and comparing it to known versions that have support for required features .
CheckReadOnlyManyIsSupported checks the request is to create ReadOnlyMany volume is from source as empty ReadOnlyMany is not supported.
CloseEncryptedVolume closes encrypted volume so it can be detached.
ConstructReadAffinityMapOption constructs a read affinity map option based on the provided crushLocationMap.
CreateMountPoint creates the directory with given path.
CreateObject creates the object name passed in and returns ErrObjectExists if the provided object is already present in rados.
DeviceEncryptionStatus looks to identify if the passed device is a LUKS mapping and if so what the device is and the mapper name as used by LUKS.
EnableProfiling enables golang profiling.
EncryptVolume encrypts provided device with LUKS.
ExecCommand executes passed in program with args and returns separate stdout and stderr streams.
ExecCommandWithTimeout executes passed in program with args, timeout and returns separate stdout and stderr streams.
ExecuteCommandWithNSEnter executes passed in program with args with nsenter and returns separate stdout and stderr streams.
FetchEncryptionKMSID returns non-empty kmsID if 'encrypted' parameter is evaluated as true.
FetchEncryptionType returns encryptionType specified in volOptions.
FetchMappedClusterIDAndMons returns monitors and clusterID info after checking cluster mapping.
FindPoolAndTopology loops through passed in "topologyPools" and also related accessibility requirements, to determine which pool matches the requirement.
GenerateVolID generates a volume ID based on passed in parameters and version, to be returned to the CO system.
GetCephFSMountOptions returns the `kernelMountOptions` and `fuseMountOptions` for CephFS volumes.
GetCephFSNetNamespaceFilePath returns the netNamespaceFilePath for CephFS volumes.
GetCephFSRadosNamespace returns the namespace for the given clusterID.
GetClusterID fetches clusterID from given options map.
GetClusterMappingInfo returns corresponding cluster details like clusterID's poolID,fscID lists read from configfile.
GetCrushLocationLabels returns the `readAffinity.enabled` and `readAffinity.crushLocationLabels` values from the CSI config for the given `clusterID`.
GetCrushLocationMap returns the crush location map, determined from the crush location labels and their values from the node labels passed in arg.
GetKernelVersion returns the version of the running Unix (like) system from the 'utsname' structs 'release' component.
GetMappedID check the input id is matching key or value.
GetMonsAndClusterID returns monitors and clusterID information read from configfile.
GetMonValFromSecret returns monitors from secret.
GetNFSNetNamespaceFilePath returns the netNamespaceFilePath for NFS volumes.
GetPIDLimit returns the current PID limit, or an error.
GetPoolID fetches the ID of the pool that matches the passed in poolName parameter.
GetPoolIDs searches a list of pools in a cluster and returns the IDs of the pools that matches the passed in pools TODO this should take in a list and return a map[string(poolname)]int64(poolID).
GetPoolName fetches the pool whose pool ID is equal to the requested poolID parameter.
GetRBDMirrorDaemonCount returns the number of mirror daemon count for the given clusterID.
No description provided by the author
GetRBDRadosNamespace returns the namespace for the given clusterID.
GetReadAffinityMapOptions retrieves the readAffinityMapOptions from the CSI config file if it exists.
GetTopologyFromDomainLabels returns the CSI topology map, determined from the domain labels and their values from the CO system Expects domainLabels in arg to be in the format "[prefix/]<name>,[prefix/]<name>,...",.
GetTopologyFromRequest extracts TopologyConstrainedPools and passed in accessibility constraints from a CSI CreateVolume request.
GetVolumeContext filters out parameters that are not required in volume context.
IsCorruptedMountError checks if the given error is a result of a corrupted mountpoint.
IsDeviceOpen determines if encrypted device is already open.
IsMountPoint checks if the given path is mountpoint or not.
MatchPoolAndTopology returns the topology map, if the passed in pool matches any passed in accessibility constraints.
Mons returns a comma separated MON list from the csi config for the given clusterID.
Mount mounts the source to target path.
MountOptionsAdd adds the `add` mount options to the `options` and returns a new string.
NewAdminCredentials creates new admin credentials from secret.
NewConnPool creates a new connection pool instance and start the garbage collector running every @interval.
NewOperationLock returns new OperationLock.
NewUserCredentials creates new user credentials from secret.
NewUserCredentialsWithMigration takes secret map from the request and validate it is a migration secret, if yes, it continues to create CR from it after parsing the migration secret.
NewVolumeEncryption creates a new instance of VolumeEncryption and configures the DEKStore.
NewVolumeLocks returns new VolumeLocks.
OpenEncryptedVolume opens volume so that it can be used by the client.
ParseAndSetSecretMapFromMigSecret parse the secretmap from the migration request and return newsecretmap with the userID and userKey fields set.
No description provided by the author
RemoveObject removes the entire omap name passed in and returns ErrObjectNotFound is provided omap is not found in rados.
ResizeEncryptedVolume resizes encrypted volume so that it can be used by the client.
RoundOffBytes converts roundoff the size 1.1Mib will be round off to 2Mib same for GiB size less than 1MiB will be round off to 1MiB.
RoundOffCephFSVolSize rounds up the bytes to 4MiB if the request is less than 4MiB or if its greater it rounds up to multiple of 4MiB.
RoundOffVolSize rounds up given quantity up to chunks of MiB/GiB.
SetPIDLimit configures the given PID limit for the current process.
StartMetricsServer starts http server.
ValidateDriverName validates the driver name.
ValidateNodePublishVolumeRequest validates the node publish request.
ValidateNodeStageVolumeRequest validates the node stage request.
ValidateNodeUnpublishVolumeRequest validates the node unpublish request.
ValidateNodeUnstageVolumeRequest validates the node unstage request.
ValidateURL validates the url.
VolumeMapper returns file name and it's path to where encrypted device should be open.
WriteCephConfig writes out a basic ceph.conf file, making it easy to use ceph related CLIs.

# Constants

CephConfigPath ceph configuration file.
ClusterIDKey is the name of the key containing clusterID.
CsiConfigFile is the location of the CSI config file.
EncryptionTypeBlock enables block encryption.
EncryptionTypeBlock enables file encryption (fscrypt).
EncryptionTypeInvalid signals invalid or unsupported configuration.
EncryptionTypeNone disables encryption.
InvalidPoolID used to denote an invalid pool.
SnapshotOperationAlreadyExistsFmt string format to return for concurrent operation.
TargetPathOperationAlreadyExistsFmt string format to return for concurrent operation on target path.
VolumeOperationAlreadyExistsFmt string format to return for concurrent operation.

# Variables

DriverVersion which will be driver version.
ErrClusterIDNotSet is returned when cluster id is not set.
ErrDEKStoreNeeded is an indication that gets returned with NewVolumeEncryption when the KMS does not include support for the DEKStore interface.
ErrDEKStoreNotFound is an error that is returned when the DEKStore has not been configured for the volumeID in the KMS instance.
ErrKeyNotFound is returned when requested key in omap is not found.
ErrMissingConfigForMonitor is returned when clusterID is not found for the mon.
ErrObjectExists is returned when named omap is already present in rados.
ErrObjectNotFound is returned when named omap is not found in rados.
ErrPoolNotFound is returned when pool is not found.
ErrSnapNameConflict is generated when a requested CSI snap name already exists on RBD but with different properties, and hence is in conflict with the passed in CSI volume name.
GitCommit tell the latest git commit image is built from.

# Structs

No description provided by the author
ClusterMappingInfo holds the details of clusterID mapping and poolID mapping.
Config holds the parameters list which can be configured.
ConnPool is the struct which contains details of connection entries in the pool and gc controlled params.
Credentials struct represents credentials to access the ceph cluster.
CSIIdentifier contains the elements that form a CSI ID to be returned by the CSI plugin, and contains enough information to decompose and extract required cluster and pool information to locate the volume that relates to the CSI ID.
KernelVersion holds kernel related information.
OperationLock implements a map with atomic operations.
TopologyConstrainedPool stores the pool name and a list of its associated topology domain values.
No description provided by the author
VolumeLocks implements a map with atomic operations.

# Type aliases

No description provided by the author