dynamic-resource-allocationk8s.io/dynamic-resource-allocation/structured/internal/stable Index | Files

package stable

import "k8s.io/dynamic-resource-allocation/structured/internal/stable"

Index

Variables

var SupportedFeatures = internal.Features{}

SupportedFeatures does not include any additional features. The "stable" implementation can only be used if all of those are off.

At least that's its purpose conceptually: in practice, all code supporting the additional features is still there. It could get removed.

Types

type Allocator

type Allocator struct {
	// contains filtered or unexported fields
}

func NewAllocator

func NewAllocator(ctx context.Context,
	features Features,
	allocatedDevices sets.Set[DeviceID],
	classLister DeviceClassLister,
	slices []*resourceapi.ResourceSlice,
	celCache *cel.Cache,
) (*Allocator, error)

NewAllocator returns an allocator for a certain set of claims or an error if some problem was detected which makes it impossible to allocate claims.

The returned Allocator can be used multiple times and is thread-safe.

func (*Allocator) Allocate

func (a *Allocator) Allocate(ctx context.Context, node *v1.Node, claims []*resourceapi.ResourceClaim) (finalResult []resourceapi.AllocationResult, finalErr error)

func (*Allocator) GetStats

func (a *Allocator) GetStats() *Stats

type DeviceClassLister

type DeviceClassLister = internal.DeviceClassLister

type DeviceID

type DeviceID = internal.DeviceID

func MakeDeviceID

func MakeDeviceID(driver, pool, device string) DeviceID

type Features

type Features = internal.Features

type Pool

type Pool struct {
	PoolID
	IsIncomplete  bool
	IsInvalid     bool
	InvalidReason string
	Slices        []*draapi.ResourceSlice
}

func GatherPools

func GatherPools(ctx context.Context, slices []*resourceapi.ResourceSlice, node *v1.Node, features Features) ([]*Pool, error)

GatherPools collects information about all resource pools which provide devices that are accessible from the given node.

Out-dated slices are silently ignored. Pools may be incomplete (not all required slices available) or invalid (for example, device names not unique). Both is recorded in the result.

type PoolID

type PoolID struct {
	Driver, Pool draapi.UniqueString
}

func (PoolID) String

func (p PoolID) String() string

type Stats

type Stats = internal.Stats

Source Files

allocator_stable.go pools_stable.go

Version
v0.35.0-alpha.0
Published
Aug 7, 2025
Platform
js/wasm
Imports
17 packages
Last checked
12 minutes ago

Tools for package owners.