From f02c594955ac699676a0066653a7c928291c7917 Mon Sep 17 00:00:00 2001 From: Jefftree Date: Tue, 18 Jul 2023 18:24:56 +0000 Subject: [PATCH] Cleanup kubectl legacy server fallback Kubernetes-commit: d1946392528fe6e26886810e8240568fa19e82fe --- discovery/discovery_client.go | 11 +--- discovery/discovery_client_test.go | 88 ------------------------------ 2 files changed, 1 insertion(+), 98 deletions(-) diff --git a/discovery/discovery_client.go b/discovery/discovery_client.go index 18e84cfe..de10158c 100644 --- a/discovery/discovery_client.go +++ b/discovery/discovery_client.go @@ -648,16 +648,7 @@ func (d *DiscoveryClient) ServerVersion() (*version.Info, error) { func (d *DiscoveryClient) OpenAPISchema() (*openapi_v2.Document, error) { data, err := d.restClient.Get().AbsPath("/openapi/v2").SetHeader("Accept", openAPIV2mimePb).Do(context.TODO()).Raw() if err != nil { - if errors.IsForbidden(err) || errors.IsNotFound(err) || errors.IsNotAcceptable(err) { - // single endpoint not found/registered in old server, try to fetch old endpoint - // TODO: remove this when kubectl/client-go don't work with 1.9 server - data, err = d.restClient.Get().AbsPath("/swagger-2.0.0.pb-v1").Do(context.TODO()).Raw() - if err != nil { - return nil, err - } - } else { - return nil, err - } + return nil, err } document := &openapi_v2.Document{} err = proto.Unmarshal(data, document) diff --git a/discovery/discovery_client_test.go b/discovery/discovery_client_test.go index 2b009e38..db96ba3b 100644 --- a/discovery/discovery_client_test.go +++ b/discovery/discovery_client_test.go @@ -492,43 +492,6 @@ func returnedOpenAPI() *openapi_v2.Document { } } -func openapiSchemaDeprecatedFakeServer(status int, t *testing.T) (*httptest.Server, error) { - server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { - if req.URL.Path == "/openapi/v2" { - // write the error status for the new endpoint request - w.WriteHeader(status) - return - } - if req.URL.Path != "/swagger-2.0.0.pb-v1" { - errMsg := fmt.Sprintf("Unexpected url %v", req.URL) - w.WriteHeader(http.StatusNotFound) - w.Write([]byte(errMsg)) - t.Errorf("testing should fail as %s", errMsg) - return - } - if req.Method != "GET" { - errMsg := fmt.Sprintf("Unexpected method %v", req.Method) - w.WriteHeader(http.StatusMethodNotAllowed) - w.Write([]byte(errMsg)) - t.Errorf("testing should fail as %s", errMsg) - return - } - - output, err := proto.Marshal(returnedOpenAPI()) - if err != nil { - errMsg := fmt.Sprintf("Unexpected marshal error: %v", err) - w.WriteHeader(http.StatusInternalServerError) - w.Write([]byte(errMsg)) - t.Errorf("testing should fail as %s", errMsg) - return - } - w.WriteHeader(http.StatusOK) - w.Write(output) - })) - - return server, nil -} - func openapiSchemaFakeServer(t *testing.T) (*httptest.Server, error) { server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { if req.URL.Path != "/openapi/v2" { @@ -673,57 +636,6 @@ func TestGetOpenAPISchemaV3(t *testing.T) { } } -func TestGetOpenAPISchemaForbiddenFallback(t *testing.T) { - server, err := openapiSchemaDeprecatedFakeServer(http.StatusForbidden, t) - if err != nil { - t.Errorf("unexpected error starting fake server: %v", err) - } - defer server.Close() - - client := NewDiscoveryClientForConfigOrDie(&restclient.Config{Host: server.URL}) - got, err := client.OpenAPISchema() - if err != nil { - t.Fatalf("unexpected error getting openapi: %v", err) - } - if e, a := returnedOpenAPI(), got; !golangproto.Equal(e, a) { - t.Errorf("expected %v, got %v", e, a) - } -} - -func TestGetOpenAPISchemaNotFoundFallback(t *testing.T) { - server, err := openapiSchemaDeprecatedFakeServer(http.StatusNotFound, t) - if err != nil { - t.Errorf("unexpected error starting fake server: %v", err) - } - defer server.Close() - - client := NewDiscoveryClientForConfigOrDie(&restclient.Config{Host: server.URL}) - got, err := client.OpenAPISchema() - if err != nil { - t.Fatalf("unexpected error getting openapi: %v", err) - } - if e, a := returnedOpenAPI(), got; !golangproto.Equal(e, a) { - t.Errorf("expected %v, got %v", e, a) - } -} - -func TestGetOpenAPISchemaNotAcceptableFallback(t *testing.T) { - server, err := openapiSchemaDeprecatedFakeServer(http.StatusNotAcceptable, t) - if err != nil { - t.Errorf("unexpected error starting fake server: %v", err) - } - defer server.Close() - - client := NewDiscoveryClientForConfigOrDie(&restclient.Config{Host: server.URL}) - got, err := client.OpenAPISchema() - if err != nil { - t.Fatalf("unexpected error getting openapi: %v", err) - } - if e, a := returnedOpenAPI(), got; !golangproto.Equal(e, a) { - t.Errorf("expected %v, got %v", e, a) - } -} - func TestServerPreferredResources(t *testing.T) { stable := metav1.APIResourceList{ GroupVersion: "v1",