From c1487840bc77ffbf4fbbcc84a2c0263c84fd74fe Mon Sep 17 00:00:00 2001 From: Yassine TIJANI Date: Thu, 22 Aug 2019 18:40:21 +0100 Subject: [PATCH] move util/metrics to component-base Signed-off-by: Yassine TIJANI --- cmd/kube-controller-manager/app/BUILD | 2 +- cmd/kube-controller-manager/app/core.go | 4 +- cmd/kubeadm/.import-restrictions | 1 - pkg/controller/.import-restrictions | 1 - pkg/controller/bootstrap/BUILD | 2 +- pkg/controller/bootstrap/bootstrapsigner.go | 4 +- pkg/controller/bootstrap/tokencleaner.go | 4 +- .../certificates/rootcacertpublisher/BUILD | 30 +++++++-------- .../rootcacertpublisher/publisher.go | 4 +- pkg/controller/cronjob/BUILD | 2 +- pkg/controller/cronjob/cronjob_controller.go | 4 +- pkg/controller/daemon/BUILD | 2 +- pkg/controller/daemon/daemon_controller.go | 4 +- pkg/controller/deployment/BUILD | 2 +- .../deployment/deployment_controller.go | 4 +- pkg/controller/endpoint/BUILD | 2 +- .../endpoint/endpoints_controller.go | 4 +- pkg/controller/endpointslice/BUILD | 2 +- .../endpointslice/endpointslice_controller.go | 4 +- pkg/controller/job/BUILD | 2 +- pkg/controller/job/job_controller.go | 4 +- pkg/controller/namespace/BUILD | 11 ++---- .../namespace/namespace_controller.go | 4 +- pkg/controller/nodeipam/BUILD | 2 +- .../nodeipam/node_ipam_controller.go | 4 +- pkg/controller/nodelifecycle/BUILD | 38 +++++++++---------- .../node_lifecycle_controller.go | 4 +- pkg/controller/podgc/BUILD | 12 ++---- pkg/controller/podgc/gc_controller.go | 4 +- pkg/controller/replicaset/BUILD | 2 +- pkg/controller/replicaset/replica_set.go | 4 +- pkg/controller/route/BUILD | 12 ++---- pkg/controller/route/route_controller.go | 4 +- pkg/controller/service/BUILD | 12 ++---- pkg/controller/service/service_controller.go | 4 +- pkg/controller/serviceaccount/BUILD | 2 +- .../serviceaccounts_controller.go | 4 +- .../serviceaccount/tokens_controller.go | 4 +- pkg/controller/ttlafterfinished/BUILD | 2 +- .../ttlafterfinished_controller.go | 4 +- pkg/controller/volume/pvcprotection/BUILD | 2 +- .../pvc_protection_controller.go | 4 +- pkg/controller/volume/pvprotection/BUILD | 2 +- .../pvprotection/pv_protection_controller.go | 4 +- pkg/util/BUILD | 1 - .../src/k8s.io/component-base/metrics/BUILD | 12 ++---- .../metrics/prometheus/ratelimiter}/BUILD | 21 ++++------ .../metrics/prometheus/ratelimiter}/OWNERS | 2 +- .../prometheus/ratelimiter/rate_limiter.go | 2 +- .../ratelimiter/rate_limiter_test.go | 2 +- test/e2e/framework/.import-restrictions | 1 - vendor/modules.txt | 1 + 52 files changed, 124 insertions(+), 151 deletions(-) rename {pkg/util/metrics => staging/src/k8s.io/component-base/metrics/prometheus/ratelimiter}/BUILD (56%) rename {pkg/util/metrics => staging/src/k8s.io/component-base/metrics/prometheus/ratelimiter}/OWNERS (86%) rename pkg/util/metrics/util.go => staging/src/k8s.io/component-base/metrics/prometheus/ratelimiter/rate_limiter.go (99%) rename pkg/util/metrics/util_test.go => staging/src/k8s.io/component-base/metrics/prometheus/ratelimiter/rate_limiter_test.go (98%) diff --git a/cmd/kube-controller-manager/app/BUILD b/cmd/kube-controller-manager/app/BUILD index 8ee0819ce86..ad6eaa9d09e 100644 --- a/cmd/kube-controller-manager/app/BUILD +++ b/cmd/kube-controller-manager/app/BUILD @@ -86,7 +86,6 @@ go_library( "//pkg/serviceaccount:go_default_library", "//pkg/util/configz:go_default_library", "//pkg/util/flag:go_default_library", - "//pkg/util/metrics:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/awsebs:go_default_library", "//pkg/volume/azure_dd:go_default_library", @@ -139,6 +138,7 @@ go_library( "//staging/src/k8s.io/cloud-provider:go_default_library", "//staging/src/k8s.io/component-base/cli/flag:go_default_library", "//staging/src/k8s.io/component-base/cli/globalflag:go_default_library", + "//staging/src/k8s.io/component-base/metrics/prometheus/ratelimiter:go_default_library", "//staging/src/k8s.io/component-base/version:go_default_library", "//staging/src/k8s.io/component-base/version/verflag:go_default_library", "//staging/src/k8s.io/csi-translation-lib:go_default_library", diff --git a/cmd/kube-controller-manager/app/core.go b/cmd/kube-controller-manager/app/core.go index a172716f74a..513c61371e7 100644 --- a/cmd/kube-controller-manager/app/core.go +++ b/cmd/kube-controller-manager/app/core.go @@ -36,6 +36,7 @@ import ( clientset "k8s.io/client-go/kubernetes" "k8s.io/client-go/metadata" restclient "k8s.io/client-go/rest" + "k8s.io/component-base/metrics/prometheus/ratelimiter" csitrans "k8s.io/csi-translation-lib" "k8s.io/kubernetes/pkg/controller" cloudcontroller "k8s.io/kubernetes/pkg/controller/cloud" @@ -62,7 +63,6 @@ import ( kubefeatures "k8s.io/kubernetes/pkg/features" "k8s.io/kubernetes/pkg/quota/v1/generic" quotainstall "k8s.io/kubernetes/pkg/quota/v1/install" - "k8s.io/kubernetes/pkg/util/metrics" netutils "k8s.io/utils/net" ) @@ -370,7 +370,7 @@ func startResourceQuotaController(ctx ControllerContext) (http.Handler, bool, er Registry: generic.NewRegistry(quotaConfiguration.Evaluators()), } if resourceQuotaControllerClient.CoreV1().RESTClient().GetRateLimiter() != nil { - if err := metrics.RegisterMetricAndTrackRateLimiterUsage("resource_quota_controller", resourceQuotaControllerClient.CoreV1().RESTClient().GetRateLimiter()); err != nil { + if err := ratelimiter.RegisterMetricAndTrackRateLimiterUsage("resource_quota_controller", resourceQuotaControllerClient.CoreV1().RESTClient().GetRateLimiter()); err != nil { return nil, true, err } } diff --git a/cmd/kubeadm/.import-restrictions b/cmd/kubeadm/.import-restrictions index e9319a5006e..b0f05ef9a01 100644 --- a/cmd/kubeadm/.import-restrictions +++ b/cmd/kubeadm/.import-restrictions @@ -77,7 +77,6 @@ "k8s.io/kubernetes/pkg/util/conntrack", "k8s.io/kubernetes/pkg/util/hash", "k8s.io/kubernetes/pkg/util/iptables", - "k8s.io/kubernetes/pkg/util/metrics", "k8s.io/kubernetes/pkg/util/parsers", "k8s.io/kubernetes/pkg/util/sysctl", "k8s.io/kubernetes/pkg/util/taints" diff --git a/pkg/controller/.import-restrictions b/pkg/controller/.import-restrictions index 896a720510c..ce266e5938c 100644 --- a/pkg/controller/.import-restrictions +++ b/pkg/controller/.import-restrictions @@ -244,7 +244,6 @@ "k8s.io/kubernetes/pkg/util/goroutinemap/exponentialbackoff", "k8s.io/kubernetes/pkg/util/hash", "k8s.io/kubernetes/pkg/util/labels", - "k8s.io/kubernetes/pkg/util/metrics", "k8s.io/kubernetes/pkg/util/mount", "k8s.io/kubernetes/pkg/util/node", "k8s.io/kubernetes/pkg/util/slice", diff --git a/pkg/controller/bootstrap/BUILD b/pkg/controller/bootstrap/BUILD index feda43b54ae..05eca5d130e 100644 --- a/pkg/controller/bootstrap/BUILD +++ b/pkg/controller/bootstrap/BUILD @@ -13,7 +13,6 @@ go_library( deps = [ "//pkg/apis/core:go_default_library", "//pkg/controller:go_default_library", - "//pkg/util/metrics:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", @@ -28,6 +27,7 @@ go_library( "//staging/src/k8s.io/cluster-bootstrap/token/api:go_default_library", "//staging/src/k8s.io/cluster-bootstrap/token/jws:go_default_library", "//staging/src/k8s.io/cluster-bootstrap/util/secrets:go_default_library", + "//staging/src/k8s.io/component-base/metrics/prometheus/ratelimiter:go_default_library", "//vendor/k8s.io/klog:go_default_library", ], ) diff --git a/pkg/controller/bootstrap/bootstrapsigner.go b/pkg/controller/bootstrap/bootstrapsigner.go index 2ea987f76fb..38e1313faf7 100644 --- a/pkg/controller/bootstrap/bootstrapsigner.go +++ b/pkg/controller/bootstrap/bootstrapsigner.go @@ -36,8 +36,8 @@ import ( "k8s.io/client-go/util/workqueue" bootstrapapi "k8s.io/cluster-bootstrap/token/api" jws "k8s.io/cluster-bootstrap/token/jws" + "k8s.io/component-base/metrics/prometheus/ratelimiter" api "k8s.io/kubernetes/pkg/apis/core" - "k8s.io/kubernetes/pkg/util/metrics" ) // SignerOptions contains options for the Signer @@ -105,7 +105,7 @@ func NewSigner(cl clientset.Interface, secrets informers.SecretInformer, configM syncQueue: workqueue.NewNamedRateLimitingQueue(workqueue.DefaultControllerRateLimiter(), "bootstrap_signer_queue"), } if cl.CoreV1().RESTClient().GetRateLimiter() != nil { - if err := metrics.RegisterMetricAndTrackRateLimiterUsage("bootstrap_signer", cl.CoreV1().RESTClient().GetRateLimiter()); err != nil { + if err := ratelimiter.RegisterMetricAndTrackRateLimiterUsage("bootstrap_signer", cl.CoreV1().RESTClient().GetRateLimiter()); err != nil { return nil, err } } diff --git a/pkg/controller/bootstrap/tokencleaner.go b/pkg/controller/bootstrap/tokencleaner.go index 48998dca175..b89f48348f7 100644 --- a/pkg/controller/bootstrap/tokencleaner.go +++ b/pkg/controller/bootstrap/tokencleaner.go @@ -32,10 +32,10 @@ import ( "k8s.io/client-go/util/workqueue" bootstrapapi "k8s.io/cluster-bootstrap/token/api" bootstrapsecretutil "k8s.io/cluster-bootstrap/util/secrets" + "k8s.io/component-base/metrics/prometheus/ratelimiter" "k8s.io/klog" api "k8s.io/kubernetes/pkg/apis/core" "k8s.io/kubernetes/pkg/controller" - "k8s.io/kubernetes/pkg/util/metrics" ) // TokenCleanerOptions contains options for the TokenCleaner @@ -82,7 +82,7 @@ func NewTokenCleaner(cl clientset.Interface, secrets coreinformers.SecretInforme } if cl.CoreV1().RESTClient().GetRateLimiter() != nil { - if err := metrics.RegisterMetricAndTrackRateLimiterUsage("token_cleaner", cl.CoreV1().RESTClient().GetRateLimiter()); err != nil { + if err := ratelimiter.RegisterMetricAndTrackRateLimiterUsage("token_cleaner", cl.CoreV1().RESTClient().GetRateLimiter()); err != nil { return nil, err } } diff --git a/pkg/controller/certificates/rootcacertpublisher/BUILD b/pkg/controller/certificates/rootcacertpublisher/BUILD index 0e608bf9ed8..b61759c2338 100644 --- a/pkg/controller/certificates/rootcacertpublisher/BUILD +++ b/pkg/controller/certificates/rootcacertpublisher/BUILD @@ -6,7 +6,6 @@ go_library( importpath = "k8s.io/kubernetes/pkg/controller/certificates/rootcacertpublisher", visibility = ["//visibility:public"], deps = [ - "//pkg/util/metrics:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", @@ -17,10 +16,25 @@ go_library( "//staging/src/k8s.io/client-go/listers/core/v1:go_default_library", "//staging/src/k8s.io/client-go/tools/cache:go_default_library", "//staging/src/k8s.io/client-go/util/workqueue:go_default_library", + "//staging/src/k8s.io/component-base/metrics/prometheus/ratelimiter:go_default_library", "//vendor/k8s.io/klog:go_default_library", ], ) +go_test( + name = "go_default_test", + srcs = ["publisher_test.go"], + embed = [":go_default_library"], + deps = [ + "//pkg/controller:go_default_library", + "//staging/src/k8s.io/api/core/v1:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/util/diff:go_default_library", + "//staging/src/k8s.io/client-go/informers:go_default_library", + "//staging/src/k8s.io/client-go/kubernetes/fake:go_default_library", + ], +) + filegroup( name = "package-srcs", srcs = glob(["**"]), @@ -34,17 +48,3 @@ filegroup( tags = ["automanaged"], visibility = ["//visibility:public"], ) - -go_test( - name = "go_default_test", - srcs = ["publisher_test.go"], - embed = [":go_default_library"], - deps = [ - "//pkg/controller:go_default_library", - "//staging/src/k8s.io/api/core/v1:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/util/diff:go_default_library", - "//staging/src/k8s.io/client-go/informers:go_default_library", - "//staging/src/k8s.io/client-go/kubernetes/fake:go_default_library", - ], -) diff --git a/pkg/controller/certificates/rootcacertpublisher/publisher.go b/pkg/controller/certificates/rootcacertpublisher/publisher.go index d4c6cc84cb8..33cb5e8dc0e 100644 --- a/pkg/controller/certificates/rootcacertpublisher/publisher.go +++ b/pkg/controller/certificates/rootcacertpublisher/publisher.go @@ -31,8 +31,8 @@ import ( corelisters "k8s.io/client-go/listers/core/v1" "k8s.io/client-go/tools/cache" "k8s.io/client-go/util/workqueue" + "k8s.io/component-base/metrics/prometheus/ratelimiter" "k8s.io/klog" - "k8s.io/kubernetes/pkg/util/metrics" ) // RootCACertConfigMapName is name of the configmap which stores certificates @@ -49,7 +49,7 @@ func NewPublisher(cmInformer coreinformers.ConfigMapInformer, nsInformer coreinf queue: workqueue.NewNamedRateLimitingQueue(workqueue.DefaultControllerRateLimiter(), "root_ca_cert_publisher"), } if cl.CoreV1().RESTClient().GetRateLimiter() != nil { - if err := metrics.RegisterMetricAndTrackRateLimiterUsage("root_ca_cert_publisher", cl.CoreV1().RESTClient().GetRateLimiter()); err != nil { + if err := ratelimiter.RegisterMetricAndTrackRateLimiterUsage("root_ca_cert_publisher", cl.CoreV1().RESTClient().GetRateLimiter()); err != nil { return nil, err } } diff --git a/pkg/controller/cronjob/BUILD b/pkg/controller/cronjob/BUILD index 838132f08ca..7f6c6269f11 100644 --- a/pkg/controller/cronjob/BUILD +++ b/pkg/controller/cronjob/BUILD @@ -17,7 +17,6 @@ go_library( importpath = "k8s.io/kubernetes/pkg/controller/cronjob", deps = [ "//pkg/api/legacyscheme:go_default_library", - "//pkg/util/metrics:go_default_library", "//staging/src/k8s.io/api/batch/v1:go_default_library", "//staging/src/k8s.io/api/batch/v1beta1:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", @@ -33,6 +32,7 @@ go_library( "//staging/src/k8s.io/client-go/tools/pager:go_default_library", "//staging/src/k8s.io/client-go/tools/record:go_default_library", "//staging/src/k8s.io/client-go/tools/reference:go_default_library", + "//staging/src/k8s.io/component-base/metrics/prometheus/ratelimiter:go_default_library", "//vendor/github.com/robfig/cron:go_default_library", "//vendor/k8s.io/klog:go_default_library", ], diff --git a/pkg/controller/cronjob/cronjob_controller.go b/pkg/controller/cronjob/cronjob_controller.go index 060e7d56a70..755d5ef9b58 100644 --- a/pkg/controller/cronjob/cronjob_controller.go +++ b/pkg/controller/cronjob/cronjob_controller.go @@ -50,7 +50,7 @@ import ( "k8s.io/client-go/tools/pager" "k8s.io/client-go/tools/record" ref "k8s.io/client-go/tools/reference" - "k8s.io/kubernetes/pkg/util/metrics" + "k8s.io/component-base/metrics/prometheus/ratelimiter" ) // Utilities for dealing with Jobs and CronJobs and time. @@ -74,7 +74,7 @@ func NewController(kubeClient clientset.Interface) (*Controller, error) { eventBroadcaster.StartRecordingToSink(&v1core.EventSinkImpl{Interface: kubeClient.CoreV1().Events("")}) if kubeClient != nil && kubeClient.CoreV1().RESTClient().GetRateLimiter() != nil { - if err := metrics.RegisterMetricAndTrackRateLimiterUsage("cronjob_controller", kubeClient.CoreV1().RESTClient().GetRateLimiter()); err != nil { + if err := ratelimiter.RegisterMetricAndTrackRateLimiterUsage("cronjob_controller", kubeClient.CoreV1().RESTClient().GetRateLimiter()); err != nil { return nil, err } } diff --git a/pkg/controller/daemon/BUILD b/pkg/controller/daemon/BUILD index 0b32d734c9e..3ca274c7240 100644 --- a/pkg/controller/daemon/BUILD +++ b/pkg/controller/daemon/BUILD @@ -23,7 +23,6 @@ go_library( "//pkg/scheduler/algorithm/predicates:go_default_library", "//pkg/scheduler/nodeinfo:go_default_library", "//pkg/util/labels:go_default_library", - "//pkg/util/metrics:go_default_library", "//staging/src/k8s.io/api/apps/v1:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/api/equality:go_default_library", @@ -50,6 +49,7 @@ go_library( "//staging/src/k8s.io/client-go/tools/record:go_default_library", "//staging/src/k8s.io/client-go/util/flowcontrol:go_default_library", "//staging/src/k8s.io/client-go/util/workqueue:go_default_library", + "//staging/src/k8s.io/component-base/metrics/prometheus/ratelimiter:go_default_library", "//vendor/k8s.io/klog:go_default_library", "//vendor/k8s.io/utils/integer:go_default_library", ], diff --git a/pkg/controller/daemon/daemon_controller.go b/pkg/controller/daemon/daemon_controller.go index b10b5c3e6f1..bac4ddc4c20 100644 --- a/pkg/controller/daemon/daemon_controller.go +++ b/pkg/controller/daemon/daemon_controller.go @@ -48,6 +48,7 @@ import ( "k8s.io/client-go/tools/record" "k8s.io/client-go/util/flowcontrol" "k8s.io/client-go/util/workqueue" + "k8s.io/component-base/metrics/prometheus/ratelimiter" podutil "k8s.io/kubernetes/pkg/api/v1/pod" "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/controller/daemon/util" @@ -55,7 +56,6 @@ import ( kubelettypes "k8s.io/kubernetes/pkg/kubelet/types" "k8s.io/kubernetes/pkg/scheduler/algorithm/predicates" schedulernodeinfo "k8s.io/kubernetes/pkg/scheduler/nodeinfo" - "k8s.io/kubernetes/pkg/util/metrics" "k8s.io/utils/integer" ) @@ -151,7 +151,7 @@ func NewDaemonSetsController( eventBroadcaster.StartRecordingToSink(&v1core.EventSinkImpl{Interface: kubeClient.CoreV1().Events("")}) if kubeClient != nil && kubeClient.CoreV1().RESTClient().GetRateLimiter() != nil { - if err := metrics.RegisterMetricAndTrackRateLimiterUsage("daemon_controller", kubeClient.CoreV1().RESTClient().GetRateLimiter()); err != nil { + if err := ratelimiter.RegisterMetricAndTrackRateLimiterUsage("daemon_controller", kubeClient.CoreV1().RESTClient().GetRateLimiter()); err != nil { return nil, err } } diff --git a/pkg/controller/deployment/BUILD b/pkg/controller/deployment/BUILD index 083e2390c02..5e858360b51 100644 --- a/pkg/controller/deployment/BUILD +++ b/pkg/controller/deployment/BUILD @@ -21,7 +21,6 @@ go_library( "//pkg/controller:go_default_library", "//pkg/controller/deployment/util:go_default_library", "//pkg/util/labels:go_default_library", - "//pkg/util/metrics:go_default_library", "//staging/src/k8s.io/api/apps/v1:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", "//staging/src/k8s.io/api/extensions/v1beta1:go_default_library", @@ -41,6 +40,7 @@ go_library( "//staging/src/k8s.io/client-go/tools/cache:go_default_library", "//staging/src/k8s.io/client-go/tools/record:go_default_library", "//staging/src/k8s.io/client-go/util/workqueue:go_default_library", + "//staging/src/k8s.io/component-base/metrics/prometheus/ratelimiter:go_default_library", "//vendor/k8s.io/klog:go_default_library", "//vendor/k8s.io/utils/integer:go_default_library", ], diff --git a/pkg/controller/deployment/deployment_controller.go b/pkg/controller/deployment/deployment_controller.go index 3e92dbc4302..b04ded1b288 100644 --- a/pkg/controller/deployment/deployment_controller.go +++ b/pkg/controller/deployment/deployment_controller.go @@ -45,9 +45,9 @@ import ( "k8s.io/client-go/tools/cache" "k8s.io/client-go/tools/record" "k8s.io/client-go/util/workqueue" + "k8s.io/component-base/metrics/prometheus/ratelimiter" "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/controller/deployment/util" - "k8s.io/kubernetes/pkg/util/metrics" ) const ( @@ -103,7 +103,7 @@ func NewDeploymentController(dInformer appsinformers.DeploymentInformer, rsInfor eventBroadcaster.StartRecordingToSink(&v1core.EventSinkImpl{Interface: client.CoreV1().Events("")}) if client != nil && client.CoreV1().RESTClient().GetRateLimiter() != nil { - if err := metrics.RegisterMetricAndTrackRateLimiterUsage("deployment_controller", client.CoreV1().RESTClient().GetRateLimiter()); err != nil { + if err := ratelimiter.RegisterMetricAndTrackRateLimiterUsage("deployment_controller", client.CoreV1().RESTClient().GetRateLimiter()); err != nil { return nil, err } } diff --git a/pkg/controller/endpoint/BUILD b/pkg/controller/endpoint/BUILD index 96355148f78..e3c1ea4f0b6 100644 --- a/pkg/controller/endpoint/BUILD +++ b/pkg/controller/endpoint/BUILD @@ -16,7 +16,6 @@ go_library( "//pkg/controller:go_default_library", "//pkg/controller/util/endpoint:go_default_library", "//pkg/features:go_default_library", - "//pkg/util/metrics:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/api/equality:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library", @@ -35,6 +34,7 @@ go_library( "//staging/src/k8s.io/client-go/tools/leaderelection/resourcelock:go_default_library", "//staging/src/k8s.io/client-go/tools/record:go_default_library", "//staging/src/k8s.io/client-go/util/workqueue:go_default_library", + "//staging/src/k8s.io/component-base/metrics/prometheus/ratelimiter:go_default_library", "//vendor/k8s.io/klog:go_default_library", "//vendor/k8s.io/utils/net:go_default_library", ], diff --git a/pkg/controller/endpoint/endpoints_controller.go b/pkg/controller/endpoint/endpoints_controller.go index 165585754be..4e9614426ea 100644 --- a/pkg/controller/endpoint/endpoints_controller.go +++ b/pkg/controller/endpoint/endpoints_controller.go @@ -39,6 +39,7 @@ import ( "k8s.io/client-go/tools/leaderelection/resourcelock" "k8s.io/client-go/tools/record" "k8s.io/client-go/util/workqueue" + "k8s.io/component-base/metrics/prometheus/ratelimiter" "k8s.io/klog" "k8s.io/kubernetes/pkg/api/v1/endpoints" podutil "k8s.io/kubernetes/pkg/api/v1/pod" @@ -46,7 +47,6 @@ import ( helper "k8s.io/kubernetes/pkg/apis/core/v1/helper" "k8s.io/kubernetes/pkg/controller" endpointutil "k8s.io/kubernetes/pkg/controller/util/endpoint" - "k8s.io/kubernetes/pkg/util/metrics" utilfeature "k8s.io/apiserver/pkg/util/feature" "k8s.io/kubernetes/pkg/features" @@ -85,7 +85,7 @@ func NewEndpointController(podInformer coreinformers.PodInformer, serviceInforme recorder := broadcaster.NewRecorder(scheme.Scheme, v1.EventSource{Component: "endpoint-controller"}) if client != nil && client.CoreV1().RESTClient().GetRateLimiter() != nil { - metrics.RegisterMetricAndTrackRateLimiterUsage("endpoint_controller", client.CoreV1().RESTClient().GetRateLimiter()) + ratelimiter.RegisterMetricAndTrackRateLimiterUsage("endpoint_controller", client.CoreV1().RESTClient().GetRateLimiter()) } e := &EndpointController{ client: client, diff --git a/pkg/controller/endpointslice/BUILD b/pkg/controller/endpointslice/BUILD index 16ea4d62af8..ebc614d6879 100644 --- a/pkg/controller/endpointslice/BUILD +++ b/pkg/controller/endpointslice/BUILD @@ -17,7 +17,6 @@ go_library( "//pkg/controller:go_default_library", "//pkg/controller/util/endpoint:go_default_library", "//pkg/util/hash:go_default_library", - "//pkg/util/metrics:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", "//staging/src/k8s.io/api/discovery/v1alpha1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/api/equality:go_default_library", @@ -39,6 +38,7 @@ go_library( "//staging/src/k8s.io/client-go/tools/cache:go_default_library", "//staging/src/k8s.io/client-go/tools/record:go_default_library", "//staging/src/k8s.io/client-go/util/workqueue:go_default_library", + "//staging/src/k8s.io/component-base/metrics/prometheus/ratelimiter:go_default_library", "//vendor/k8s.io/klog:go_default_library", ], ) diff --git a/pkg/controller/endpointslice/endpointslice_controller.go b/pkg/controller/endpointslice/endpointslice_controller.go index e956530dcd3..978057f2824 100644 --- a/pkg/controller/endpointslice/endpointslice_controller.go +++ b/pkg/controller/endpointslice/endpointslice_controller.go @@ -36,10 +36,10 @@ import ( "k8s.io/client-go/tools/cache" "k8s.io/client-go/tools/record" "k8s.io/client-go/util/workqueue" + "k8s.io/component-base/metrics/prometheus/ratelimiter" "k8s.io/klog" "k8s.io/kubernetes/pkg/controller" endpointutil "k8s.io/kubernetes/pkg/controller/util/endpoint" - "k8s.io/kubernetes/pkg/util/metrics" ) const ( @@ -69,7 +69,7 @@ func NewController(podInformer coreinformers.PodInformer, recorder := broadcaster.NewRecorder(scheme.Scheme, v1.EventSource{Component: "endpoint-slice-controller"}) if client != nil && client.CoreV1().RESTClient().GetRateLimiter() != nil { - metrics.RegisterMetricAndTrackRateLimiterUsage("endpoint_slice_controller", client.DiscoveryV1alpha1().RESTClient().GetRateLimiter()) + ratelimiter.RegisterMetricAndTrackRateLimiterUsage("endpoint_slice_controller", client.DiscoveryV1alpha1().RESTClient().GetRateLimiter()) } c := &Controller{ diff --git a/pkg/controller/job/BUILD b/pkg/controller/job/BUILD index 17441fe51af..563bb52ca85 100644 --- a/pkg/controller/job/BUILD +++ b/pkg/controller/job/BUILD @@ -16,7 +16,6 @@ go_library( importpath = "k8s.io/kubernetes/pkg/controller/job", deps = [ "//pkg/controller:go_default_library", - "//pkg/util/metrics:go_default_library", "//staging/src/k8s.io/api/batch/v1:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library", @@ -34,6 +33,7 @@ go_library( "//staging/src/k8s.io/client-go/tools/cache:go_default_library", "//staging/src/k8s.io/client-go/tools/record:go_default_library", "//staging/src/k8s.io/client-go/util/workqueue:go_default_library", + "//staging/src/k8s.io/component-base/metrics/prometheus/ratelimiter:go_default_library", "//vendor/k8s.io/klog:go_default_library", "//vendor/k8s.io/utils/integer:go_default_library", ], diff --git a/pkg/controller/job/job_controller.go b/pkg/controller/job/job_controller.go index 62164751c9e..fdd84e431c1 100644 --- a/pkg/controller/job/job_controller.go +++ b/pkg/controller/job/job_controller.go @@ -41,8 +41,8 @@ import ( "k8s.io/client-go/tools/cache" "k8s.io/client-go/tools/record" "k8s.io/client-go/util/workqueue" + "k8s.io/component-base/metrics/prometheus/ratelimiter" "k8s.io/kubernetes/pkg/controller" - "k8s.io/kubernetes/pkg/util/metrics" "k8s.io/utils/integer" "k8s.io/klog" @@ -95,7 +95,7 @@ func NewJobController(podInformer coreinformers.PodInformer, jobInformer batchin eventBroadcaster.StartRecordingToSink(&v1core.EventSinkImpl{Interface: kubeClient.CoreV1().Events("")}) if kubeClient != nil && kubeClient.CoreV1().RESTClient().GetRateLimiter() != nil { - metrics.RegisterMetricAndTrackRateLimiterUsage("job_controller", kubeClient.CoreV1().RESTClient().GetRateLimiter()) + ratelimiter.RegisterMetricAndTrackRateLimiterUsage("job_controller", kubeClient.CoreV1().RESTClient().GetRateLimiter()) } jm := &JobController{ diff --git a/pkg/controller/namespace/BUILD b/pkg/controller/namespace/BUILD index 002f3f9a7dd..61a1604fab8 100644 --- a/pkg/controller/namespace/BUILD +++ b/pkg/controller/namespace/BUILD @@ -1,9 +1,4 @@ -package(default_visibility = ["//visibility:public"]) - -load( - "@io_bazel_rules_go//go:def.bzl", - "go_library", -) +load("@io_bazel_rules_go//go:def.bzl", "go_library") go_library( name = "go_default_library", @@ -12,10 +7,10 @@ go_library( "namespace_controller.go", ], importpath = "k8s.io/kubernetes/pkg/controller/namespace", + visibility = ["//visibility:public"], deps = [ "//pkg/controller:go_default_library", "//pkg/controller/namespace/deletion:go_default_library", - "//pkg/util/metrics:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", @@ -27,6 +22,7 @@ go_library( "//staging/src/k8s.io/client-go/metadata:go_default_library", "//staging/src/k8s.io/client-go/tools/cache:go_default_library", "//staging/src/k8s.io/client-go/util/workqueue:go_default_library", + "//staging/src/k8s.io/component-base/metrics/prometheus/ratelimiter:go_default_library", "//vendor/golang.org/x/time/rate:go_default_library", "//vendor/k8s.io/klog:go_default_library", ], @@ -47,4 +43,5 @@ filegroup( "//pkg/controller/namespace/deletion:all-srcs", ], tags = ["automanaged"], + visibility = ["//visibility:public"], ) diff --git a/pkg/controller/namespace/namespace_controller.go b/pkg/controller/namespace/namespace_controller.go index 7cd6ab2cbb1..99e59eff8e7 100644 --- a/pkg/controller/namespace/namespace_controller.go +++ b/pkg/controller/namespace/namespace_controller.go @@ -33,9 +33,9 @@ import ( "k8s.io/client-go/metadata" "k8s.io/client-go/tools/cache" "k8s.io/client-go/util/workqueue" + "k8s.io/component-base/metrics/prometheus/ratelimiter" "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/controller/namespace/deletion" - "k8s.io/kubernetes/pkg/util/metrics" "k8s.io/klog" ) @@ -78,7 +78,7 @@ func NewNamespaceController( } if kubeClient != nil && kubeClient.CoreV1().RESTClient().GetRateLimiter() != nil { - metrics.RegisterMetricAndTrackRateLimiterUsage("namespace_controller", kubeClient.CoreV1().RESTClient().GetRateLimiter()) + ratelimiter.RegisterMetricAndTrackRateLimiterUsage("namespace_controller", kubeClient.CoreV1().RESTClient().GetRateLimiter()) } // configure the namespace informer event handlers diff --git a/pkg/controller/nodeipam/BUILD b/pkg/controller/nodeipam/BUILD index e493aeb71c3..ae5bd3fab88 100644 --- a/pkg/controller/nodeipam/BUILD +++ b/pkg/controller/nodeipam/BUILD @@ -34,7 +34,6 @@ go_library( deps = [ "//pkg/controller/nodeipam/ipam:go_default_library", "//pkg/controller/nodeipam/ipam/sync:go_default_library", - "//pkg/util/metrics:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/runtime:go_default_library", "//staging/src/k8s.io/client-go/informers/core/v1:go_default_library", @@ -44,6 +43,7 @@ go_library( "//staging/src/k8s.io/client-go/tools/cache:go_default_library", "//staging/src/k8s.io/client-go/tools/record:go_default_library", "//staging/src/k8s.io/cloud-provider:go_default_library", + "//staging/src/k8s.io/component-base/metrics/prometheus/ratelimiter:go_default_library", "//vendor/k8s.io/klog:go_default_library", ], ) diff --git a/pkg/controller/nodeipam/node_ipam_controller.go b/pkg/controller/nodeipam/node_ipam_controller.go index 48dabd15601..2ad2eb7ae0c 100644 --- a/pkg/controller/nodeipam/node_ipam_controller.go +++ b/pkg/controller/nodeipam/node_ipam_controller.go @@ -33,8 +33,8 @@ import ( clientset "k8s.io/client-go/kubernetes" corelisters "k8s.io/client-go/listers/core/v1" cloudprovider "k8s.io/cloud-provider" + "k8s.io/component-base/metrics/prometheus/ratelimiter" "k8s.io/kubernetes/pkg/controller/nodeipam/ipam" - "k8s.io/kubernetes/pkg/util/metrics" ) const ( @@ -98,7 +98,7 @@ func NewNodeIpamController( }) if kubeClient.CoreV1().RESTClient().GetRateLimiter() != nil { - metrics.RegisterMetricAndTrackRateLimiterUsage("node_ipam_controller", kubeClient.CoreV1().RESTClient().GetRateLimiter()) + ratelimiter.RegisterMetricAndTrackRateLimiterUsage("node_ipam_controller", kubeClient.CoreV1().RESTClient().GetRateLimiter()) } // Cloud CIDR allocator does not rely on clusterCIDR or nodeCIDRMaskSize for allocation. diff --git a/pkg/controller/nodelifecycle/BUILD b/pkg/controller/nodelifecycle/BUILD index c4a9a16af21..c39e1b01eb7 100644 --- a/pkg/controller/nodelifecycle/BUILD +++ b/pkg/controller/nodelifecycle/BUILD @@ -16,7 +16,6 @@ go_library( "//pkg/features:go_default_library", "//pkg/kubelet/apis:go_default_library", "//pkg/scheduler/api:go_default_library", - "//pkg/util/metrics:go_default_library", "//pkg/util/node:go_default_library", "//pkg/util/taints:go_default_library", "//staging/src/k8s.io/api/coordination/v1beta1:go_default_library", @@ -44,28 +43,11 @@ go_library( "//staging/src/k8s.io/client-go/util/workqueue:go_default_library", "//staging/src/k8s.io/component-base/metrics:go_default_library", "//staging/src/k8s.io/component-base/metrics/legacyregistry:go_default_library", + "//staging/src/k8s.io/component-base/metrics/prometheus/ratelimiter:go_default_library", "//vendor/k8s.io/klog:go_default_library", ], ) -filegroup( - name = "package-srcs", - srcs = glob(["**"]), - tags = ["automanaged"], - visibility = ["//visibility:private"], -) - -filegroup( - name = "all-srcs", - srcs = [ - ":package-srcs", - "//pkg/controller/nodelifecycle/config:all-srcs", - "//pkg/controller/nodelifecycle/scheduler:all-srcs", - ], - tags = ["automanaged"], - visibility = ["//visibility:public"], -) - go_test( name = "go_default_test", srcs = ["node_lifecycle_controller_test.go"], @@ -101,3 +83,21 @@ go_test( "//vendor/k8s.io/utils/pointer:go_default_library", ], ) + +filegroup( + name = "package-srcs", + srcs = glob(["**"]), + tags = ["automanaged"], + visibility = ["//visibility:private"], +) + +filegroup( + name = "all-srcs", + srcs = [ + ":package-srcs", + "//pkg/controller/nodelifecycle/config:all-srcs", + "//pkg/controller/nodelifecycle/scheduler:all-srcs", + ], + tags = ["automanaged"], + visibility = ["//visibility:public"], +) diff --git a/pkg/controller/nodelifecycle/node_lifecycle_controller.go b/pkg/controller/nodelifecycle/node_lifecycle_controller.go index c81e859951a..aa30a857f9c 100644 --- a/pkg/controller/nodelifecycle/node_lifecycle_controller.go +++ b/pkg/controller/nodelifecycle/node_lifecycle_controller.go @@ -52,6 +52,7 @@ import ( "k8s.io/client-go/tools/record" "k8s.io/client-go/util/flowcontrol" "k8s.io/client-go/util/workqueue" + "k8s.io/component-base/metrics/prometheus/ratelimiter" apicore "k8s.io/kubernetes/pkg/apis/core" "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/controller/nodelifecycle/scheduler" @@ -60,7 +61,6 @@ import ( kubefeatures "k8s.io/kubernetes/pkg/features" kubeletapis "k8s.io/kubernetes/pkg/kubelet/apis" schedulerapi "k8s.io/kubernetes/pkg/scheduler/api" - "k8s.io/kubernetes/pkg/util/metrics" utilnode "k8s.io/kubernetes/pkg/util/node" taintutils "k8s.io/kubernetes/pkg/util/taints" ) @@ -337,7 +337,7 @@ func NewNodeLifecycleController( }) if kubeClient.CoreV1().RESTClient().GetRateLimiter() != nil { - metrics.RegisterMetricAndTrackRateLimiterUsage("node_lifecycle_controller", kubeClient.CoreV1().RESTClient().GetRateLimiter()) + ratelimiter.RegisterMetricAndTrackRateLimiterUsage("node_lifecycle_controller", kubeClient.CoreV1().RESTClient().GetRateLimiter()) } nc := &Controller{ diff --git a/pkg/controller/podgc/BUILD b/pkg/controller/podgc/BUILD index a44f2c18f9a..2a10e7eb2f2 100644 --- a/pkg/controller/podgc/BUILD +++ b/pkg/controller/podgc/BUILD @@ -1,10 +1,4 @@ -package(default_visibility = ["//visibility:public"]) - -load( - "@io_bazel_rules_go//go:def.bzl", - "go_library", - "go_test", -) +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "go_default_library", @@ -13,8 +7,8 @@ go_library( "gc_controller.go", ], importpath = "k8s.io/kubernetes/pkg/controller/podgc", + visibility = ["//visibility:public"], deps = [ - "//pkg/util/metrics:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/labels:go_default_library", @@ -25,6 +19,7 @@ go_library( "//staging/src/k8s.io/client-go/kubernetes:go_default_library", "//staging/src/k8s.io/client-go/listers/core/v1:go_default_library", "//staging/src/k8s.io/client-go/tools/cache:go_default_library", + "//staging/src/k8s.io/component-base/metrics/prometheus/ratelimiter:go_default_library", "//vendor/k8s.io/klog:go_default_library", ], ) @@ -61,4 +56,5 @@ filegroup( "//pkg/controller/podgc/config:all-srcs", ], tags = ["automanaged"], + visibility = ["//visibility:public"], ) diff --git a/pkg/controller/podgc/gc_controller.go b/pkg/controller/podgc/gc_controller.go index 3495192b33f..02820611b26 100644 --- a/pkg/controller/podgc/gc_controller.go +++ b/pkg/controller/podgc/gc_controller.go @@ -31,7 +31,7 @@ import ( clientset "k8s.io/client-go/kubernetes" corelisters "k8s.io/client-go/listers/core/v1" "k8s.io/client-go/tools/cache" - "k8s.io/kubernetes/pkg/util/metrics" + "k8s.io/component-base/metrics/prometheus/ratelimiter" "k8s.io/klog" ) @@ -52,7 +52,7 @@ type PodGCController struct { func NewPodGC(kubeClient clientset.Interface, podInformer coreinformers.PodInformer, terminatedPodThreshold int) *PodGCController { if kubeClient != nil && kubeClient.CoreV1().RESTClient().GetRateLimiter() != nil { - metrics.RegisterMetricAndTrackRateLimiterUsage("gc_controller", kubeClient.CoreV1().RESTClient().GetRateLimiter()) + ratelimiter.RegisterMetricAndTrackRateLimiterUsage("gc_controller", kubeClient.CoreV1().RESTClient().GetRateLimiter()) } gcc := &PodGCController{ kubeClient: kubeClient, diff --git a/pkg/controller/replicaset/BUILD b/pkg/controller/replicaset/BUILD index c3c879f8b34..abdef8aeb93 100644 --- a/pkg/controller/replicaset/BUILD +++ b/pkg/controller/replicaset/BUILD @@ -17,7 +17,6 @@ go_library( deps = [ "//pkg/api/v1/pod:go_default_library", "//pkg/controller:go_default_library", - "//pkg/util/metrics:go_default_library", "//staging/src/k8s.io/api/apps/v1:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library", @@ -37,6 +36,7 @@ go_library( "//staging/src/k8s.io/client-go/tools/cache:go_default_library", "//staging/src/k8s.io/client-go/tools/record:go_default_library", "//staging/src/k8s.io/client-go/util/workqueue:go_default_library", + "//staging/src/k8s.io/component-base/metrics/prometheus/ratelimiter:go_default_library", "//vendor/k8s.io/klog:go_default_library", "//vendor/k8s.io/utils/integer:go_default_library", ], diff --git a/pkg/controller/replicaset/replica_set.go b/pkg/controller/replicaset/replica_set.go index b61330afd57..4e3773aff72 100644 --- a/pkg/controller/replicaset/replica_set.go +++ b/pkg/controller/replicaset/replica_set.go @@ -53,10 +53,10 @@ import ( "k8s.io/client-go/tools/cache" "k8s.io/client-go/tools/record" "k8s.io/client-go/util/workqueue" + "k8s.io/component-base/metrics/prometheus/ratelimiter" "k8s.io/klog" podutil "k8s.io/kubernetes/pkg/api/v1/pod" "k8s.io/kubernetes/pkg/controller" - "k8s.io/kubernetes/pkg/util/metrics" "k8s.io/utils/integer" ) @@ -126,7 +126,7 @@ func NewReplicaSetController(rsInformer appsinformers.ReplicaSetInformer, podInf func NewBaseController(rsInformer appsinformers.ReplicaSetInformer, podInformer coreinformers.PodInformer, kubeClient clientset.Interface, burstReplicas int, gvk schema.GroupVersionKind, metricOwnerName, queueName string, podControl controller.PodControlInterface) *ReplicaSetController { if kubeClient != nil && kubeClient.CoreV1().RESTClient().GetRateLimiter() != nil { - metrics.RegisterMetricAndTrackRateLimiterUsage(metricOwnerName, kubeClient.CoreV1().RESTClient().GetRateLimiter()) + ratelimiter.RegisterMetricAndTrackRateLimiterUsage(metricOwnerName, kubeClient.CoreV1().RESTClient().GetRateLimiter()) } rsc := &ReplicaSetController{ diff --git a/pkg/controller/route/BUILD b/pkg/controller/route/BUILD index 4f4b97eacff..d4815b01fac 100644 --- a/pkg/controller/route/BUILD +++ b/pkg/controller/route/BUILD @@ -1,10 +1,4 @@ -package(default_visibility = ["//visibility:public"]) - -load( - "@io_bazel_rules_go//go:def.bzl", - "go_library", - "go_test", -) +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "go_default_library", @@ -13,8 +7,8 @@ go_library( "route_controller.go", ], importpath = "k8s.io/kubernetes/pkg/controller/route", + visibility = ["//visibility:public"], deps = [ - "//pkg/util/metrics:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/labels:go_default_library", @@ -31,6 +25,7 @@ go_library( "//staging/src/k8s.io/client-go/util/retry:go_default_library", "//staging/src/k8s.io/cloud-provider:go_default_library", "//staging/src/k8s.io/cloud-provider/node/helpers:go_default_library", + "//staging/src/k8s.io/component-base/metrics/prometheus/ratelimiter:go_default_library", "//vendor/k8s.io/klog:go_default_library", ], ) @@ -63,4 +58,5 @@ filegroup( name = "all-srcs", srcs = [":package-srcs"], tags = ["automanaged"], + visibility = ["//visibility:public"], ) diff --git a/pkg/controller/route/route_controller.go b/pkg/controller/route/route_controller.go index 5d6ee811498..6cff1d944cc 100644 --- a/pkg/controller/route/route_controller.go +++ b/pkg/controller/route/route_controller.go @@ -41,7 +41,7 @@ import ( clientretry "k8s.io/client-go/util/retry" cloudprovider "k8s.io/cloud-provider" cloudnodeutil "k8s.io/cloud-provider/node/helpers" - "k8s.io/kubernetes/pkg/util/metrics" + "k8s.io/component-base/metrics/prometheus/ratelimiter" ) const ( @@ -69,7 +69,7 @@ type RouteController struct { func New(routes cloudprovider.Routes, kubeClient clientset.Interface, nodeInformer coreinformers.NodeInformer, clusterName string, clusterCIDRs []*net.IPNet) *RouteController { if kubeClient != nil && kubeClient.CoreV1().RESTClient().GetRateLimiter() != nil { - metrics.RegisterMetricAndTrackRateLimiterUsage("route_controller", kubeClient.CoreV1().RESTClient().GetRateLimiter()) + ratelimiter.RegisterMetricAndTrackRateLimiterUsage("route_controller", kubeClient.CoreV1().RESTClient().GetRateLimiter()) } if len(clusterCIDRs) == 0 { diff --git a/pkg/controller/service/BUILD b/pkg/controller/service/BUILD index 747c3d1acd9..4622f4737d9 100644 --- a/pkg/controller/service/BUILD +++ b/pkg/controller/service/BUILD @@ -1,10 +1,4 @@ -package(default_visibility = ["//visibility:public"]) - -load( - "@io_bazel_rules_go//go:def.bzl", - "go_library", - "go_test", -) +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "go_default_library", @@ -14,9 +8,9 @@ go_library( "service_controller.go", ], importpath = "k8s.io/kubernetes/pkg/controller/service", + visibility = ["//visibility:public"], deps = [ "//pkg/apis/core/v1/helper:go_default_library", - "//pkg/util/metrics:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/types:go_default_library", @@ -35,6 +29,7 @@ go_library( "//staging/src/k8s.io/client-go/util/workqueue:go_default_library", "//staging/src/k8s.io/cloud-provider:go_default_library", "//staging/src/k8s.io/cloud-provider/service/helpers:go_default_library", + "//staging/src/k8s.io/component-base/metrics/prometheus/ratelimiter:go_default_library", "//vendor/k8s.io/klog:go_default_library", ], ) @@ -81,4 +76,5 @@ filegroup( "//pkg/controller/service/config:all-srcs", ], tags = ["automanaged"], + visibility = ["//visibility:public"], ) diff --git a/pkg/controller/service/service_controller.go b/pkg/controller/service/service_controller.go index e32a4c45326..6a475e2efb9 100644 --- a/pkg/controller/service/service_controller.go +++ b/pkg/controller/service/service_controller.go @@ -40,9 +40,9 @@ import ( "k8s.io/client-go/util/workqueue" cloudprovider "k8s.io/cloud-provider" servicehelper "k8s.io/cloud-provider/service/helpers" + "k8s.io/component-base/metrics/prometheus/ratelimiter" "k8s.io/klog" v1helper "k8s.io/kubernetes/pkg/apis/core/v1/helper" - "k8s.io/kubernetes/pkg/util/metrics" ) const ( @@ -136,7 +136,7 @@ func New( recorder := broadcaster.NewRecorder(scheme.Scheme, v1.EventSource{Component: "service-controller"}) if kubeClient != nil && kubeClient.CoreV1().RESTClient().GetRateLimiter() != nil { - if err := metrics.RegisterMetricAndTrackRateLimiterUsage("service_controller", kubeClient.CoreV1().RESTClient().GetRateLimiter()); err != nil { + if err := ratelimiter.RegisterMetricAndTrackRateLimiterUsage("service_controller", kubeClient.CoreV1().RESTClient().GetRateLimiter()); err != nil { return nil, err } } diff --git a/pkg/controller/serviceaccount/BUILD b/pkg/controller/serviceaccount/BUILD index 3beb71374b2..8644054e737 100644 --- a/pkg/controller/serviceaccount/BUILD +++ b/pkg/controller/serviceaccount/BUILD @@ -18,7 +18,6 @@ go_library( deps = [ "//pkg/registry/core/secret:go_default_library", "//pkg/serviceaccount:go_default_library", - "//pkg/util/metrics:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", @@ -33,6 +32,7 @@ go_library( "//staging/src/k8s.io/client-go/tools/cache:go_default_library", "//staging/src/k8s.io/client-go/util/retry:go_default_library", "//staging/src/k8s.io/client-go/util/workqueue:go_default_library", + "//staging/src/k8s.io/component-base/metrics/prometheus/ratelimiter:go_default_library", "//vendor/k8s.io/klog:go_default_library", ], ) diff --git a/pkg/controller/serviceaccount/serviceaccounts_controller.go b/pkg/controller/serviceaccount/serviceaccounts_controller.go index a9e99003c28..c775706a605 100644 --- a/pkg/controller/serviceaccount/serviceaccounts_controller.go +++ b/pkg/controller/serviceaccount/serviceaccounts_controller.go @@ -31,8 +31,8 @@ import ( corelisters "k8s.io/client-go/listers/core/v1" "k8s.io/client-go/tools/cache" "k8s.io/client-go/util/workqueue" + "k8s.io/component-base/metrics/prometheus/ratelimiter" "k8s.io/klog" - "k8s.io/kubernetes/pkg/util/metrics" ) // ServiceAccountsControllerOptions contains options for running a ServiceAccountsController @@ -68,7 +68,7 @@ func NewServiceAccountsController(saInformer coreinformers.ServiceAccountInforme queue: workqueue.NewNamedRateLimitingQueue(workqueue.DefaultControllerRateLimiter(), "serviceaccount"), } if cl != nil && cl.CoreV1().RESTClient().GetRateLimiter() != nil { - if err := metrics.RegisterMetricAndTrackRateLimiterUsage("serviceaccount_controller", cl.CoreV1().RESTClient().GetRateLimiter()); err != nil { + if err := ratelimiter.RegisterMetricAndTrackRateLimiterUsage("serviceaccount_controller", cl.CoreV1().RESTClient().GetRateLimiter()); err != nil { return nil, err } } diff --git a/pkg/controller/serviceaccount/tokens_controller.go b/pkg/controller/serviceaccount/tokens_controller.go index e6e198b54f6..6e128a8da03 100644 --- a/pkg/controller/serviceaccount/tokens_controller.go +++ b/pkg/controller/serviceaccount/tokens_controller.go @@ -35,10 +35,10 @@ import ( "k8s.io/client-go/tools/cache" clientretry "k8s.io/client-go/util/retry" "k8s.io/client-go/util/workqueue" + "k8s.io/component-base/metrics/prometheus/ratelimiter" "k8s.io/klog" "k8s.io/kubernetes/pkg/registry/core/secret" "k8s.io/kubernetes/pkg/serviceaccount" - "k8s.io/kubernetes/pkg/util/metrics" ) // RemoveTokenBackoff is the recommended (empirical) retry interval for removing @@ -86,7 +86,7 @@ func NewTokensController(serviceAccounts informers.ServiceAccountInformer, secre maxRetries: maxRetries, } if cl != nil && cl.CoreV1().RESTClient().GetRateLimiter() != nil { - if err := metrics.RegisterMetricAndTrackRateLimiterUsage("serviceaccount_tokens_controller", cl.CoreV1().RESTClient().GetRateLimiter()); err != nil { + if err := ratelimiter.RegisterMetricAndTrackRateLimiterUsage("serviceaccount_tokens_controller", cl.CoreV1().RESTClient().GetRateLimiter()); err != nil { return nil, err } } diff --git a/pkg/controller/ttlafterfinished/BUILD b/pkg/controller/ttlafterfinished/BUILD index ffa01216637..55a6e5ce119 100644 --- a/pkg/controller/ttlafterfinished/BUILD +++ b/pkg/controller/ttlafterfinished/BUILD @@ -8,7 +8,6 @@ go_library( deps = [ "//pkg/controller:go_default_library", "//pkg/controller/job:go_default_library", - "//pkg/util/metrics:go_default_library", "//staging/src/k8s.io/api/batch/v1:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/api/errors:go_default_library", @@ -23,6 +22,7 @@ go_library( "//staging/src/k8s.io/client-go/tools/cache:go_default_library", "//staging/src/k8s.io/client-go/tools/record:go_default_library", "//staging/src/k8s.io/client-go/util/workqueue:go_default_library", + "//staging/src/k8s.io/component-base/metrics/prometheus/ratelimiter:go_default_library", "//staging/src/k8s.io/kubectl/pkg/scheme:go_default_library", "//vendor/k8s.io/klog:go_default_library", ], diff --git a/pkg/controller/ttlafterfinished/ttlafterfinished_controller.go b/pkg/controller/ttlafterfinished/ttlafterfinished_controller.go index 8e55660b969..c4e38c2c28a 100644 --- a/pkg/controller/ttlafterfinished/ttlafterfinished_controller.go +++ b/pkg/controller/ttlafterfinished/ttlafterfinished_controller.go @@ -36,10 +36,10 @@ import ( "k8s.io/client-go/tools/cache" "k8s.io/client-go/tools/record" "k8s.io/client-go/util/workqueue" + "k8s.io/component-base/metrics/prometheus/ratelimiter" "k8s.io/kubectl/pkg/scheme" "k8s.io/kubernetes/pkg/controller" jobutil "k8s.io/kubernetes/pkg/controller/job" - "k8s.io/kubernetes/pkg/util/metrics" ) // Controller watches for changes of Jobs API objects. Triggered by Job creation @@ -75,7 +75,7 @@ func New(jobInformer batchinformers.JobInformer, client clientset.Interface) *Co eventBroadcaster.StartRecordingToSink(&v1core.EventSinkImpl{Interface: client.CoreV1().Events("")}) if client != nil && client.CoreV1().RESTClient().GetRateLimiter() != nil { - metrics.RegisterMetricAndTrackRateLimiterUsage("ttl_after_finished_controller", client.CoreV1().RESTClient().GetRateLimiter()) + ratelimiter.RegisterMetricAndTrackRateLimiterUsage("ttl_after_finished_controller", client.CoreV1().RESTClient().GetRateLimiter()) } tc := &Controller{ diff --git a/pkg/controller/volume/pvcprotection/BUILD b/pkg/controller/volume/pvcprotection/BUILD index b3097a7b1e6..3a9d6b92ece 100644 --- a/pkg/controller/volume/pvcprotection/BUILD +++ b/pkg/controller/volume/pvcprotection/BUILD @@ -7,7 +7,6 @@ go_library( visibility = ["//visibility:public"], deps = [ "//pkg/controller/volume/protectionutil:go_default_library", - "//pkg/util/metrics:go_default_library", "//pkg/util/slice:go_default_library", "//pkg/volume/util:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", @@ -21,6 +20,7 @@ go_library( "//staging/src/k8s.io/client-go/listers/core/v1:go_default_library", "//staging/src/k8s.io/client-go/tools/cache:go_default_library", "//staging/src/k8s.io/client-go/util/workqueue:go_default_library", + "//staging/src/k8s.io/component-base/metrics/prometheus/ratelimiter:go_default_library", "//vendor/k8s.io/klog:go_default_library", ], ) diff --git a/pkg/controller/volume/pvcprotection/pvc_protection_controller.go b/pkg/controller/volume/pvcprotection/pvc_protection_controller.go index 3e9938f3a33..ece1636512e 100644 --- a/pkg/controller/volume/pvcprotection/pvc_protection_controller.go +++ b/pkg/controller/volume/pvcprotection/pvc_protection_controller.go @@ -31,9 +31,9 @@ import ( corelisters "k8s.io/client-go/listers/core/v1" "k8s.io/client-go/tools/cache" "k8s.io/client-go/util/workqueue" + "k8s.io/component-base/metrics/prometheus/ratelimiter" "k8s.io/klog" "k8s.io/kubernetes/pkg/controller/volume/protectionutil" - "k8s.io/kubernetes/pkg/util/metrics" "k8s.io/kubernetes/pkg/util/slice" volumeutil "k8s.io/kubernetes/pkg/volume/util" ) @@ -63,7 +63,7 @@ func NewPVCProtectionController(pvcInformer coreinformers.PersistentVolumeClaimI storageObjectInUseProtectionEnabled: storageObjectInUseProtectionFeatureEnabled, } if cl != nil && cl.CoreV1().RESTClient().GetRateLimiter() != nil { - metrics.RegisterMetricAndTrackRateLimiterUsage("persistentvolumeclaim_protection_controller", cl.CoreV1().RESTClient().GetRateLimiter()) + ratelimiter.RegisterMetricAndTrackRateLimiterUsage("persistentvolumeclaim_protection_controller", cl.CoreV1().RESTClient().GetRateLimiter()) } e.pvcLister = pvcInformer.Lister() diff --git a/pkg/controller/volume/pvprotection/BUILD b/pkg/controller/volume/pvprotection/BUILD index 904dcbef69a..9137ea5e901 100644 --- a/pkg/controller/volume/pvprotection/BUILD +++ b/pkg/controller/volume/pvprotection/BUILD @@ -7,7 +7,6 @@ go_library( visibility = ["//visibility:public"], deps = [ "//pkg/controller/volume/protectionutil:go_default_library", - "//pkg/util/metrics:go_default_library", "//pkg/util/slice:go_default_library", "//pkg/volume/util:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", @@ -19,6 +18,7 @@ go_library( "//staging/src/k8s.io/client-go/listers/core/v1:go_default_library", "//staging/src/k8s.io/client-go/tools/cache:go_default_library", "//staging/src/k8s.io/client-go/util/workqueue:go_default_library", + "//staging/src/k8s.io/component-base/metrics/prometheus/ratelimiter:go_default_library", "//vendor/k8s.io/klog:go_default_library", ], ) diff --git a/pkg/controller/volume/pvprotection/pv_protection_controller.go b/pkg/controller/volume/pvprotection/pv_protection_controller.go index 1fe836e3e2d..2c6baaa2205 100644 --- a/pkg/controller/volume/pvprotection/pv_protection_controller.go +++ b/pkg/controller/volume/pvprotection/pv_protection_controller.go @@ -29,9 +29,9 @@ import ( corelisters "k8s.io/client-go/listers/core/v1" "k8s.io/client-go/tools/cache" "k8s.io/client-go/util/workqueue" + "k8s.io/component-base/metrics/prometheus/ratelimiter" "k8s.io/klog" "k8s.io/kubernetes/pkg/controller/volume/protectionutil" - "k8s.io/kubernetes/pkg/util/metrics" "k8s.io/kubernetes/pkg/util/slice" volumeutil "k8s.io/kubernetes/pkg/volume/util" ) @@ -58,7 +58,7 @@ func NewPVProtectionController(pvInformer coreinformers.PersistentVolumeInformer storageObjectInUseProtectionEnabled: storageObjectInUseProtectionFeatureEnabled, } if cl != nil && cl.CoreV1().RESTClient().GetRateLimiter() != nil { - metrics.RegisterMetricAndTrackRateLimiterUsage("persistentvolume_protection_controller", cl.CoreV1().RESTClient().GetRateLimiter()) + ratelimiter.RegisterMetricAndTrackRateLimiterUsage("persistentvolume_protection_controller", cl.CoreV1().RESTClient().GetRateLimiter()) } e.pvLister = pvInformer.Lister() diff --git a/pkg/util/BUILD b/pkg/util/BUILD index 9739e887daa..00b09527503 100644 --- a/pkg/util/BUILD +++ b/pkg/util/BUILD @@ -31,7 +31,6 @@ filegroup( "//pkg/util/ipvs:all-srcs", "//pkg/util/labels:all-srcs", "//pkg/util/maps:all-srcs", - "//pkg/util/metrics:all-srcs", "//pkg/util/mount:all-srcs", "//pkg/util/netsh:all-srcs", "//pkg/util/node:all-srcs", diff --git a/staging/src/k8s.io/component-base/metrics/BUILD b/staging/src/k8s.io/component-base/metrics/BUILD index 12c2d60d054..6fbfd480c88 100644 --- a/staging/src/k8s.io/component-base/metrics/BUILD +++ b/staging/src/k8s.io/component-base/metrics/BUILD @@ -1,11 +1,4 @@ -package(default_visibility = ["//visibility:public"]) - -load( - "@io_bazel_rules_go//go:def.bzl", - "go_library", - "go_test", -) -load("//staging/src/k8s.io/component-base/version:def.bzl", "version_x_defs") +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "go_default_library", @@ -25,6 +18,7 @@ go_library( ], importmap = "k8s.io/kubernetes/vendor/k8s.io/component-base/metrics", importpath = "k8s.io/component-base/metrics", + visibility = ["//visibility:public"], deps = [ "//staging/src/k8s.io/apimachinery/pkg/version:go_default_library", "//staging/src/k8s.io/component-base/version:go_default_library", @@ -70,9 +64,11 @@ filegroup( ":package-srcs", "//staging/src/k8s.io/component-base/metrics/legacyregistry:all-srcs", "//staging/src/k8s.io/component-base/metrics/prometheus/clientgo:all-srcs", + "//staging/src/k8s.io/component-base/metrics/prometheus/ratelimiter:all-srcs", "//staging/src/k8s.io/component-base/metrics/prometheus/restclient:all-srcs", "//staging/src/k8s.io/component-base/metrics/prometheus/version:all-srcs", "//staging/src/k8s.io/component-base/metrics/prometheus/workqueue:all-srcs", ], tags = ["automanaged"], + visibility = ["//visibility:public"], ) diff --git a/pkg/util/metrics/BUILD b/staging/src/k8s.io/component-base/metrics/prometheus/ratelimiter/BUILD similarity index 56% rename from pkg/util/metrics/BUILD rename to staging/src/k8s.io/component-base/metrics/prometheus/ratelimiter/BUILD index 5416001e924..c6b8c164767 100644 --- a/pkg/util/metrics/BUILD +++ b/staging/src/k8s.io/component-base/metrics/prometheus/ratelimiter/BUILD @@ -1,15 +1,11 @@ -package(default_visibility = ["//visibility:public"]) - -load( - "@io_bazel_rules_go//go:def.bzl", - "go_library", - "go_test", -) +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "go_default_library", - srcs = ["util.go"], - importpath = "k8s.io/kubernetes/pkg/util/metrics", + srcs = ["rate_limiter.go"], + importmap = "k8s.io/kubernetes/vendor/k8s.io/component-base/metrics/prometheus/ratelimiter", + importpath = "k8s.io/component-base/metrics/prometheus/ratelimiter", + visibility = ["//visibility:public"], deps = [ "//staging/src/k8s.io/client-go/util/flowcontrol:go_default_library", "//staging/src/k8s.io/component-base/metrics:go_default_library", @@ -19,11 +15,9 @@ go_library( go_test( name = "go_default_test", - srcs = ["util_test.go"], + srcs = ["rate_limiter_test.go"], embed = [":go_default_library"], - deps = [ - "//staging/src/k8s.io/client-go/util/flowcontrol:go_default_library", - ], + deps = ["//staging/src/k8s.io/client-go/util/flowcontrol:go_default_library"], ) filegroup( @@ -37,4 +31,5 @@ filegroup( name = "all-srcs", srcs = [":package-srcs"], tags = ["automanaged"], + visibility = ["//visibility:public"], ) diff --git a/pkg/util/metrics/OWNERS b/staging/src/k8s.io/component-base/metrics/prometheus/ratelimiter/OWNERS similarity index 86% rename from pkg/util/metrics/OWNERS rename to staging/src/k8s.io/component-base/metrics/prometheus/ratelimiter/OWNERS index 6d2418a175c..81a413eef3b 100644 --- a/pkg/util/metrics/OWNERS +++ b/staging/src/k8s.io/component-base/metrics/prometheus/ratelimiter/OWNERS @@ -9,4 +9,4 @@ reviewers: - brancz - logicalhan labels: -- sig/instrumentation +- sig/instrumentation \ No newline at end of file diff --git a/pkg/util/metrics/util.go b/staging/src/k8s.io/component-base/metrics/prometheus/ratelimiter/rate_limiter.go similarity index 99% rename from pkg/util/metrics/util.go rename to staging/src/k8s.io/component-base/metrics/prometheus/ratelimiter/rate_limiter.go index 74d762fafff..639a1b36e7a 100644 --- a/pkg/util/metrics/util.go +++ b/staging/src/k8s.io/component-base/metrics/prometheus/ratelimiter/rate_limiter.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package metrics +package ratelimiter import ( "fmt" diff --git a/pkg/util/metrics/util_test.go b/staging/src/k8s.io/component-base/metrics/prometheus/ratelimiter/rate_limiter_test.go similarity index 98% rename from pkg/util/metrics/util_test.go rename to staging/src/k8s.io/component-base/metrics/prometheus/ratelimiter/rate_limiter_test.go index 0812d3593cf..854aea0096a 100644 --- a/pkg/util/metrics/util_test.go +++ b/staging/src/k8s.io/component-base/metrics/prometheus/ratelimiter/rate_limiter_test.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package metrics +package ratelimiter import ( "strings" diff --git a/test/e2e/framework/.import-restrictions b/test/e2e/framework/.import-restrictions index 3f0d3688148..095fd44ae0b 100644 --- a/test/e2e/framework/.import-restrictions +++ b/test/e2e/framework/.import-restrictions @@ -92,7 +92,6 @@ "k8s.io/kubernetes/pkg/util/filesystem", "k8s.io/kubernetes/pkg/util/hash", "k8s.io/kubernetes/pkg/util/labels", - "k8s.io/kubernetes/pkg/util/metrics", "k8s.io/kubernetes/pkg/util/mount", "k8s.io/kubernetes/pkg/util/node", "k8s.io/kubernetes/pkg/util/parsers", diff --git a/vendor/modules.txt b/vendor/modules.txt index a45fb5fd73d..7b25176fa5f 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -1665,6 +1665,7 @@ k8s.io/component-base/metrics k8s.io/component-base/metrics/legacyregistry k8s.io/component-base/metrics/prometheus/clientgo k8s.io/component-base/metrics/prometheus/clientgo/leaderelection +k8s.io/component-base/metrics/prometheus/ratelimiter k8s.io/component-base/metrics/prometheus/restclient k8s.io/component-base/metrics/prometheus/version k8s.io/component-base/metrics/prometheus/workqueue