state

package
v1.33.0-alpha.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 4, 2025 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Checkpoint

type Checkpoint struct {
	// Data is a serialized PodResourceAllocationInfo
	Data string `json:"data"`
	// Checksum is a checksum of Data
	Checksum checksum.Checksum `json:"checksum"`
}

Checkpoint represents a structure to store pod resource allocation checkpoint data

func NewCheckpoint

func NewCheckpoint(allocations *PodResourceAllocationInfo) (*Checkpoint, error)

NewCheckpoint creates a new checkpoint from a list of claim info states

func (*Checkpoint) GetPodResourceAllocationInfo

func (cp *Checkpoint) GetPodResourceAllocationInfo() (*PodResourceAllocationInfo, error)

GetPodResourceAllocationInfo returns Pod Resource Allocation info states from checkpoint

func (*Checkpoint) MarshalCheckpoint

func (cp *Checkpoint) MarshalCheckpoint() ([]byte, error)

func (*Checkpoint) UnmarshalCheckpoint

func (cp *Checkpoint) UnmarshalCheckpoint(blob []byte) error

UnmarshalCheckpoint unmarshals checkpoint from JSON

func (*Checkpoint) VerifyChecksum

func (cp *Checkpoint) VerifyChecksum() error

VerifyChecksum verifies that current checksum of checkpointed Data is valid

type PodResizeStatus

type PodResizeStatus map[string]v1.PodResizeStatus

PodResizeStatus type is used in tracking the last resize decision for pod

type PodResourceAllocation

type PodResourceAllocation map[string]map[string]v1.ResourceRequirements

PodResourceAllocation type is used in tracking resources allocated to pod's containers

func (PodResourceAllocation) Clone

Clone returns a copy of PodResourceAllocation

type PodResourceAllocationInfo

type PodResourceAllocationInfo struct {
	AllocationEntries map[string]map[string]v1.ResourceRequirements `json:"allocationEntries,omitempty"`
}

type Reader

type Reader interface {
	GetContainerResourceAllocation(podUID string, containerName string) (v1.ResourceRequirements, bool)
	GetPodResourceAllocation() PodResourceAllocation
}

Reader interface used to read current pod resource allocation state

type State

type State interface {
	Reader
	// contains filtered or unexported methods
}

State interface provides methods for tracking and setting pod resource allocation

func NewNoopStateCheckpoint

func NewNoopStateCheckpoint() State

NewNoopStateCheckpoint creates a dummy state checkpoint manager

func NewStateCheckpoint

func NewStateCheckpoint(stateDir, checkpointName string) (State, error)

NewStateCheckpoint creates new State for keeping track of pod resource allocations with checkpoint backend

func NewStateMemory

func NewStateMemory(alloc PodResourceAllocation) State

NewStateMemory creates new State to track resources allocated to pods

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL