Documentation ¶
Index ¶
Constants ¶
const ( CheckpointAPIGroup = "checkpoint.dra.kubelet.k8s.io" CheckpointKind = "DRACheckpoint" CheckpointAPIVersion = CheckpointAPIGroup + "/v1" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Checkpoint ¶ added in v1.31.0
type Checkpoint struct { // Data is a JSON serialized checkpoint data Data string // Checksum is a checksum of Data Checksum uint32 }
Checkpoint represents a structure to store DRA checkpoint data
func NewCheckpoint ¶ added in v1.31.0
func NewCheckpoint(data ClaimInfoStateList) (*Checkpoint, error)
NewCheckpoint creates a new checkpoint from a list of claim info states
func (*Checkpoint) GetClaimInfoStateList ¶ added in v1.31.0
func (cp *Checkpoint) GetClaimInfoStateList() (ClaimInfoStateList, error)
GetClaimInfoStateList returns list of claim info states from checkpoint
func (*Checkpoint) MarshalCheckpoint ¶ added in v1.31.0
func (cp *Checkpoint) MarshalCheckpoint() ([]byte, error)
MarshalCheckpoint marshals checkpoint to JSON
func (*Checkpoint) UnmarshalCheckpoint ¶ added in v1.31.0
func (cp *Checkpoint) UnmarshalCheckpoint(blob []byte) error
UnmarshalCheckpoint unmarshals checkpoint from JSON and verifies its data checksum
func (*Checkpoint) VerifyChecksum ¶ added in v1.31.0
func (cp *Checkpoint) VerifyChecksum() error
VerifyChecksum verifies that current checksum of checkpointed Data is valid
type CheckpointData ¶ added in v1.31.0
type CheckpointData struct { metav1.TypeMeta ClaimInfoStateList ClaimInfoStateList }
type Checkpointer ¶ added in v1.31.0
type Checkpointer interface { GetOrCreate() (*Checkpoint, error) Store(*Checkpoint) error }
func NewCheckpointer ¶ added in v1.31.0
func NewCheckpointer(stateDir, checkpointName string) (Checkpointer, error)
NewCheckpointer creates new checkpointer for keeping track of claim info with checkpoint backend
type ClaimInfoState ¶
type ClaimInfoState struct { // ClaimUID is the UID of a resource claim ClaimUID types.UID // ClaimName is the name of a resource claim ClaimName string // Namespace is a claim namespace Namespace string // PodUIDs is a set of pod UIDs that reference a resource PodUIDs sets.Set[string] // DriverState contains information about all drivers which have allocation // results in the claim, even if they don't provide devices for their results. DriverState map[string]DriverState }
+k8s:deepcopy-gen=true
func (*ClaimInfoState) DeepCopy ¶ added in v1.31.0
func (in *ClaimInfoState) DeepCopy() *ClaimInfoState
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClaimInfoState.
func (*ClaimInfoState) DeepCopyInto ¶ added in v1.31.0
func (in *ClaimInfoState) DeepCopyInto(out *ClaimInfoState)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClaimInfoStateList ¶
type ClaimInfoStateList []ClaimInfoState
type Device ¶ added in v1.31.0
type Device struct { PoolName string DeviceName string RequestNames []string CDIDeviceIDs []string }
Device is how a DRA driver described an allocated device in a claim to kubelet. RequestName and CDI device IDs are optional. +k8s:deepcopy-gen=true
func (*Device) DeepCopy ¶ added in v1.31.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Device.
func (*Device) DeepCopyInto ¶ added in v1.31.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DriverState ¶ added in v1.31.0
type DriverState struct {
Devices []Device
}
DriverState is used to store per-device claim info state in a checkpoint +k8s:deepcopy-gen=true
func (*DriverState) DeepCopy ¶ added in v1.31.0
func (in *DriverState) DeepCopy() *DriverState
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DriverState.
func (*DriverState) DeepCopyInto ¶ added in v1.31.0
func (in *DriverState) DeepCopyInto(out *DriverState)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.