Documentation
¶
Index ¶
- Constants
- func NewCSI(_ context.Context, _ runtime.Object, handle fwk.Handle, fts feature.Features) (fwk.Plugin, error)
- func NewCSINodeLister(csiNodeLister storagelisters.CSINodeLister) *csiNodeListerWrapper
- type CSILimits
- func (pl *CSILimits) EventsToRegister(_ context.Context) ([]fwk.ClusterEventWithHint, error)
- func (pl *CSILimits) Filter(ctx context.Context, _ fwk.CycleState, pod *v1.Pod, nodeInfo fwk.NodeInfo) *fwk.Status
- func (pl *CSILimits) Name() string
- func (pl *CSILimits) PreFilter(ctx context.Context, _ fwk.CycleState, pod *v1.Pod, _ []fwk.NodeInfo) (*fwk.PreFilterResult, *fwk.Status)
- func (pl *CSILimits) PreFilterExtensions() fwk.PreFilterExtensions
- func (pl *CSILimits) SignPod(ctx context.Context, pod *v1.Pod) ([]fwk.SignFragment, *fwk.Status)
- type DefaultCSIManager
- type InTreeToCSITranslator
Constants ¶
const CSIName = names.NodeVolumeLimits
CSIName is the name of the plugin used in the plugin registry and configurations.
const (
// ErrReasonMaxVolumeCountExceeded is used for MaxVolumeCount predicate error.
ErrReasonMaxVolumeCountExceeded = "node(s) exceed max volume count"
)
Variables ¶
This section is empty.
Functions ¶
func NewCSI ¶
func NewCSI(_ context.Context, _ runtime.Object, handle fwk.Handle, fts feature.Features) (fwk.Plugin, error)
NewCSI initializes a new plugin and returns it.
func NewCSINodeLister ¶
func NewCSINodeLister(csiNodeLister storagelisters.CSINodeLister) *csiNodeListerWrapper
Types ¶
type CSILimits ¶
type CSILimits struct {
// contains filtered or unexported fields
}
CSILimits is a plugin that checks node volume limits.
func (*CSILimits) EventsToRegister ¶ added in v1.22.0
EventsToRegister returns the possible events that may make a Pod. failed by this plugin schedulable.
func (*CSILimits) Filter ¶
func (pl *CSILimits) Filter(ctx context.Context, _ fwk.CycleState, pod *v1.Pod, nodeInfo fwk.NodeInfo) *fwk.Status
Filter invoked at the filter extension point.
func (*CSILimits) PreFilter ¶ added in v1.28.0
func (pl *CSILimits) PreFilter(ctx context.Context, _ fwk.CycleState, pod *v1.Pod, _ []fwk.NodeInfo) (*fwk.PreFilterResult, *fwk.Status)
PreFilter invoked at the prefilter extension point
If the pod haven't those types of volumes, we'll skip the Filter phase
func (*CSILimits) PreFilterExtensions ¶ added in v1.28.0
func (pl *CSILimits) PreFilterExtensions() fwk.PreFilterExtensions
PreFilterExtensions returns prefilter extensions, pod add and remove.
type DefaultCSIManager ¶
type DefaultCSIManager struct {
// contains filtered or unexported fields
}
DefaultCSIManager is an implementation of the CSIManager interface.
func NewCSIManager ¶
func NewCSIManager(csiNodeLister storagelisters.CSINodeLister) *DefaultCSIManager
func (*DefaultCSIManager) CSINodes ¶
func (m *DefaultCSIManager) CSINodes() fwk.CSINodeLister
type InTreeToCSITranslator ¶ added in v1.18.0
type InTreeToCSITranslator interface {
IsPVMigratable(pv *v1.PersistentVolume) bool
IsInlineMigratable(vol *v1.Volume) bool
IsMigratableIntreePluginByName(inTreePluginName string) bool
GetInTreePluginNameFromSpec(pv *v1.PersistentVolume, vol *v1.Volume) (string, error)
GetCSINameFromInTreeName(pluginName string) (string, error)
TranslateInTreePVToCSI(logger klog.Logger, pv *v1.PersistentVolume) (*v1.PersistentVolume, error)
TranslateInTreeInlineVolumeToCSI(logger klog.Logger, volume *v1.Volume, podNamespace string) (*v1.PersistentVolume, error)
}
InTreeToCSITranslator contains methods required to check migratable status and perform translations from InTree PV's to CSI