Merge pull request #137911 from troychiu/resource-version-in-resourceslice-test

DRA: [Test] Assign Initial ResourceVersion to ResourceSlices in Create Reactor
This commit is contained in:
Kubernetes Prow Robot 2026-05-18 18:47:54 +05:30 committed by GitHub
commit 83db98e61f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -131,6 +131,7 @@ func TestControllerSyncPool(t *testing.T) {
},
expectedResourceSlices: []resourceapi.ResourceSlice{
*MakeResourceSlice().Name(resourceSlice1).GenerateName(generateName1).
ResourceVersion("0").
NodeOwnerReferences(ownerName, string(nodeUID)).NodeName(ownerName).
Driver(driverName).Devices([]resourceapi.Device{}).
Pool(resourceapi.ResourcePool{Name: poolName, Generation: 1, ResourceSliceCount: 1}).Obj(),
@ -575,17 +576,17 @@ func TestControllerSyncPool(t *testing.T) {
nodeUID: nodeUID,
initialObjects: []runtime.Object{
// no devices
MakeResourceSlice().Name(generateName1+"random1").UID(generateName1+"random1").
MakeResourceSlice().Name(resourceSlice1).UID(resourceSlice1).
NodeOwnerReferences(ownerName, string(nodeUID)).NodeName(ownerName).
Driver(driverName).Devices([]resourceapi.Device{}).
Pool(resourceapi.ResourcePool{Name: poolName, Generation: 1, ResourceSliceCount: 1}).Obj(),
// matching device
MakeResourceSlice().Name(generateName2+"random2").UID(generateName2+"random2").
MakeResourceSlice().Name(resourceSlice2).UID(resourceSlice2).
NodeOwnerReferences(ownerName, string(nodeUID)).NodeName(ownerName).
Driver(driverName).Devices([]resourceapi.Device{newDevice(deviceName)}).
Pool(resourceapi.ResourcePool{Name: poolName, Generation: 2, ResourceSliceCount: 1}).Obj(),
// no devices
MakeResourceSlice().Name(generateName3+"random3").UID(generateName3+"random3").
MakeResourceSlice().Name(resourceSlice3).UID(resourceSlice3).
NodeOwnerReferences(ownerName, string(nodeUID)).NodeName(ownerName).
Driver(driverName).Devices([]resourceapi.Device{}).
Pool(resourceapi.ResourcePool{Name: poolName, Generation: 1, ResourceSliceCount: 1}).Obj(),
@ -609,6 +610,7 @@ func TestControllerSyncPool(t *testing.T) {
},
expectedResourceSlices: []resourceapi.ResourceSlice{
*MakeResourceSlice().Name(resourceSlice1).GenerateName(generateName1).
ResourceVersion("0").
NodeOwnerReferences(ownerName, string(nodeUID)).NodeName(ownerName).
Driver(driverName).Devices([]resourceapi.Device{newDevice(deviceName)}).
Pool(resourceapi.ResourcePool{Name: poolName, Generation: 3, ResourceSliceCount: 1}).Obj(),
@ -794,6 +796,7 @@ func TestControllerSyncPool(t *testing.T) {
Driver(driverName).Devices([]resourceapi.Device{newDevice(deviceName3)}).
Pool(resourceapi.ResourcePool{Name: poolName, Generation: 2, ResourceSliceCount: 4}).Obj(),
*MakeResourceSlice().Name(generateName4+"0").GenerateName(generateName4).
ResourceVersion("0").
NodeOwnerReferences(ownerName, string(nodeUID)).NodeName(ownerName).
Driver(driverName).Devices([]resourceapi.Device{newDevice(deviceName4)}).
Pool(resourceapi.ResourcePool{Name: poolName, Generation: 2, ResourceSliceCount: 4}).Obj(),
@ -816,6 +819,7 @@ func TestControllerSyncPool(t *testing.T) {
expectedResourceSlices: []resourceapi.ResourceSlice{
*MakeResourceSlice().Name(encodeIndex(0, resourceSliceIndexMinLength) + "-" + driverName + "-0").
GenerateName(encodeIndex(0, resourceSliceIndexMinLength) + "-" + driverName + "-").
ResourceVersion("0").
AllNodes(true).
NodeName("").
NodeSelector(nil).
@ -839,6 +843,7 @@ func TestControllerSyncPool(t *testing.T) {
},
expectedResourceSlices: []resourceapi.ResourceSlice{
*MakeResourceSlice().Name(generateName1 + "0").GenerateName(generateName1).
ResourceVersion("0").
AppOwnerReferences(ownerName).NodeSelector(nodeSelector).
Driver(driverName).Devices([]resourceapi.Device{newDevice(deviceName)}).
Pool(resourceapi.ResourcePool{Name: poolName, Generation: 1, ResourceSliceCount: 1}).Obj(),
@ -859,6 +864,7 @@ func TestControllerSyncPool(t *testing.T) {
expectedStats: Stats{NumCreates: 1},
expectedResourceSlices: []resourceapi.ResourceSlice{
*MakeResourceSlice().Name(resourceSlice1).GenerateName(generateName1).
ResourceVersion("0").
NodeOwnerReferences(ownerName, string(nodeUID)).
AllNodes(true).
NodeName("").
@ -883,6 +889,7 @@ func TestControllerSyncPool(t *testing.T) {
expectedStats: Stats{NumCreates: 1},
expectedResourceSlices: []resourceapi.ResourceSlice{
*MakeResourceSlice().Name(resourceSlice1).GenerateName(generateName1).
ResourceVersion("0").
NodeOwnerReferences(ownerName, string(nodeUID)).
NodeSelector(nodeSelector).
Driver(driverName).Devices([]resourceapi.Device{newDevice(deviceName)}).
@ -903,6 +910,7 @@ func TestControllerSyncPool(t *testing.T) {
expectedStats: Stats{NumCreates: 1},
expectedResourceSlices: []resourceapi.ResourceSlice{
*MakeResourceSlice().Name(resourceSlice1).GenerateName(generateName1).
ResourceVersion("0").
NodeOwnerReferences(ownerName, string(nodeUID)).
PerDeviceNodeSelection(true).
Driver(driverName).Devices([]resourceapi.Device{newDevice(deviceName, nodeSelector)}).
@ -973,6 +981,7 @@ func TestControllerSyncPool(t *testing.T) {
},
expectedResourceSlices: []resourceapi.ResourceSlice{
*MakeResourceSlice().Name(resourceSlice1).GenerateName(generateName1).
ResourceVersion("0").
AppOwnerReferences(ownerName).
AllNodes(false).
NodeName("").
@ -988,6 +997,7 @@ func TestControllerSyncPool(t *testing.T) {
Pool(resourceapi.ResourcePool{Name: poolName, Generation: 1, ResourceSliceCount: 2}).
Obj(),
*MakeResourceSlice().Name(resourceSlice2).GenerateName(generateName2).
ResourceVersion("0").
AppOwnerReferences(ownerName).
AllNodes(false).
NodeName("").
@ -1050,6 +1060,7 @@ func TestControllerSyncPool(t *testing.T) {
},
expectedResourceSlices: []resourceapi.ResourceSlice{
*MakeResourceSlice().Name(resourceSlice1).GenerateName(generateName1).
ResourceVersion("0").
AppOwnerReferences(ownerName).
AllNodes(false).
NodeName("").
@ -1059,6 +1070,7 @@ func TestControllerSyncPool(t *testing.T) {
Pool(resourceapi.ResourcePool{Name: poolName, Generation: 1, ResourceSliceCount: 2}).
Obj(),
*MakeResourceSlice().Name(resourceSlice2).GenerateName(generateName2).
ResourceVersion("0").
AppOwnerReferences(ownerName).
AllNodes(false).
NodeName("").
@ -1097,6 +1109,7 @@ func TestControllerSyncPool(t *testing.T) {
},
expectedResourceSlices: []resourceapi.ResourceSlice{
*MakeResourceSlice().Name(resourceSlice1).GenerateName(generateName1).
ResourceVersion("0").
NodeOwnerReferences(ownerName, string(nodeUID)).NodeName(ownerName).
Driver(driverName).
Devices(func() []resourceapi.Device {
@ -1134,6 +1147,7 @@ func TestControllerSyncPool(t *testing.T) {
},
expectedResourceSlices: []resourceapi.ResourceSlice{
*MakeResourceSlice().Name(resourceSlice1).GenerateName(generateName1).
ResourceVersion("0").
NodeOwnerReferences(ownerName, string(nodeUID)).NodeName(ownerName).
Driver(driverName).
Devices([]resourceapi.Device{newDevice(deviceName)}).
@ -1308,14 +1322,17 @@ func TestControllerSyncPool(t *testing.T) {
},
expectedResourceSlices: []resourceapi.ResourceSlice{
*MakeResourceSlice().Name(resourceSlice1).GenerateName(generateName1).
ResourceVersion("0").
NodeOwnerReferences(ownerName, string(nodeUID)).NodeName(ownerName).
Driver(driverName).Devices([]resourceapi.Device{newDevice(deviceName1)}).
Pool(resourceapi.ResourcePool{Name: poolName, Generation: 2, ResourceSliceCount: 3}).Obj(),
*MakeResourceSlice().Name(resourceSlice2).GenerateName(generateName2).
ResourceVersion("0").
NodeOwnerReferences(ownerName, string(nodeUID)).NodeName(ownerName).
Driver(driverName).Devices([]resourceapi.Device{newDevice(deviceName2)}).
Pool(resourceapi.ResourcePool{Name: poolName, Generation: 2, ResourceSliceCount: 3}).Obj(),
*MakeResourceSlice().Name(resourceSlice3).GenerateName(generateName3).
ResourceVersion("0").
NodeOwnerReferences(ownerName, string(nodeUID)).NodeName(ownerName).
Driver(driverName).Devices([]resourceapi.Device{newDevice(deviceName3)}).
Pool(resourceapi.ResourcePool{Name: poolName, Generation: 2, ResourceSliceCount: 3}).Obj(),
@ -1355,6 +1372,7 @@ func TestControllerSyncPool(t *testing.T) {
},
expectedResourceSlices: []resourceapi.ResourceSlice{
*MakeResourceSlice().Name(generateName1+"0").GenerateName(generateName1).
ResourceVersion("0").
NodeOwnerReferences(ownerName, string(nodeUID)).NodeName(ownerName).
Driver(driverName).Devices([]resourceapi.Device{newDevice(deviceName1)}).
Pool(resourceapi.ResourcePool{Name: poolName, Generation: 2, ResourceSliceCount: 3}).Obj(),
@ -1363,6 +1381,7 @@ func TestControllerSyncPool(t *testing.T) {
Driver(driverName).Devices([]resourceapi.Device{newDevice(deviceName2)}).
Pool(resourceapi.ResourcePool{Name: poolName, Generation: 2, ResourceSliceCount: 3}).Obj(),
*MakeResourceSlice().Name(generateName3+"1").GenerateName(generateName3).
ResourceVersion("0").
NodeOwnerReferences(ownerName, string(nodeUID)).NodeName(ownerName).
Driver(driverName).Devices([]resourceapi.Device{newDevice(deviceName3)}).
Pool(resourceapi.ResourcePool{Name: poolName, Generation: 2, ResourceSliceCount: 3}).Obj(),
@ -1610,6 +1629,8 @@ func createResourceSliceCreateReactor(features features, timeAdded metav1.Time)
mutex.Lock()
defer mutex.Unlock()
resourceslice := action.(k8stesting.CreateAction).GetObject().(*resourceapi.ResourceSlice)
// Assign initial ResourceVersion "0" to newly created slices.
resourceslice.ResourceVersion = "0"
if resourceslice.Name == "" && resourceslice.GenerateName != "" {
resourceslice.Name = fmt.Sprintf("%s%d", resourceslice.GenerateName, nameCounter)
}
@ -1624,6 +1645,8 @@ func createResourceSliceCreateReactor(features features, timeAdded metav1.Time)
func createResourceSliceUpdateReactor(features features, timeAdded metav1.Time) func(action k8stesting.Action) (handled bool, ret runtime.Object, err error) {
return func(action k8stesting.Action) (handled bool, ret runtime.Object, err error) {
resourceslice := action.(k8stesting.UpdateAction).GetObject().(*resourceapi.ResourceSlice)
// If ResourceVersion is not set, assume the object started with version "0".
// This can happen when initial test objects don't have ResourceVersion assigned.
rev := 0
if resourceslice.ResourceVersion != "" {
oldRev, err := strconv.Atoi(resourceslice.ResourceVersion)