type VolumeRestrictions …
var _ …
var _ …
var _ …
var _ …
const Name …
const preFilterStateKey …
const ErrReasonDiskConflict …
const ErrReasonReadWriteOncePodConflict …
type preFilterState …
func (s *preFilterState) updateWithPod(podInfo *framework.PodInfo, multiplier int) { … }
func (s *preFilterState) conflictingPVCRefCountForPod(podInfo *framework.PodInfo) int { … }
func (s *preFilterState) Clone() framework.StateData { … }
func (pl *VolumeRestrictions) Name() string { … }
func isVolumeConflict(volume *v1.Volume, pod *v1.Pod) bool { … }
func haveOverlap(a1, a2 []string) bool { … }
func needsRestrictionsCheck(v v1.Volume) bool { … }
func (pl *VolumeRestrictions) PreFilter(ctx context.Context, cycleState *framework.CycleState, pod *v1.Pod) (*framework.PreFilterResult, *framework.Status) { … }
func (pl *VolumeRestrictions) AddPod(ctx context.Context, cycleState *framework.CycleState, podToSchedule *v1.Pod, podInfoToAdd *framework.PodInfo, nodeInfo *framework.NodeInfo) *framework.Status { … }
func (pl *VolumeRestrictions) RemovePod(ctx context.Context, cycleState *framework.CycleState, podToSchedule *v1.Pod, podInfoToRemove *framework.PodInfo, nodeInfo *framework.NodeInfo) *framework.Status { … }
func getPreFilterState(cycleState *framework.CycleState) (*preFilterState, error) { … }
func (pl *VolumeRestrictions) calPreFilterState(ctx context.Context, pod *v1.Pod, pvcs sets.Set[string]) (*preFilterState, error) { … }
func (pl *VolumeRestrictions) readWriteOncePodPVCsForPod(ctx context.Context, pod *v1.Pod) (sets.Set[string], error) { … }
func satisfyVolumeConflicts(pod *v1.Pod, nodeInfo *framework.NodeInfo) bool { … }
func satisfyReadWriteOncePod(ctx context.Context, state *preFilterState) *framework.Status { … }
func (pl *VolumeRestrictions) PreFilterExtensions() framework.PreFilterExtensions { … }
func (pl *VolumeRestrictions) Filter(ctx context.Context, cycleState *framework.CycleState, pod *v1.Pod, nodeInfo *framework.NodeInfo) *framework.Status { … }
func (pl *VolumeRestrictions) EventsToRegister(_ context.Context) ([]framework.ClusterEventWithHint, error) { … }
func (pl *VolumeRestrictions) isSchedulableAfterPersistentVolumeClaimAdded(logger klog.Logger, pod *v1.Pod, oldObj, newObj interface{ … }
func (pl *VolumeRestrictions) isSchedulableAfterPodDeleted(logger klog.Logger, pod *v1.Pod, oldObj, newObj interface{ … }
func New(_ context.Context, _ runtime.Object, handle framework.Handle, fts feature.Features) (framework.Plugin, error) { … }