package util

import "k8s.io/kubernetes/pkg/controller/volume/attachdetach/util"

Index

Functions

func CreateVolumeSpec

func CreateVolumeSpec(logger klog.Logger, podVolume v1.Volume, pod *v1.Pod, vpm *volume.VolumePluginMgr, pvcLister corelisters.PersistentVolumeClaimLister, pvLister corelisters.PersistentVolumeLister, csiMigratedPluginManager csimigration.PluginManager, csiTranslator csimigration.InTreeToCSITranslator) (*volume.Spec, error)

func CreateVolumeSpecWithNodeMigration

func CreateVolumeSpecWithNodeMigration(logger klog.Logger, podVolume v1.Volume, pod *v1.Pod, nodeName types.NodeName, vpm *volume.VolumePluginMgr, pvcLister corelisters.PersistentVolumeClaimLister, pvLister corelisters.PersistentVolumeLister, csiMigratedPluginManager csimigration.PluginManager, csiTranslator csimigration.InTreeToCSITranslator) (*volume.Spec, error)

CreateVolumeSpec creates and returns a mutatable volume.Spec object for the specified volume. It dereference any PVC to get PV objects, if needed. A volume.Spec that refers to an in-tree plugin spec is translated to refer to a migrated CSI plugin spec if all conditions for CSI migration on a node for the in-tree plugin is satisfied.

func DetermineVolumeAction

func DetermineVolumeAction(pod *v1.Pod, desiredStateOfWorld cache.DesiredStateOfWorld, defaultAction bool) bool

DetermineVolumeAction returns true if volume and pod needs to be added to dswp and it returns false if volume and pod needs to be removed from dswp

func ProcessPodVolumes

func ProcessPodVolumes(logger klog.Logger, pod *v1.Pod, addVolumes bool, desiredStateOfWorld cache.DesiredStateOfWorld, volumePluginMgr *volume.VolumePluginMgr, pvcLister corelisters.PersistentVolumeClaimLister, pvLister corelisters.PersistentVolumeLister, csiMigratedPluginManager csimigration.PluginManager, csiTranslator csimigration.InTreeToCSITranslator)

ProcessPodVolumes processes the volumes in the given pod and adds them to the desired state of the world if addVolumes is true, otherwise it removes them.

Source Files

util.go

Version
v1.33.0 (latest)
Published
Apr 23, 2025
Platform
linux/amd64
Imports
13 packages
Last checked
3 hours ago

Tools for package owners.