Merge pull request #122434 from pohly/dra-e2e-per-node-resources

dra e2e: unify per-node resource specification
This commit is contained in:
Kubernetes Prow Robot 2023-12-21 15:03:49 +01:00 committed by GitHub
commit bfcf8d3966
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -48,12 +48,26 @@ const (
podStartTimeout = 5 * time.Minute
)
// networkResources can be passed to NewDriver directly.
func networkResources() app.Resources {
return app.Resources{
Shareable: true,
}
}
// perNode returns a function which can be passed to NewDriver. The nodes
// parameter has be instantiated, but not initialized yet, so the returned
// function has to capture it and use it when being called.
func perNode(maxAllocations int, nodes *Nodes) func() app.Resources {
return func() app.Resources {
return app.Resources{
NodeLocal: true,
MaxAllocations: maxAllocations,
Nodes: nodes.NodeNames,
}
}
}
var _ = framework.SIGDescribe("node")("DRA", feature.DynamicResourceAllocation, func() {
f := framework.NewDefaultFramework("dra")
@ -567,13 +581,7 @@ var _ = framework.SIGDescribe("node")("DRA", feature.DynamicResourceAllocation,
})
ginkgo.Context("with node-local resources", func() {
driver := NewDriver(f, nodes, func() app.Resources {
return app.Resources{
NodeLocal: true,
MaxAllocations: 1,
Nodes: nodes.NodeNames,
}
})
driver := NewDriver(f, nodes, perNode(1, nodes))
b := newBuilder(f, driver)
tests := func(allocationMode resourcev1alpha2.AllocationMode) {
@ -628,13 +636,7 @@ var _ = framework.SIGDescribe("node")("DRA", feature.DynamicResourceAllocation,
ginkgo.Context("reallocation", func() {
var allocateWrapper2 app.AllocateWrapperType
driver := NewDriver(f, nodes, func() app.Resources {
return app.Resources{
NodeLocal: true,
MaxAllocations: 1,
Nodes: nodes.NodeNames,
}
})
driver := NewDriver(f, nodes, perNode(1, nodes))
driver2 := NewDriver(f, nodes, func() app.Resources {
return app.Resources{
NodeLocal: true,
@ -765,24 +767,12 @@ var _ = framework.SIGDescribe("node")("DRA", feature.DynamicResourceAllocation,
multipleDrivers := func(nodeV1alpha2, nodeV1alpha3 bool) {
nodes := NewNodes(f, 1, 4)
driver1 := NewDriver(f, nodes, func() app.Resources {
return app.Resources{
NodeLocal: true,
MaxAllocations: 2,
Nodes: nodes.NodeNames,
}
})
driver1 := NewDriver(f, nodes, perNode(2, nodes))
driver1.NodeV1alpha2 = nodeV1alpha2
driver1.NodeV1alpha3 = nodeV1alpha3
b1 := newBuilder(f, driver1)
driver2 := NewDriver(f, nodes, func() app.Resources {
return app.Resources{
NodeLocal: true,
MaxAllocations: 2,
Nodes: nodes.NodeNames,
}
})
driver2 := NewDriver(f, nodes, perNode(2, nodes))
driver2.NameSuffix = "-other"
driver2.NodeV1alpha2 = nodeV1alpha2
driver2.NodeV1alpha3 = nodeV1alpha3