@@ -38,10 +38,6 @@ import (
3838 policyv1 "k8s.io/api/policy/v1"
3939 rbacv1 "k8s.io/api/rbac/v1"
4040 storagev1 "k8s.io/api/storage/v1"
41- metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
42- "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
43- "k8s.io/apimachinery/pkg/runtime/schema"
44- "k8s.io/client-go/discovery"
4541 clientset "k8s.io/client-go/kubernetes"
4642 "k8s.io/client-go/tools/cache"
4743 "k8s.io/klog/v2"
@@ -544,10 +540,7 @@ func (b *Builder) buildCustomResourceStores(resourceName string,
544540 metricFamilies = generator .FilterFamilyGenerators (b .familyGeneratorFilter , metricFamilies )
545541 composedMetricGenFuncs := generator .ComposeMetricGenFuncs (metricFamilies )
546542
547- var familyHeaders []string
548- if b .hasResources (resourceName , expectedType ) {
549- familyHeaders = generator .ExtractMetricFamilyHeaders (metricFamilies )
550- }
543+ familyHeaders := generator .ExtractMetricFamilyHeaders (metricFamilies )
551544
552545 gvr := util .GVRFromType (resourceName , expectedType )
553546 var gvrString string
@@ -590,65 +583,6 @@ func (b *Builder) buildCustomResourceStores(resourceName string,
590583 return stores
591584}
592585
593- func (b * Builder ) hasResources (resourceName string , expectedType interface {}) bool {
594- gvr := util .GVRFromType (resourceName , expectedType )
595- if gvr == nil {
596- return true
597- }
598- discoveryClient , err := util .CreateDiscoveryClient (b .utilOptions .Apiserver , b .utilOptions .Kubeconfig )
599- if err != nil {
600- klog .ErrorS (err , "Failed to create discovery client" )
601- return false
602- }
603- g := gvr .Group
604- v := gvr .Version
605- r := gvr .Resource
606- isCRDInstalled , err := discovery .IsResourceEnabled (discoveryClient , schema.GroupVersionResource {
607- Group : g ,
608- Version : v ,
609- Resource : r ,
610- })
611- if err != nil {
612- klog .ErrorS (err , "Failed to check if CRD is enabled" , "group" , g , "version" , v , "resource" , r )
613- return false
614- }
615- if ! isCRDInstalled {
616- klog .InfoS ("CRD is not installed" , "group" , g , "version" , v , "resource" , r )
617- return false
618- }
619- // Wait for the resource to come up.
620- timer := time .NewTimer (ResourceDiscoveryTimeout )
621- ticker := time .NewTicker (ResourceDiscoveryInterval )
622- dynamicClient , err := util .CreateDynamicClient (b .utilOptions .Apiserver , b .utilOptions .Kubeconfig )
623- if err != nil {
624- klog .ErrorS (err , "Failed to create dynamic client" )
625- return false
626- }
627- var list * unstructured.UnstructuredList
628- for range ticker .C {
629- select {
630- case <- timer .C :
631- klog .InfoS ("No CRs found for GVR" , "group" , g , "version" , v , "resource" , r )
632- return false
633- default :
634- list , err = dynamicClient .Resource (schema.GroupVersionResource {
635- Group : g ,
636- Version : v ,
637- Resource : r ,
638- }).List (b .ctx , metav1.ListOptions {})
639- if err != nil {
640- klog .ErrorS (err , "Failed to list objects" , "group" , g , "version" , v , "resource" , r )
641- return false
642- }
643- }
644- if len (list .Items ) > 0 {
645- break
646- }
647- }
648-
649- return true
650- }
651-
652586// startReflector starts a Kubernetes client-go reflector with the given
653587// listWatcher and registers it with the given store.
654588func (b * Builder ) startReflector (
0 commit comments