From a84db7e9de80c224681c9f5b6c9a0680b4c9482c Mon Sep 17 00:00:00 2001 From: David Eads Date: Mon, 8 Jul 2019 12:06:44 -0400 Subject: [PATCH] apiaggregation available controller should only hit required endpoint --- .../pkg/controllers/status/available_controller.go | 2 ++ .../pkg/controllers/status/available_controller_test.go | 2 ++ 2 files changed, 4 insertions(+) diff --git a/staging/src/k8s.io/kube-aggregator/pkg/controllers/status/available_controller.go b/staging/src/k8s.io/kube-aggregator/pkg/controllers/status/available_controller.go index 4c3995e6b93..a5ee6021216 100644 --- a/staging/src/k8s.io/kube-aggregator/pkg/controllers/status/available_controller.go +++ b/staging/src/k8s.io/kube-aggregator/pkg/controllers/status/available_controller.go @@ -261,9 +261,11 @@ func (c *AvailableConditionController) sync(key string) error { results <- err return } + discoveryURL.Path = "/apis/" + apiService.Spec.Group + "/" + apiService.Spec.Version errCh := make(chan error) go func() { + // be sure to check a URL that the aggregated API server is required to serve newReq, err := http.NewRequest("GET", discoveryURL.String(), nil) if err != nil { errCh <- err diff --git a/staging/src/k8s.io/kube-aggregator/pkg/controllers/status/available_controller_test.go b/staging/src/k8s.io/kube-aggregator/pkg/controllers/status/available_controller_test.go index e919d317816..e6048fce364 100644 --- a/staging/src/k8s.io/kube-aggregator/pkg/controllers/status/available_controller_test.go +++ b/staging/src/k8s.io/kube-aggregator/pkg/controllers/status/available_controller_test.go @@ -90,6 +90,8 @@ func newRemoteAPIService(name string) *apiregistration.APIService { return &apiregistration.APIService{ ObjectMeta: metav1.ObjectMeta{Name: name}, Spec: apiregistration.APIServiceSpec{ + Group: strings.SplitN(name, ".", 2)[0], + Version: strings.SplitN(name, ".", 2)[1], Service: &apiregistration.ServiceReference{ Namespace: "foo", Name: "bar",