mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-21 10:51:29 +00:00
apiextensions: fix metrics double registration during tests
This commit is contained in:
parent
33e95bc185
commit
3ccb26c3bb
@ -35,14 +35,15 @@ type CRConverterFactory struct {
|
|||||||
// webhookConverterFactory is the factory for webhook converters.
|
// webhookConverterFactory is the factory for webhook converters.
|
||||||
// This field should not be used if CustomResourceWebhookConversion feature is disabled.
|
// This field should not be used if CustomResourceWebhookConversion feature is disabled.
|
||||||
webhookConverterFactory *webhookConverterFactory
|
webhookConverterFactory *webhookConverterFactory
|
||||||
converterMetricFactory *converterMetricFactory
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// converterMetricFactorySingleton protects us from reregistration of metrics on repeated
|
||||||
|
// apiextensions-apiserver runs.
|
||||||
|
var converterMetricFactorySingleton = newConverterMertricFactory()
|
||||||
|
|
||||||
// NewCRConverterFactory creates a new CRConverterFactory
|
// NewCRConverterFactory creates a new CRConverterFactory
|
||||||
func NewCRConverterFactory(serviceResolver webhook.ServiceResolver, authResolverWrapper webhook.AuthenticationInfoResolverWrapper) (*CRConverterFactory, error) {
|
func NewCRConverterFactory(serviceResolver webhook.ServiceResolver, authResolverWrapper webhook.AuthenticationInfoResolverWrapper) (*CRConverterFactory, error) {
|
||||||
converterFactory := &CRConverterFactory{
|
converterFactory := &CRConverterFactory{}
|
||||||
converterMetricFactory: newConverterMertricFactory(),
|
|
||||||
}
|
|
||||||
if utilfeature.DefaultFeatureGate.Enabled(apiextensionsfeatures.CustomResourceWebhookConversion) {
|
if utilfeature.DefaultFeatureGate.Enabled(apiextensionsfeatures.CustomResourceWebhookConversion) {
|
||||||
webhookConverterFactory, err := newWebhookConverterFactory(serviceResolver, authResolverWrapper)
|
webhookConverterFactory, err := newWebhookConverterFactory(serviceResolver, authResolverWrapper)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -72,7 +73,7 @@ func (m *CRConverterFactory) NewConverter(crd *apiextensions.CustomResourceDefin
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, err
|
return nil, nil, err
|
||||||
}
|
}
|
||||||
converter, err = m.converterMetricFactory.addMetrics("webhook", crd.Name, converter)
|
converter, err = converterMetricFactorySingleton.addMetrics("webhook", crd.Name, converter)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, err
|
return nil, nil, err
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user