From cb120b63f74ef74e9151fb10ed784f6cbf03758a Mon Sep 17 00:00:00 2001 From: Patrick Ohly Date: Tue, 15 Aug 2023 09:55:57 +0200 Subject: [PATCH] api: change list type for node lists in PodSchedulingContext MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The "set" list type was chosen because it seemed appropriate (no duplicates!) but that made tracking of managed fields more expensive (each entry in the list is tracked, not the entire field) and for no good reason (one client is responsible for the entire list). Therefore the type gets changed to "atomic". Server-side-apply has not been used in the past and PodSchedulingContext objects are short-lived and still in alpha, so the any potential compatibility issues should be minor. The scheduling throughput in scheduler_perf increases: name old SchedulingThroughput/Average new SchedulingThroughput/Average PerfScheduling/SchedulingWithResourceClaimTemplate/2000pods_100nodes-36 18.8 ± 8% 24.0 ±37% PerfScheduling/SchedulingWithMultipleResourceClaims/2000pods_100nodes-36 13.7 ±81% 18.5 ±40% Kubernetes-commit: 5567f288e745db05d88fc60e15915f8b0d1f6c4b --- applyconfigurations/internal/internal.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/applyconfigurations/internal/internal.go b/applyconfigurations/internal/internal.go index 7330879f..39b847b5 100644 --- a/applyconfigurations/internal/internal.go +++ b/applyconfigurations/internal/internal.go @@ -11693,7 +11693,7 @@ var schemaYAML = typed.YAMLObject(`types: list: elementType: scalar: string - elementRelationship: associative + elementRelationship: atomic - name: selectedNode type: scalar: string @@ -11772,7 +11772,7 @@ var schemaYAML = typed.YAMLObject(`types: list: elementType: scalar: string - elementRelationship: associative + elementRelationship: atomic - name: io.k8s.api.resource.v1alpha2.ResourceClaimSpec map: fields: