From cd4065d68084130f4431f38cf236ac2e00ea90ed Mon Sep 17 00:00:00 2001 From: "W. Trevor King" Date: Fri, 19 Aug 2022 08:16:08 -0700 Subject: [PATCH] lib/capability: Sort all slices after building them We'd already been sorting the two status properties before attaching them to ClusterVersion, but we also use some of the underlying data internally, e.g. in TestCVO_InitImplicitlyEnabledCaps. By sorting after we build each slice, we don't need to worry about slice-consumers being surprised by order instability. --- lib/capability/capability.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/capability/capability.go b/lib/capability/capability.go index 7eb466be8e..b18f7b42f0 100644 --- a/lib/capability/capability.go +++ b/lib/capability/capability.go @@ -79,6 +79,7 @@ func GetKnownCapabilities() []configv1.ClusterVersionCapability { for _, v := range configv1.ClusterVersionCapabilitySets { known = append(known, v...) } + sort.Sort(capabilitiesSort(known)) return known } @@ -115,6 +116,7 @@ func GetImplicitlyEnabledCapabilities(enabledManifestCaps []configv1.ClusterVers } } } + sort.Sort(capabilitiesSort(caps)) return caps } @@ -174,5 +176,6 @@ func setEnabledCapabilities(capabilitiesSpec *configv1.ClusterVersionCapabilitie enabled[k] = struct{}{} } } + sort.Sort(capabilitiesSort(implicitlyEnabled)) return enabled, implicitlyEnabled }