Skip to content

Commit c0d922e

Browse files
committed
DRA: Kubelet code cleanup
1 parent 59555c6 commit c0d922e

File tree

8 files changed

+32
-33
lines changed

8 files changed

+32
-33
lines changed

pkg/kubelet/cm/dra/claiminfo.go

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import (
2525
resourceapi "k8s.io/api/resource/v1alpha3"
2626
"k8s.io/apimachinery/pkg/types"
2727
"k8s.io/apimachinery/pkg/util/sets"
28-
state "k8s.io/kubernetes/pkg/kubelet/cm/dra/state"
28+
"k8s.io/kubernetes/pkg/kubelet/cm/dra/state"
2929
kubecontainer "k8s.io/kubernetes/pkg/kubelet/container"
3030
)
3131

@@ -40,8 +40,8 @@ type ClaimInfo struct {
4040
// claimInfoCache is a cache of processed resource claims keyed by namespace/claimname.
4141
type claimInfoCache struct {
4242
sync.RWMutex
43-
state state.Checkpointer
44-
claimInfo map[string]*ClaimInfo
43+
checkpointer state.Checkpointer
44+
claimInfo map[string]*ClaimInfo
4545
}
4646

4747
// newClaimInfoFromClaim creates a new claim info from a resource claim.
@@ -124,11 +124,11 @@ func newClaimInfoCache(stateDir, checkpointName string) (*claimInfoCache, error)
124124
}
125125

126126
cache := &claimInfoCache{
127-
state: checkpointer,
128-
claimInfo: make(map[string]*ClaimInfo),
127+
checkpointer: checkpointer,
128+
claimInfo: make(map[string]*ClaimInfo),
129129
}
130130

131-
entries, err := checkpoint.GetEntries()
131+
entries, err := checkpoint.GetClaimInfoStateList()
132132
if err != nil {
133133
return nil, fmt.Errorf("error calling GetEntries() on checkpoint: %w", err)
134134

@@ -201,7 +201,7 @@ func (cache *claimInfoCache) syncToCheckpoint() error {
201201
if err != nil {
202202
return err
203203
}
204-
return cache.state.Store(checkpoint)
204+
return cache.checkpointer.Store(checkpoint)
205205
}
206206

207207
// cdiDevicesAsList returns a list of CDIDevices from the provided claim info.

pkg/kubelet/cm/dra/claiminfo_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import (
2828
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2929
"k8s.io/apimachinery/pkg/types"
3030
"k8s.io/apimachinery/pkg/util/sets"
31-
state "k8s.io/kubernetes/pkg/kubelet/cm/dra/state"
31+
"k8s.io/kubernetes/pkg/kubelet/cm/dra/state"
3232
)
3333

3434
// ClaimInfo test cases

pkg/kubelet/cm/dra/manager.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ import (
3232
"k8s.io/klog/v2"
3333
drapb "k8s.io/kubelet/pkg/apis/dra/v1alpha4"
3434
dra "k8s.io/kubernetes/pkg/kubelet/cm/dra/plugin"
35-
state "k8s.io/kubernetes/pkg/kubelet/cm/dra/state"
35+
"k8s.io/kubernetes/pkg/kubelet/cm/dra/state"
3636
"k8s.io/kubernetes/pkg/kubelet/config"
3737
kubecontainer "k8s.io/kubernetes/pkg/kubelet/container"
3838
)

pkg/kubelet/cm/dra/manager_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ import (
4040
"k8s.io/dynamic-resource-allocation/resourceclaim"
4141
drapb "k8s.io/kubelet/pkg/apis/dra/v1alpha4"
4242
"k8s.io/kubernetes/pkg/kubelet/cm/dra/plugin"
43-
state "k8s.io/kubernetes/pkg/kubelet/cm/dra/state"
43+
"k8s.io/kubernetes/pkg/kubelet/cm/dra/state"
4444
)
4545

4646
const (

pkg/kubelet/cm/dra/state/checkpoint.go

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ import (
2727
const (
2828
CheckpointAPIGroup = "checkpoint.dra.kubelet.k8s.io"
2929
CheckpointKind = "DRACheckpoint"
30-
CheckpointAPIVersion = CheckpointAPIGroup + "/" + Version
30+
CheckpointAPIVersion = CheckpointAPIGroup + "/v1"
3131
)
3232

3333
// Checkpoint represents a structure to store DRA checkpoint data
@@ -40,7 +40,7 @@ type Checkpoint struct {
4040

4141
type CheckpointData struct {
4242
metav1.TypeMeta
43-
Entries ClaimInfoStateList
43+
ClaimInfoStateList ClaimInfoStateList
4444
}
4545

4646
// NewCheckpoint creates a new checkpoint from a list of claim info states
@@ -50,18 +50,20 @@ func NewCheckpoint(data ClaimInfoStateList) (*Checkpoint, error) {
5050
Kind: CheckpointKind,
5151
APIVersion: CheckpointAPIVersion,
5252
},
53-
Entries: data,
53+
ClaimInfoStateList: data,
5454
}
5555

5656
cpDataBytes, err := json.Marshal(cpData)
5757
if err != nil {
5858
return nil, err
5959
}
6060

61-
return &Checkpoint{
61+
cp := &Checkpoint{
6262
Data: string(cpDataBytes),
6363
Checksum: crc32.ChecksumIEEE(cpDataBytes),
64-
}, nil
64+
}
65+
66+
return cp, nil
6567
}
6668

6769
// MarshalCheckpoint marshals checkpoint to JSON
@@ -94,12 +96,12 @@ func (cp *Checkpoint) VerifyChecksum() error {
9496
return nil
9597
}
9698

97-
// GetEntries returns list of claim info states from checkpoint
98-
func (cp *Checkpoint) GetEntries() (ClaimInfoStateList, error) {
99-
var cpData CheckpointData
100-
if err := json.Unmarshal([]byte(cp.Data), &cpData); err != nil {
99+
// GetClaimInfoStateList returns list of claim info states from checkpoint
100+
func (cp *Checkpoint) GetClaimInfoStateList() (ClaimInfoStateList, error) {
101+
var data CheckpointData
102+
if err := json.Unmarshal([]byte(cp.Data), &data); err != nil {
101103
return nil, err
102104
}
103105

104-
return cpData.Entries, nil
106+
return data.ClaimInfoStateList, nil
105107
}

pkg/kubelet/cm/dra/state/checkpointer.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ func NewCheckpointer(stateDir, checkpointName string) (Checkpointer, error) {
4646
if err != nil {
4747
return nil, fmt.Errorf("failed to initialize checkpoint manager: %w", err)
4848
}
49+
4950
checkpointer := &checkpointer{
5051
checkpointManager: checkpointManager,
5152
checkpointName: checkpointName,
@@ -55,7 +56,7 @@ func NewCheckpointer(stateDir, checkpointName string) (Checkpointer, error) {
5556
}
5657

5758
// GetOrCreate gets list of claim info states from a checkpoint
58-
// or creates empty list it checkpoint doesn't exist yet
59+
// or creates empty list if checkpoint doesn't exist
5960
func (sc *checkpointer) GetOrCreate() (*Checkpoint, error) {
6061
sc.Lock()
6162
defer sc.Unlock()

pkg/kubelet/cm/dra/state/checkpointer_test.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ func TestCheckpointGetOrCreate(t *testing.T) {
4646
},
4747
{
4848
description: "single-claim-info-state",
49-
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}`,
49+
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}`,
5050
expectedClaimInfoStateList: ClaimInfoStateList{
5151
{
5252
DriverState: map[string]DriverState{
@@ -70,7 +70,7 @@ func TestCheckpointGetOrCreate(t *testing.T) {
7070
},
7171
{
7272
description: "claim-info-state-with-multiple-devices",
73-
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}`,
73+
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}`,
7474
expectedClaimInfoStateList: ClaimInfoStateList{
7575
{
7676
DriverState: map[string]DriverState{
@@ -100,7 +100,7 @@ func TestCheckpointGetOrCreate(t *testing.T) {
100100
},
101101
{
102102
description: "two-claim-info-states",
103-
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}`,
103+
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}`,
104104
expectedClaimInfoStateList: ClaimInfoStateList{
105105
{
106106
DriverState: map[string]DriverState{
@@ -184,7 +184,7 @@ func TestCheckpointGetOrCreate(t *testing.T) {
184184
assert.ErrorContains(t, err, tc.expectedError)
185185
} else {
186186
require.NoError(t, err, "unexpected error")
187-
stateList, err := checkpoint.GetEntries()
187+
stateList, err := checkpoint.GetClaimInfoStateList()
188188
require.NoError(t, err, "could not get data entries from checkpoint")
189189
require.NoError(t, err)
190190
assert.Equal(t, tc.expectedClaimInfoStateList, stateList)
@@ -221,10 +221,10 @@ func TestCheckpointStateStore(t *testing.T) {
221221
PodUIDs: sets.New("139cdb46-f989-4f17-9561-ca10cfb509a6"),
222222
},
223223
},
224-
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}`,
224+
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}`,
225225
},
226226
{
227-
description: "single-claim-info-state-with-multiple-devices",
227+
description: "claim-info-state-with-multiple-devices",
228228
claimInfoStateList: ClaimInfoStateList{
229229
{
230230
DriverState: map[string]DriverState{
@@ -251,7 +251,7 @@ func TestCheckpointStateStore(t *testing.T) {
251251
PodUIDs: sets.New("139cdb46-f989-4f17-9561-ca10cfb509a6"),
252252
},
253253
},
254-
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}`,
254+
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}`,
255255
},
256256
{
257257
description: "two-claim-info-states",
@@ -291,7 +291,7 @@ func TestCheckpointStateStore(t *testing.T) {
291291
PodUIDs: sets.New("139cdb46-f989-4f17-9561-ca10cfb509a6"),
292292
},
293293
},
294-
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}`,
294+
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}`,
295295
},
296296
}
297297

pkg/kubelet/cm/dra/state/state.go

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,6 @@ import (
2121
"k8s.io/apimachinery/pkg/util/sets"
2222
)
2323

24-
const (
25-
Version = "v1"
26-
)
27-
2824
type ClaimInfoStateList []ClaimInfoState
2925

3026
// +k8s:deepcopy-gen=true

0 commit comments

Comments
 (0)