# Functions
CreatePDWithRetry creates PD with retry.
CreatePDWithRetryAndZone creates PD on zone with retry.
CreatePV creates the PV resource.
CreatePVC creates the PVC resource.
CreatePVCPV creates a PVC followed by the PV based on the passed in nfs-server ip and namespace.
CreatePVPVC creates a PV followed by the PVC based on the passed in nfs-server ip and namespace.
CreatePVSource creates a PV source.
CreatePVsPVCs creates the desired number of PVs and PVCs and returns them in separate maps.
DeletePDWithRetry deletes PD with retry.
DeletePersistentVolume deletes the PV.
DeletePersistentVolumeClaim deletes the Claim.
DeletePVCandValidatePV deletes the PVC and waits for the PV to enter its expected phase.
DeletePVCandValidatePVGroup wraps deletePVCandValidatePV() by calling the function in a loop over the PV map.
DeletePVSource deletes a PV source.
GetBoundPV returns a PV details.
GetDefaultStorageClassName returns default storageClass or return error.
MakePersistentVolume returns a PV definition based on the nfs server IP.
MakePersistentVolumeClaim returns a PVC API Object based on the PersistentVolumeClaimConfig.
MakeWritePod returns a pod definition based on the namespace.
PVPVCCleanup cleans up a pv and pvc in a single pv/pvc test case.
PVPVCMapCleanup Cleans up pvs and pvcs in multi-pv-pvc test cases.
SkipIfNoDefaultStorageClass skips tests if no default SC can be found.
WaitAndVerifyBinds searches for bound PVs and PVCs by examining pvols for non-nil claimRefs.
WaitForPersistentVolumeClaimPhase waits for a PersistentVolumeClaim to be in a specific phase or until timeout occurs, whichever comes first.
WaitForPersistentVolumeClaimsPhase waits for any (if matchAny is true) or all (if matchAny is false) PersistentVolumeClaims to be in a specific phase or until timeout occurs, whichever comes first.
WaitForPersistentVolumePhase waits for a PersistentVolume to be in a specific phase or until timeout occurs, whichever comes first.
WaitForPVClaimBoundPhase waits until all pvcs phase set to bound.
WaitOnPVandPVC waits for the pv and pvc to bind to each other.
# Constants
ClaimBindingTimeout is how long claims have to become bound.
PVBindingTimeout is how long PVs have to become bound.
PVDeletingTimeout is how long PVs have to become deleted.
PVReclaimingTimeout is how long PVs have to beome reclaimed.
VolumeSelectorKey is the key for volume selector.
# Variables
SELinuxLabel is common selinux labels.
# Structs
PersistentVolumeClaimConfig is consumed by MakePersistentVolumeClaim() to generate a PVC object.
PersistentVolumeConfig is consumed by MakePersistentVolume() to generate a PV object for varying storage options (NFS, ceph, glusterFS, etc.).