package populator

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

Package populator implements interfaces that monitor and keep the states of the desired_state_of_word in sync with the "ground truth" from informer.

Index

Types

type DesiredStateOfWorldPopulator

type DesiredStateOfWorldPopulator interface {
	Run(ctx context.Context)
}

DesiredStateOfWorldPopulator periodically verifies that the pods in the desired state of the world still exist, if not, it removes them. It also loops through the list of active pods and ensures that each one exists in the desired state of the world cache if it has volumes.

func NewDesiredStateOfWorldPopulator

func NewDesiredStateOfWorldPopulator(
	loopSleepDuration time.Duration,
	listPodsRetryDuration time.Duration,
	podLister corelisters.PodLister,
	desiredStateOfWorld cache.DesiredStateOfWorld,
	volumePluginMgr *volume.VolumePluginMgr,
	pvcLister corelisters.PersistentVolumeClaimLister,
	pvLister corelisters.PersistentVolumeLister,
	csiMigratedPluginManager csimigration.PluginManager,
	intreeToCSITranslator csimigration.InTreeToCSITranslator) DesiredStateOfWorldPopulator

NewDesiredStateOfWorldPopulator returns a new instance of DesiredStateOfWorldPopulator. loopSleepDuration - the amount of time the populator loop sleeps between successive executions

podManager - the kubelet podManager that is the source of truth for the pods that exist on this host

desiredStateOfWorld - the cache to populate

Source Files

desired_state_of_world_populator.go

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

Tools for package owners.