From de020ecb1cb10cc63c56e2693515a9c59a4b0af4 Mon Sep 17 00:00:00 2001 From: "Dr. Stefan Schimanski" Date: Thu, 22 Aug 2019 15:36:39 +0200 Subject: [PATCH] aggregator/apiextensions: v(2) log why OpenAPI spec is regenerated --- .../pkg/controller/openapi/controller.go | 2 ++ .../pkg/controllers/openapi/aggregator/BUILD | 1 + .../controllers/openapi/aggregator/aggregator.go | 15 ++++++++++++++- 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/staging/src/k8s.io/apiextensions-apiserver/pkg/controller/openapi/controller.go b/staging/src/k8s.io/apiextensions-apiserver/pkg/controller/openapi/controller.go index 4d54b411f3d..9ff5d4df7c0 100644 --- a/staging/src/k8s.io/apiextensions-apiserver/pkg/controller/openapi/controller.go +++ b/staging/src/k8s.io/apiextensions-apiserver/pkg/controller/openapi/controller.go @@ -168,6 +168,7 @@ func (c *Controller) sync(name string) error { return nil } delete(c.crdSpecs, name) + klog.V(2).Infof("Updating CRD OpenAPI spec because %s was removed", name) return c.updateSpecLocked() } @@ -183,6 +184,7 @@ func (c *Controller) sync(name string) error { // update specs of this CRD c.crdSpecs[crd.Name] = newSpecs + klog.V(2).Infof("Updating CRD OpenAPI spec because %s changed", name) return c.updateSpecLocked() } diff --git a/staging/src/k8s.io/kube-aggregator/pkg/controllers/openapi/aggregator/BUILD b/staging/src/k8s.io/kube-aggregator/pkg/controllers/openapi/aggregator/BUILD index df9ed4ded05..12f8444658a 100644 --- a/staging/src/k8s.io/kube-aggregator/pkg/controllers/openapi/aggregator/BUILD +++ b/staging/src/k8s.io/kube-aggregator/pkg/controllers/openapi/aggregator/BUILD @@ -17,6 +17,7 @@ go_library( "//staging/src/k8s.io/kube-aggregator/pkg/apis/apiregistration/v1:go_default_library", "//vendor/github.com/emicklei/go-restful:go_default_library", "//vendor/github.com/go-openapi/spec:go_default_library", + "//vendor/k8s.io/klog:go_default_library", "//vendor/k8s.io/kube-openapi/pkg/aggregator:go_default_library", "//vendor/k8s.io/kube-openapi/pkg/builder:go_default_library", "//vendor/k8s.io/kube-openapi/pkg/common:go_default_library", diff --git a/staging/src/k8s.io/kube-aggregator/pkg/controllers/openapi/aggregator/aggregator.go b/staging/src/k8s.io/kube-aggregator/pkg/controllers/openapi/aggregator/aggregator.go index 5edc223a6a6..8cf12d9aae6 100644 --- a/staging/src/k8s.io/kube-aggregator/pkg/controllers/openapi/aggregator/aggregator.go +++ b/staging/src/k8s.io/kube-aggregator/pkg/controllers/openapi/aggregator/aggregator.go @@ -25,9 +25,10 @@ import ( restful "github.com/emicklei/go-restful" "github.com/go-openapi/spec" + "k8s.io/klog" "k8s.io/apiserver/pkg/server" - "k8s.io/kube-aggregator/pkg/apis/apiregistration/v1" + v1 "k8s.io/kube-aggregator/pkg/apis/apiregistration/v1" "k8s.io/kube-openapi/pkg/aggregator" "k8s.io/kube-openapi/pkg/builder" "k8s.io/kube-openapi/pkg/common" @@ -104,6 +105,10 @@ func BuildAndRegisterAggregator(downloader *Downloader, delegationTarget server. } // Build initial spec to serve. + klog.V(2).Infof("Building initial OpenAPI spec") + defer func(start time.Time) { + klog.V(2).Infof("Finished initial OpenAPI spec generation after %v", time.Now().Sub(start)) + }(time.Now()) specToServe, err := s.buildOpenAPISpec() if err != nil { return nil, err @@ -209,6 +214,10 @@ func (s *specAggregator) tryUpdatingServiceSpecs(specInfo *openAPISpecInfo) erro if existedBefore && origSpecInfo != nil && origSpecInfo.etag == specInfo.etag { return nil } + klog.V(2).Infof("Updating OpenAPI spec because %s is updated", specInfo.apiService.Name) + defer func(start time.Time) { + klog.V(2).Infof("Finished OpenAPI spec generation after %v", time.Now().Sub(start)) + }(time.Now()) if err := s.updateOpenAPISpec(); err != nil { if existedBefore { s.openAPISpecs[specInfo.apiService.Name] = origSpecInfo @@ -228,6 +237,10 @@ func (s *specAggregator) tryDeleteServiceSpecs(apiServiceName string) error { return nil } delete(s.openAPISpecs, apiServiceName) + klog.V(2).Infof("Updating OpenAPI spec because %s is removed", apiServiceName) + defer func(start time.Time) { + klog.V(2).Infof("Finished OpenAPI spec generation after %v", time.Now().Sub(start)) + }(time.Now()) if err := s.updateOpenAPISpec(); err != nil { s.openAPISpecs[apiServiceName] = orgSpecInfo return err