mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-27 05:27:21 +00:00
DRA: Kubelet code cleanup
This commit is contained in:
parent
59555c6a62
commit
c0d922e786
@ -25,7 +25,7 @@ import (
|
|||||||
resourceapi "k8s.io/api/resource/v1alpha3"
|
resourceapi "k8s.io/api/resource/v1alpha3"
|
||||||
"k8s.io/apimachinery/pkg/types"
|
"k8s.io/apimachinery/pkg/types"
|
||||||
"k8s.io/apimachinery/pkg/util/sets"
|
"k8s.io/apimachinery/pkg/util/sets"
|
||||||
state "k8s.io/kubernetes/pkg/kubelet/cm/dra/state"
|
"k8s.io/kubernetes/pkg/kubelet/cm/dra/state"
|
||||||
kubecontainer "k8s.io/kubernetes/pkg/kubelet/container"
|
kubecontainer "k8s.io/kubernetes/pkg/kubelet/container"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -40,7 +40,7 @@ type ClaimInfo struct {
|
|||||||
// claimInfoCache is a cache of processed resource claims keyed by namespace/claimname.
|
// claimInfoCache is a cache of processed resource claims keyed by namespace/claimname.
|
||||||
type claimInfoCache struct {
|
type claimInfoCache struct {
|
||||||
sync.RWMutex
|
sync.RWMutex
|
||||||
state state.Checkpointer
|
checkpointer state.Checkpointer
|
||||||
claimInfo map[string]*ClaimInfo
|
claimInfo map[string]*ClaimInfo
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -124,11 +124,11 @@ func newClaimInfoCache(stateDir, checkpointName string) (*claimInfoCache, error)
|
|||||||
}
|
}
|
||||||
|
|
||||||
cache := &claimInfoCache{
|
cache := &claimInfoCache{
|
||||||
state: checkpointer,
|
checkpointer: checkpointer,
|
||||||
claimInfo: make(map[string]*ClaimInfo),
|
claimInfo: make(map[string]*ClaimInfo),
|
||||||
}
|
}
|
||||||
|
|
||||||
entries, err := checkpoint.GetEntries()
|
entries, err := checkpoint.GetClaimInfoStateList()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("error calling GetEntries() on checkpoint: %w", err)
|
return nil, fmt.Errorf("error calling GetEntries() on checkpoint: %w", err)
|
||||||
|
|
||||||
@ -201,7 +201,7 @@ func (cache *claimInfoCache) syncToCheckpoint() error {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
return cache.state.Store(checkpoint)
|
return cache.checkpointer.Store(checkpoint)
|
||||||
}
|
}
|
||||||
|
|
||||||
// cdiDevicesAsList returns a list of CDIDevices from the provided claim info.
|
// cdiDevicesAsList returns a list of CDIDevices from the provided claim info.
|
||||||
|
@ -28,7 +28,7 @@ import (
|
|||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
"k8s.io/apimachinery/pkg/types"
|
"k8s.io/apimachinery/pkg/types"
|
||||||
"k8s.io/apimachinery/pkg/util/sets"
|
"k8s.io/apimachinery/pkg/util/sets"
|
||||||
state "k8s.io/kubernetes/pkg/kubelet/cm/dra/state"
|
"k8s.io/kubernetes/pkg/kubelet/cm/dra/state"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ClaimInfo test cases
|
// ClaimInfo test cases
|
||||||
|
@ -32,7 +32,7 @@ import (
|
|||||||
"k8s.io/klog/v2"
|
"k8s.io/klog/v2"
|
||||||
drapb "k8s.io/kubelet/pkg/apis/dra/v1alpha4"
|
drapb "k8s.io/kubelet/pkg/apis/dra/v1alpha4"
|
||||||
dra "k8s.io/kubernetes/pkg/kubelet/cm/dra/plugin"
|
dra "k8s.io/kubernetes/pkg/kubelet/cm/dra/plugin"
|
||||||
state "k8s.io/kubernetes/pkg/kubelet/cm/dra/state"
|
"k8s.io/kubernetes/pkg/kubelet/cm/dra/state"
|
||||||
"k8s.io/kubernetes/pkg/kubelet/config"
|
"k8s.io/kubernetes/pkg/kubelet/config"
|
||||||
kubecontainer "k8s.io/kubernetes/pkg/kubelet/container"
|
kubecontainer "k8s.io/kubernetes/pkg/kubelet/container"
|
||||||
)
|
)
|
||||||
|
@ -40,7 +40,7 @@ import (
|
|||||||
"k8s.io/dynamic-resource-allocation/resourceclaim"
|
"k8s.io/dynamic-resource-allocation/resourceclaim"
|
||||||
drapb "k8s.io/kubelet/pkg/apis/dra/v1alpha4"
|
drapb "k8s.io/kubelet/pkg/apis/dra/v1alpha4"
|
||||||
"k8s.io/kubernetes/pkg/kubelet/cm/dra/plugin"
|
"k8s.io/kubernetes/pkg/kubelet/cm/dra/plugin"
|
||||||
state "k8s.io/kubernetes/pkg/kubelet/cm/dra/state"
|
"k8s.io/kubernetes/pkg/kubelet/cm/dra/state"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
@ -27,7 +27,7 @@ import (
|
|||||||
const (
|
const (
|
||||||
CheckpointAPIGroup = "checkpoint.dra.kubelet.k8s.io"
|
CheckpointAPIGroup = "checkpoint.dra.kubelet.k8s.io"
|
||||||
CheckpointKind = "DRACheckpoint"
|
CheckpointKind = "DRACheckpoint"
|
||||||
CheckpointAPIVersion = CheckpointAPIGroup + "/" + Version
|
CheckpointAPIVersion = CheckpointAPIGroup + "/v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Checkpoint represents a structure to store DRA checkpoint data
|
// Checkpoint represents a structure to store DRA checkpoint data
|
||||||
@ -40,7 +40,7 @@ type Checkpoint struct {
|
|||||||
|
|
||||||
type CheckpointData struct {
|
type CheckpointData struct {
|
||||||
metav1.TypeMeta
|
metav1.TypeMeta
|
||||||
Entries ClaimInfoStateList
|
ClaimInfoStateList ClaimInfoStateList
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewCheckpoint creates a new checkpoint from a list of claim info states
|
// NewCheckpoint creates a new checkpoint from a list of claim info states
|
||||||
@ -50,7 +50,7 @@ func NewCheckpoint(data ClaimInfoStateList) (*Checkpoint, error) {
|
|||||||
Kind: CheckpointKind,
|
Kind: CheckpointKind,
|
||||||
APIVersion: CheckpointAPIVersion,
|
APIVersion: CheckpointAPIVersion,
|
||||||
},
|
},
|
||||||
Entries: data,
|
ClaimInfoStateList: data,
|
||||||
}
|
}
|
||||||
|
|
||||||
cpDataBytes, err := json.Marshal(cpData)
|
cpDataBytes, err := json.Marshal(cpData)
|
||||||
@ -58,10 +58,12 @@ func NewCheckpoint(data ClaimInfoStateList) (*Checkpoint, error) {
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
return &Checkpoint{
|
cp := &Checkpoint{
|
||||||
Data: string(cpDataBytes),
|
Data: string(cpDataBytes),
|
||||||
Checksum: crc32.ChecksumIEEE(cpDataBytes),
|
Checksum: crc32.ChecksumIEEE(cpDataBytes),
|
||||||
}, nil
|
}
|
||||||
|
|
||||||
|
return cp, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// MarshalCheckpoint marshals checkpoint to JSON
|
// MarshalCheckpoint marshals checkpoint to JSON
|
||||||
@ -94,12 +96,12 @@ func (cp *Checkpoint) VerifyChecksum() error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetEntries returns list of claim info states from checkpoint
|
// GetClaimInfoStateList returns list of claim info states from checkpoint
|
||||||
func (cp *Checkpoint) GetEntries() (ClaimInfoStateList, error) {
|
func (cp *Checkpoint) GetClaimInfoStateList() (ClaimInfoStateList, error) {
|
||||||
var cpData CheckpointData
|
var data CheckpointData
|
||||||
if err := json.Unmarshal([]byte(cp.Data), &cpData); err != nil {
|
if err := json.Unmarshal([]byte(cp.Data), &data); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
return cpData.Entries, nil
|
return data.ClaimInfoStateList, nil
|
||||||
}
|
}
|
||||||
|
@ -46,6 +46,7 @@ func NewCheckpointer(stateDir, checkpointName string) (Checkpointer, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("failed to initialize checkpoint manager: %w", err)
|
return nil, fmt.Errorf("failed to initialize checkpoint manager: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
checkpointer := &checkpointer{
|
checkpointer := &checkpointer{
|
||||||
checkpointManager: checkpointManager,
|
checkpointManager: checkpointManager,
|
||||||
checkpointName: checkpointName,
|
checkpointName: checkpointName,
|
||||||
@ -55,7 +56,7 @@ func NewCheckpointer(stateDir, checkpointName string) (Checkpointer, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// GetOrCreate gets list of claim info states from a checkpoint
|
// GetOrCreate gets list of claim info states from a checkpoint
|
||||||
// or creates empty list it checkpoint doesn't exist yet
|
// or creates empty list if checkpoint doesn't exist
|
||||||
func (sc *checkpointer) GetOrCreate() (*Checkpoint, error) {
|
func (sc *checkpointer) GetOrCreate() (*Checkpoint, error) {
|
||||||
sc.Lock()
|
sc.Lock()
|
||||||
defer sc.Unlock()
|
defer sc.Unlock()
|
||||||
|
@ -46,7 +46,7 @@ func TestCheckpointGetOrCreate(t *testing.T) {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
description: "single-claim-info-state",
|
description: "single-claim-info-state",
|
||||||
checkpointContent: `{"Data":"{\"kind\":\"DRACheckpoint\",\"apiVersion\":\"checkpoint.dra.kubelet.k8s.io/v1\",\"Entries\":[{\"ClaimUID\":\"067798be-454e-4be4-9047-1aa06aea63f7\",\"ClaimName\":\"example\",\"Namespace\":\"default\",\"PodUIDs\":{\"139cdb46-f989-4f17-9561-ca10cfb509a6\":{}},\"DriverState\":{\"test-driver.cdi.k8s.io\":{\"Devices\":[{\"PoolName\":\"worker-1\",\"DeviceName\":\"dev-1\",\"RequestNames\":[\"test request\"],\"CDIDeviceIDs\":[\"example.com/example=cdi-example\"]}]}}}]}","Checksum":1597924435}`,
|
checkpointContent: `{"Data":"{\"kind\":\"DRACheckpoint\",\"apiVersion\":\"checkpoint.dra.kubelet.k8s.io/v1\",\"ClaimInfoStateList\":[{\"ClaimUID\":\"067798be-454e-4be4-9047-1aa06aea63f7\",\"ClaimName\":\"example\",\"Namespace\":\"default\",\"PodUIDs\":{\"139cdb46-f989-4f17-9561-ca10cfb509a6\":{}},\"DriverState\":{\"test-driver.cdi.k8s.io\":{\"Devices\":[{\"PoolName\":\"worker-1\",\"DeviceName\":\"dev-1\",\"RequestNames\":[\"test request\"],\"CDIDeviceIDs\":[\"example.com/example=cdi-example\"]}]}}}]}","Checksum":1656016162}`,
|
||||||
expectedClaimInfoStateList: ClaimInfoStateList{
|
expectedClaimInfoStateList: ClaimInfoStateList{
|
||||||
{
|
{
|
||||||
DriverState: map[string]DriverState{
|
DriverState: map[string]DriverState{
|
||||||
@ -70,7 +70,7 @@ func TestCheckpointGetOrCreate(t *testing.T) {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
description: "claim-info-state-with-multiple-devices",
|
description: "claim-info-state-with-multiple-devices",
|
||||||
checkpointContent: `{"Data":"{\"kind\":\"DRACheckpoint\",\"apiVersion\":\"checkpoint.dra.kubelet.k8s.io/v1\",\"Entries\":[{\"ClaimUID\":\"067798be-454e-4be4-9047-1aa06aea63f7\",\"ClaimName\":\"example\",\"Namespace\":\"default\",\"PodUIDs\":{\"139cdb46-f989-4f17-9561-ca10cfb509a6\":{}},\"DriverState\":{\"test-driver.cdi.k8s.io\":{\"Devices\":[{\"PoolName\":\"worker-1\",\"DeviceName\":\"dev-1\",\"RequestNames\":[\"test request\"],\"CDIDeviceIDs\":[\"example.com/example=cdi-example\"]},{\"PoolName\":\"worker-1\",\"DeviceName\":\"dev-2\",\"RequestNames\":[\"test request\"],\"CDIDeviceIDs\":[\"example.com/example=cdi-example\"]}]}}}]}","Checksum":1812303514}`,
|
checkpointContent: `{"Data":"{\"kind\":\"DRACheckpoint\",\"apiVersion\":\"checkpoint.dra.kubelet.k8s.io/v1\",\"ClaimInfoStateList\":[{\"ClaimUID\":\"067798be-454e-4be4-9047-1aa06aea63f7\",\"ClaimName\":\"example\",\"Namespace\":\"default\",\"PodUIDs\":{\"139cdb46-f989-4f17-9561-ca10cfb509a6\":{}},\"DriverState\":{\"test-driver.cdi.k8s.io\":{\"Devices\":[{\"PoolName\":\"worker-1\",\"DeviceName\":\"dev-1\",\"RequestNames\":[\"test request\"],\"CDIDeviceIDs\":[\"example.com/example=cdi-example\"]},{\"PoolName\":\"worker-1\",\"DeviceName\":\"dev-2\",\"RequestNames\":[\"test request\"],\"CDIDeviceIDs\":[\"example.com/example=cdi-example\"]}]}}}]}","Checksum":3369508096}`,
|
||||||
expectedClaimInfoStateList: ClaimInfoStateList{
|
expectedClaimInfoStateList: ClaimInfoStateList{
|
||||||
{
|
{
|
||||||
DriverState: map[string]DriverState{
|
DriverState: map[string]DriverState{
|
||||||
@ -100,7 +100,7 @@ func TestCheckpointGetOrCreate(t *testing.T) {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
description: "two-claim-info-states",
|
description: "two-claim-info-states",
|
||||||
checkpointContent: `{"Data":"{\"kind\":\"DRACheckpoint\",\"apiVersion\":\"checkpoint.dra.kubelet.k8s.io/v1\",\"Entries\":[{\"ClaimUID\":\"067798be-454e-4be4-9047-1aa06aea63f7\",\"ClaimName\":\"example-1\",\"Namespace\":\"default\",\"PodUIDs\":{\"139cdb46-f989-4f17-9561-ca10cfb509a6\":{}},\"DriverState\":{\"test-driver.cdi.k8s.io\":{\"Devices\":[{\"PoolName\":\"worker-1\",\"DeviceName\":\"dev-1\",\"RequestNames\":[\"test request\"],\"CDIDeviceIDs\":[\"example.com/example=cdi-example\"]}]}}},{\"ClaimUID\":\"4cf8db2d-06c0-7d70-1a51-e59b25b2c16c\",\"ClaimName\":\"example-2\",\"Namespace\":\"default\",\"PodUIDs\":{\"139cdb46-f989-4f17-9561-ca10cfb509a6\":{}},\"DriverState\":{\"test-driver.cdi.k8s.io\":{\"Devices\":[{\"PoolName\":\"worker-1\",\"DeviceName\":\"dev-2\",\"RequestNames\":null,\"CDIDeviceIDs\":null}]}}}]}","Checksum":3633532417}`,
|
checkpointContent: `{"Data":"{\"kind\":\"DRACheckpoint\",\"apiVersion\":\"checkpoint.dra.kubelet.k8s.io/v1\",\"ClaimInfoStateList\":[{\"ClaimUID\":\"067798be-454e-4be4-9047-1aa06aea63f7\",\"ClaimName\":\"example-1\",\"Namespace\":\"default\",\"PodUIDs\":{\"139cdb46-f989-4f17-9561-ca10cfb509a6\":{}},\"DriverState\":{\"test-driver.cdi.k8s.io\":{\"Devices\":[{\"PoolName\":\"worker-1\",\"DeviceName\":\"dev-1\",\"RequestNames\":[\"test request\"],\"CDIDeviceIDs\":[\"example.com/example=cdi-example\"]}]}}},{\"ClaimUID\":\"4cf8db2d-06c0-7d70-1a51-e59b25b2c16c\",\"ClaimName\":\"example-2\",\"Namespace\":\"default\",\"PodUIDs\":{\"139cdb46-f989-4f17-9561-ca10cfb509a6\":{}},\"DriverState\":{\"test-driver.cdi.k8s.io\":{\"Devices\":[{\"PoolName\":\"worker-1\",\"DeviceName\":\"dev-2\",\"RequestNames\":null,\"CDIDeviceIDs\":null}]}}}]}","Checksum":1582256999}`,
|
||||||
expectedClaimInfoStateList: ClaimInfoStateList{
|
expectedClaimInfoStateList: ClaimInfoStateList{
|
||||||
{
|
{
|
||||||
DriverState: map[string]DriverState{
|
DriverState: map[string]DriverState{
|
||||||
@ -184,7 +184,7 @@ func TestCheckpointGetOrCreate(t *testing.T) {
|
|||||||
assert.ErrorContains(t, err, tc.expectedError)
|
assert.ErrorContains(t, err, tc.expectedError)
|
||||||
} else {
|
} else {
|
||||||
require.NoError(t, err, "unexpected error")
|
require.NoError(t, err, "unexpected error")
|
||||||
stateList, err := checkpoint.GetEntries()
|
stateList, err := checkpoint.GetClaimInfoStateList()
|
||||||
require.NoError(t, err, "could not get data entries from checkpoint")
|
require.NoError(t, err, "could not get data entries from checkpoint")
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Equal(t, tc.expectedClaimInfoStateList, stateList)
|
assert.Equal(t, tc.expectedClaimInfoStateList, stateList)
|
||||||
@ -221,10 +221,10 @@ func TestCheckpointStateStore(t *testing.T) {
|
|||||||
PodUIDs: sets.New("139cdb46-f989-4f17-9561-ca10cfb509a6"),
|
PodUIDs: sets.New("139cdb46-f989-4f17-9561-ca10cfb509a6"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
expectedCheckpointContent: `{"Data":"{\"kind\":\"DRACheckpoint\",\"apiVersion\":\"checkpoint.dra.kubelet.k8s.io/v1\",\"Entries\":[{\"ClaimUID\":\"067798be-454e-4be4-9047-1aa06aea63f7\",\"ClaimName\":\"example\",\"Namespace\":\"default\",\"PodUIDs\":{\"139cdb46-f989-4f17-9561-ca10cfb509a6\":{}},\"DriverState\":{\"test-driver.cdi.k8s.io\":{\"Devices\":[{\"PoolName\":\"worker-1\",\"DeviceName\":\"dev-1\",\"RequestNames\":[\"test request\"],\"CDIDeviceIDs\":[\"example.com/example=cdi-example\"]}]}}}]}","Checksum":1597924435}`,
|
expectedCheckpointContent: `{"Data":"{\"kind\":\"DRACheckpoint\",\"apiVersion\":\"checkpoint.dra.kubelet.k8s.io/v1\",\"ClaimInfoStateList\":[{\"ClaimUID\":\"067798be-454e-4be4-9047-1aa06aea63f7\",\"ClaimName\":\"example\",\"Namespace\":\"default\",\"PodUIDs\":{\"139cdb46-f989-4f17-9561-ca10cfb509a6\":{}},\"DriverState\":{\"test-driver.cdi.k8s.io\":{\"Devices\":[{\"PoolName\":\"worker-1\",\"DeviceName\":\"dev-1\",\"RequestNames\":[\"test request\"],\"CDIDeviceIDs\":[\"example.com/example=cdi-example\"]}]}}}]}","Checksum":1656016162}`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
description: "single-claim-info-state-with-multiple-devices",
|
description: "claim-info-state-with-multiple-devices",
|
||||||
claimInfoStateList: ClaimInfoStateList{
|
claimInfoStateList: ClaimInfoStateList{
|
||||||
{
|
{
|
||||||
DriverState: map[string]DriverState{
|
DriverState: map[string]DriverState{
|
||||||
@ -251,7 +251,7 @@ func TestCheckpointStateStore(t *testing.T) {
|
|||||||
PodUIDs: sets.New("139cdb46-f989-4f17-9561-ca10cfb509a6"),
|
PodUIDs: sets.New("139cdb46-f989-4f17-9561-ca10cfb509a6"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
expectedCheckpointContent: `{"Data":"{\"kind\":\"DRACheckpoint\",\"apiVersion\":\"checkpoint.dra.kubelet.k8s.io/v1\",\"Entries\":[{\"ClaimUID\":\"067798be-454e-4be4-9047-1aa06aea63f7\",\"ClaimName\":\"example\",\"Namespace\":\"default\",\"PodUIDs\":{\"139cdb46-f989-4f17-9561-ca10cfb509a6\":{}},\"DriverState\":{\"test-driver.cdi.k8s.io\":{\"Devices\":[{\"PoolName\":\"worker-1\",\"DeviceName\":\"dev-1\",\"RequestNames\":[\"test request\"],\"CDIDeviceIDs\":[\"example.com/example=cdi-example\"]},{\"PoolName\":\"worker-1\",\"DeviceName\":\"dev-2\",\"RequestNames\":[\"test request\"],\"CDIDeviceIDs\":[\"example.com/example=cdi-example\"]}]}}}]}","Checksum":1812303514}`,
|
expectedCheckpointContent: `{"Data":"{\"kind\":\"DRACheckpoint\",\"apiVersion\":\"checkpoint.dra.kubelet.k8s.io/v1\",\"ClaimInfoStateList\":[{\"ClaimUID\":\"067798be-454e-4be4-9047-1aa06aea63f7\",\"ClaimName\":\"example\",\"Namespace\":\"default\",\"PodUIDs\":{\"139cdb46-f989-4f17-9561-ca10cfb509a6\":{}},\"DriverState\":{\"test-driver.cdi.k8s.io\":{\"Devices\":[{\"PoolName\":\"worker-1\",\"DeviceName\":\"dev-1\",\"RequestNames\":[\"test request\"],\"CDIDeviceIDs\":[\"example.com/example=cdi-example\"]},{\"PoolName\":\"worker-1\",\"DeviceName\":\"dev-2\",\"RequestNames\":[\"test request\"],\"CDIDeviceIDs\":[\"example.com/example=cdi-example\"]}]}}}]}","Checksum":3369508096}`,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
description: "two-claim-info-states",
|
description: "two-claim-info-states",
|
||||||
@ -291,7 +291,7 @@ func TestCheckpointStateStore(t *testing.T) {
|
|||||||
PodUIDs: sets.New("139cdb46-f989-4f17-9561-ca10cfb509a6"),
|
PodUIDs: sets.New("139cdb46-f989-4f17-9561-ca10cfb509a6"),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
expectedCheckpointContent: `{"Data":"{\"kind\":\"DRACheckpoint\",\"apiVersion\":\"checkpoint.dra.kubelet.k8s.io/v1\",\"Entries\":[{\"ClaimUID\":\"067798be-454e-4be4-9047-1aa06aea63f7\",\"ClaimName\":\"example-1\",\"Namespace\":\"default\",\"PodUIDs\":{\"139cdb46-f989-4f17-9561-ca10cfb509a6\":{}},\"DriverState\":{\"test-driver.cdi.k8s.io\":{\"Devices\":[{\"PoolName\":\"worker-1\",\"DeviceName\":\"dev-1\",\"RequestNames\":[\"test request\"],\"CDIDeviceIDs\":[\"example.com/example=cdi-example\"]}]}}},{\"ClaimUID\":\"4cf8db2d-06c0-7d70-1a51-e59b25b2c16c\",\"ClaimName\":\"example-2\",\"Namespace\":\"default\",\"PodUIDs\":{\"139cdb46-f989-4f17-9561-ca10cfb509a6\":{}},\"DriverState\":{\"test-driver.cdi.k8s.io\":{\"Devices\":[{\"PoolName\":\"worker-1\",\"DeviceName\":\"dev-2\",\"RequestNames\":null,\"CDIDeviceIDs\":null}]}}}]}","Checksum":3633532417}`,
|
expectedCheckpointContent: `{"Data":"{\"kind\":\"DRACheckpoint\",\"apiVersion\":\"checkpoint.dra.kubelet.k8s.io/v1\",\"ClaimInfoStateList\":[{\"ClaimUID\":\"067798be-454e-4be4-9047-1aa06aea63f7\",\"ClaimName\":\"example-1\",\"Namespace\":\"default\",\"PodUIDs\":{\"139cdb46-f989-4f17-9561-ca10cfb509a6\":{}},\"DriverState\":{\"test-driver.cdi.k8s.io\":{\"Devices\":[{\"PoolName\":\"worker-1\",\"DeviceName\":\"dev-1\",\"RequestNames\":[\"test request\"],\"CDIDeviceIDs\":[\"example.com/example=cdi-example\"]}]}}},{\"ClaimUID\":\"4cf8db2d-06c0-7d70-1a51-e59b25b2c16c\",\"ClaimName\":\"example-2\",\"Namespace\":\"default\",\"PodUIDs\":{\"139cdb46-f989-4f17-9561-ca10cfb509a6\":{}},\"DriverState\":{\"test-driver.cdi.k8s.io\":{\"Devices\":[{\"PoolName\":\"worker-1\",\"DeviceName\":\"dev-2\",\"RequestNames\":null,\"CDIDeviceIDs\":null}]}}}]}","Checksum":1582256999}`,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -21,10 +21,6 @@ import (
|
|||||||
"k8s.io/apimachinery/pkg/util/sets"
|
"k8s.io/apimachinery/pkg/util/sets"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
|
||||||
Version = "v1"
|
|
||||||
)
|
|
||||||
|
|
||||||
type ClaimInfoStateList []ClaimInfoState
|
type ClaimInfoStateList []ClaimInfoState
|
||||||
|
|
||||||
// +k8s:deepcopy-gen=true
|
// +k8s:deepcopy-gen=true
|
||||||
|
Loading…
Reference in New Issue
Block a user