From c4f02185e317dc1d81ed8da445694b0dbc912771 Mon Sep 17 00:00:00 2001 From: Nikhita Raghunath Date: Mon, 5 Feb 2018 15:04:29 +0530 Subject: [PATCH] core/v1 should be first in discovery order Currently, core/v1 is in the end of the discovery order. Since core/v1 is special, it should be in the beginning. Kubernetes-commit: 45950fdb750d7ac12cec3b9ef3487baa99a40401 --- discovery/discovery_client.go | 4 ++-- discovery/discovery_client_test.go | 15 +++++++++++++-- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/discovery/discovery_client.go b/discovery/discovery_client.go index 5490fb12..24c11f33 100644 --- a/discovery/discovery_client.go +++ b/discovery/discovery_client.go @@ -145,9 +145,9 @@ func (d *DiscoveryClient) ServerGroups() (apiGroupList *metav1.APIGroupList, err apiGroupList = &metav1.APIGroupList{} } - // append the group retrieved from /api to the list if not empty + // prepend the group retrieved from /api to the list if not empty if len(v.Versions) != 0 { - apiGroupList.Groups = append(apiGroupList.Groups, apiGroup) + apiGroupList.Groups = append([]metav1.APIGroup{apiGroup}, apiGroupList.Groups...) } return apiGroupList, nil } diff --git a/discovery/discovery_client_test.go b/discovery/discovery_client_test.go index 409add2b..64249c88 100644 --- a/discovery/discovery_client_test.go +++ b/discovery/discovery_client_test.go @@ -74,6 +74,17 @@ func TestGetServerGroupsWithV1Server(t *testing.T) { "v1", }, } + case "/apis": + obj = &metav1.APIGroupList{ + Groups: []metav1.APIGroup{ + { + Name: "extensions", + Versions: []metav1.GroupVersionForDiscovery{ + {GroupVersion: "extensions/v1beta1"}, + }, + }, + }, + } default: w.WriteHeader(http.StatusNotFound) return @@ -95,8 +106,8 @@ func TestGetServerGroupsWithV1Server(t *testing.T) { t.Fatalf("unexpected error: %v", err) } groupVersions := metav1.ExtractGroupVersions(apiGroupList) - if !reflect.DeepEqual(groupVersions, []string{"v1"}) { - t.Errorf("expected: %q, got: %q", []string{"v1"}, groupVersions) + if !reflect.DeepEqual(groupVersions, []string{"v1", "extensions/v1beta1"}) { + t.Errorf("expected: %q, got: %q", []string{"v1", "extensions/v1beta1"}, groupVersions) } }