DRA: remove "sharable" from claim allocation result

Now all claims are shareable up to the limit imposed by the size of the
"reserverFor" array.

This is one of the agreed simplifications for 1.31.
This commit is contained in:
Patrick Ohly
2024-06-13 18:43:17 +02:00
parent de5742ae83
commit 8a629b9f15
30 changed files with 152 additions and 408 deletions

View File

@@ -1051,7 +1051,6 @@ func (pl *dynamicResources) lookupClassParameters(logger klog.Logger, class *res
func (pl *dynamicResources) lookupClaimParameters(logger klog.Logger, class *resourceapi.ResourceClass, claim *resourceapi.ResourceClaim) (*resourceapi.ResourceClaimParameters, *framework.Status) {
defaultClaimParameters := resourceapi.ResourceClaimParameters{
Shareable: true,
DriverRequests: []resourceapi.DriverRequests{
{
DriverName: class.DriverName,

View File

@@ -105,10 +105,6 @@ var (
UID(podUID).
PodResourceClaims(v1.PodResourceClaim{Name: resourceName, ResourceClaimName: &claimName}).
Obj()
otherPodWithClaimName = st.MakePod().Name(podName).Namespace(namespace).
UID(podUID + "-II").
PodResourceClaims(v1.PodResourceClaim{Name: resourceName, ResourceClaimName: &claimName}).
Obj()
podWithClaimTemplate = st.MakePod().Name(podName).Namespace(namespace).
UID(podUID).
PodResourceClaims(v1.PodResourceClaim{Name: resourceName, ResourceClaimTemplateName: &claimName}).
@@ -134,7 +130,6 @@ var (
claimParameters = st.MakeClaimParameters().Name(claimName).Namespace(namespace).
NamedResourcesRequests("some-driver", "true").
Shareable(true).
GeneratedFrom(&resourceapi.ResourceClaimParametersReference{
Name: claimName,
Kind: "ResourceClaimParameters",
@@ -143,7 +138,6 @@ var (
Obj()
claimParametersOtherNamespace = st.MakeClaimParameters().Name(claimName).Namespace(namespace+"-2").
NamedResourcesRequests("some-driver", "true").
Shareable(true).
GeneratedFrom(&resourceapi.ResourceClaimParametersReference{
Name: claimName,
Kind: "ResourceClaimParameters",
@@ -946,22 +940,6 @@ func TestPlugin(t *testing.T) {
},
},
},
"in-use-by-other": {
nodes: []*v1.Node{},
pod: otherPodWithClaimName,
claims: []*resourceapi.ResourceClaim{inUseClaim},
classes: []*resourceapi.ResourceClass{},
schedulings: []*resourceapi.PodSchedulingContext{},
prepare: prepare{},
want: want{
prefilter: result{
status: framework.NewStatus(framework.UnschedulableAndUnresolvable, `resourceclaim in use`),
},
postfilter: result{
status: framework.NewStatus(framework.Unschedulable, `no new claims to deallocate`),
},
},
},
"wrong-topology": {
// PostFilter tries to get the pod scheduleable by
// deallocating the claim.

View File

@@ -188,7 +188,6 @@ func (c claimController) nodeIsSuitable(ctx context.Context, nodeName string, re
func (c claimController) allocate(ctx context.Context, nodeName string, resources resources) (string, *resourceapi.AllocationResult, error) {
allocation := &resourceapi.AllocationResult{
Shareable: c.claimParameters.Shareable,
AvailableOnNodes: &v1.NodeSelector{
NodeSelectorTerms: []v1.NodeSelectorTerm{
{

View File

@@ -1003,7 +1003,6 @@ func (wrapper *ResourceClaimWrapper) Structured(nodeName string, namedResourcesI
resourceHandle.StructuredData.Results = append(resourceHandle.StructuredData.Results, result)
}
}
wrapper.ResourceClaim.Status.Allocation.Shareable = true
wrapper.ResourceClaim.Status.Allocation.AvailableOnNodes = &v1.NodeSelector{
NodeSelectorTerms: []v1.NodeSelectorTerm{{
MatchExpressions: []v1.NodeSelectorRequirement{{
@@ -1172,11 +1171,6 @@ func (wrapper *ClaimParametersWrapper) Namespace(s string) *ClaimParametersWrapp
return wrapper
}
func (wrapper *ClaimParametersWrapper) Shareable(value bool) *ClaimParametersWrapper {
wrapper.ResourceClaimParameters.Shareable = value
return wrapper
}
func (wrapper *ClaimParametersWrapper) GeneratedFrom(value *resourceapi.ResourceClaimParametersReference) *ClaimParametersWrapper {
wrapper.ResourceClaimParameters.GeneratedFrom = value
return wrapper