Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ErrFailedAllocationOnNode = errors.New("")
ErrFailedAllocationOnNode is an empty sentinel for errors.Is. See allocator.go for details.
Functions ¶
func GenerateShareID ¶
GenerateShareID is a helper function that generates a new share ID. This remains in the internal package as it's a utility function.
Types ¶
type AllocatedState ¶
type AllocatedState = schedulerapi.AllocatedState
type Allocator ¶
type Allocator interface {
Allocate(ctx context.Context, node *v1.Node, claims []*resourceapi.ResourceClaim) (finalResult []resourceapi.AllocationResult, finalErr error)
}
Allocator is intentionally not documented here. See the main package for docs.
This interface is also broader than the public one.
type AllocatorExtended ¶
type AllocatorExtended interface {
// Stats shows statistics from the allocation process.
// May return nil if not implemented.
GetStats() Stats
}
AllocatorExtended is an optional interface. Not all variants implement it.
type ConsumedCapacity ¶
type ConsumedCapacity = schedulerapi.ConsumedCapacity
func NewConsumedCapacity ¶
func NewConsumedCapacity() ConsumedCapacity
type ConsumedCapacityCollection ¶
type ConsumedCapacityCollection = schedulerapi.ConsumedCapacityCollection
func NewConsumedCapacityCollection ¶
func NewConsumedCapacityCollection() ConsumedCapacityCollection
type DeviceClassLister ¶
type DeviceClassLister interface {
// List returns a list of all DeviceClasses.
List() ([]*resourceapi.DeviceClass, error)
// Get returns the DeviceClass with the given className.
Get(className string) (*resourceapi.DeviceClass, error)
}
type DeviceConsumedCapacity ¶
type DeviceConsumedCapacity = schedulerapi.DeviceConsumedCapacity
func NewDeviceConsumedCapacity ¶
func NewDeviceConsumedCapacity(deviceID DeviceID, consumedCapacity map[resourceapi.QualifiedName]resource.Quantity) DeviceConsumedCapacity
type DeviceID ¶
type DeviceID = schedulerapi.DeviceID
Type aliases pointing to the schedulerapi package where the actual definitions are maintained. This ensures that any changes to these types require autoscaler approval.
func MakeDeviceID ¶
Wrapper functions that delegate to the schedulerapi package
type Features ¶
type Features struct {
AdminAccess bool
ConsumableCapacity bool
DeviceBindingAndStatus bool
DeviceTaints bool
PartitionableDevices bool
PrioritizedList bool
}
Features control optional functionality during ResourceClaim allocation. Each entry must correspond to at least one control flow change. Entries can be removed when the control flow change is no longer necessary (= feature is considered stable and always enabled).
This often corresponds to feature gates, but not always: if a KEP implementation depends on a set of feature gates, then a single entry here should control whether that implementation is active.
func (Features) Set ¶
Set returns all features which are set to true. The names of the features happen to match the Kubernetes feature gates where applicable. Plain strings are used because not all allocator features necessarily have to be Kubernetes feature gates and this package must not depend on those definitions.
type SharedDeviceID ¶
type SharedDeviceID = schedulerapi.SharedDeviceID
func MakeSharedDeviceID ¶
func MakeSharedDeviceID(deviceID DeviceID, shareID *types.UID) SharedDeviceID