@@ -26,12 +26,14 @@ import (
26
26
operatorsv1 "github.com/openshift/api/operator/v1"
27
27
configclientv1 "github.com/openshift/client-go/config/clientset/versioned/typed/config/v1"
28
28
configinformer "github.com/openshift/client-go/config/informers/externalversions"
29
+ configlistersv1 "github.com/openshift/client-go/config/listers/config/v1"
29
30
consoleinformersv1 "github.com/openshift/client-go/console/informers/externalversions/console/v1"
30
31
listerv1 "github.com/openshift/client-go/console/listers/console/v1"
31
32
oauthinformersv1 "github.com/openshift/client-go/oauth/informers/externalversions/oauth/v1"
32
33
oauthlistersv1 "github.com/openshift/client-go/oauth/listers/oauth/v1"
33
34
operatorclientv1 "github.com/openshift/client-go/operator/clientset/versioned/typed/operator/v1"
34
35
operatorinformerv1 "github.com/openshift/client-go/operator/informers/externalversions/operator/v1"
36
+ operatorlistersv1 "github.com/openshift/client-go/operator/listers/operator/v1"
35
37
routeclientv1 "github.com/openshift/client-go/route/clientset/versioned/typed/route/v1"
36
38
routesinformersv1 "github.com/openshift/client-go/route/informers/externalversions/route/v1"
37
39
routev1listers "github.com/openshift/client-go/route/listers/route/v1"
@@ -54,14 +56,14 @@ import (
54
56
55
57
type consoleOperator struct {
56
58
// configs
57
- operatorClient v1helpers.OperatorClient
58
- operatorConfigClient operatorclientv1 .ConsoleInterface
59
- consoleConfigClient configclientv1. ConsoleInterface
60
- infrastructureConfigClient configclientv1. InfrastructureInterface
61
- ingressConfigClient configclientv1. IngressInterface
62
- proxyConfigClient configclientv1. ProxyInterface
63
- oauthConfigClient configclientv1. OAuthInterface
64
- dynamicClient dynamic.Interface
59
+ operatorClient v1helpers.OperatorClient
60
+ consoleConfigClient configclientv1 .ConsoleInterface
61
+ consoleConfigLister configlistersv1. ConsoleLister
62
+ infrastructureLister configlistersv1. InfrastructureLister
63
+ ingressConfigLister configlistersv1. IngressLister
64
+ proxyConfigLister configlistersv1. ProxyLister
65
+ oauthConfigLister configlistersv1. OAuthLister
66
+ dynamicClient dynamic.Interface
65
67
// core kube
66
68
secretsClient coreclientv1.SecretsGetter
67
69
secretsLister corev1listers.SecretLister
@@ -70,10 +72,11 @@ type consoleOperator struct {
70
72
nodeClient coreclientv1.NodesGetter
71
73
deploymentClient appsclientv1.DeploymentsGetter
72
74
// openshift
73
- oauthClientLister oauthlistersv1.OAuthClientLister
74
- routeClient routeclientv1.RoutesGetter
75
- routeLister routev1listers.RouteLister
76
- versionGetter status.VersionGetter
75
+ oauthClientLister oauthlistersv1.OAuthClientLister
76
+ consoleOperatorLister operatorlistersv1.ConsoleLister
77
+ routeClient routeclientv1.RoutesGetter
78
+ routeLister routev1listers.RouteLister
79
+ versionGetter status.VersionGetter
77
80
// lister
78
81
consolePluginLister listerv1.ConsolePluginLister
79
82
@@ -125,13 +128,14 @@ func NewConsoleOperator(
125
128
126
129
c := & consoleOperator {
127
130
// configs
128
- operatorClient : operatorClient ,
129
- operatorConfigClient : operatorConfigClient .Consoles (),
130
- consoleConfigClient : configClient .Consoles (),
131
- infrastructureConfigClient : configClient .Infrastructures (),
132
- ingressConfigClient : configClient .Ingresses (),
133
- proxyConfigClient : configClient .Proxies (),
134
- oauthConfigClient : configClient .OAuths (),
131
+ operatorClient : operatorClient ,
132
+ consoleOperatorLister : operatorConfigInformer .Lister (),
133
+ consoleConfigClient : configClient .Consoles (),
134
+ consoleConfigLister : configInformer .Config ().V1 ().Consoles ().Lister (),
135
+ infrastructureLister : configInformer .Config ().V1 ().Infrastructures ().Lister (),
136
+ ingressConfigLister : configInformer .Config ().V1 ().Ingresses ().Lister (),
137
+ proxyConfigLister : configInformer .Config ().V1 ().Proxies ().Lister (),
138
+ oauthConfigLister : configInformer .Config ().V1 ().OAuths ().Lister (),
135
139
// console resources
136
140
// core kube
137
141
secretsClient : corev1Client ,
@@ -255,55 +259,57 @@ type configSet struct {
255
259
}
256
260
257
261
func (c * consoleOperator ) Sync (ctx context.Context , controllerContext factory.SyncContext ) error {
258
- operatorConfig , err := c .operatorConfigClient .Get (ctx , api .ConfigResourceName , metav1. GetOptions {} )
262
+ operatorConfig , err := c .consoleOperatorLister .Get (api .ConfigResourceName )
259
263
if err != nil {
260
264
klog .Error ("failed to retrieve operator config: %v" , err )
261
265
return err
262
266
}
263
267
264
268
startTime := time .Now ()
265
269
klog .V (4 ).Infof ("started syncing operator %q (%v)" , operatorConfig .Name , startTime )
266
- defer klog .V (4 ).Infof ("finished syncing operator %q (%v)" , operatorConfig .Name , time .Since (startTime ))
270
+ defer func () {
271
+ klog .V (4 ).Infof ("finished syncing operator %q (%v)" , operatorConfig .Name , time .Since (startTime ))
272
+ }()
267
273
268
274
// ensure we have top level console config
269
- consoleConfig , err := c .consoleConfigClient .Get (ctx , api .ConfigResourceName , metav1. GetOptions {} )
275
+ consoleConfig , err := c .consoleConfigLister .Get (api .ConfigResourceName )
270
276
if err != nil {
271
277
klog .Errorf ("console config error: %v" , err )
272
278
return err
273
279
}
274
280
275
281
// we need infrastructure config for apiServerURL
276
- infrastructureConfig , err := c .infrastructureConfigClient .Get (ctx , api .ConfigResourceName , metav1. GetOptions {} )
282
+ infrastructureConfig , err := c .infrastructureLister .Get (api .ConfigResourceName )
277
283
if err != nil {
278
284
klog .Errorf ("infrastructure config error: %v" , err )
279
285
return err
280
286
}
281
287
282
- proxyConfig , err := c .proxyConfigClient .Get (ctx , api .ConfigResourceName , metav1. GetOptions {} )
288
+ proxyConfig , err := c .proxyConfigLister .Get (api .ConfigResourceName )
283
289
if err != nil {
284
290
klog .Errorf ("proxy config error: %v" , err )
285
291
return err
286
292
}
287
293
288
- oauthConfig , err := c .oauthConfigClient .Get (ctx , api .ConfigResourceName , metav1. GetOptions {} )
294
+ oauthConfig , err := c .oauthConfigLister .Get (api .ConfigResourceName )
289
295
if err != nil {
290
296
klog .Errorf ("oauth config error: %v" , err )
291
297
return err
292
298
}
293
299
294
- ingressConfig , err := c .ingressConfigClient .Get (ctx , api .ConfigResourceName , metav1. GetOptions {} )
300
+ ingressConfig , err := c .ingressConfigLister .Get (api .ConfigResourceName )
295
301
if err != nil {
296
302
klog .Errorf ("ingress config error: %v" , err )
297
303
return err
298
304
}
299
305
300
306
configs := configSet {
301
- Console : consoleConfig ,
302
- Operator : operatorConfig ,
303
- Infrastructure : infrastructureConfig ,
304
- Proxy : proxyConfig ,
305
- OAuth : oauthConfig ,
306
- Ingress : ingressConfig ,
307
+ Console : consoleConfig . DeepCopy () ,
308
+ Operator : operatorConfig . DeepCopy () ,
309
+ Infrastructure : infrastructureConfig . DeepCopy () ,
310
+ Proxy : proxyConfig . DeepCopy () ,
311
+ OAuth : oauthConfig . DeepCopy () ,
312
+ Ingress : ingressConfig . DeepCopy () ,
307
313
}
308
314
309
315
if err := c .handleSync (ctx , controllerContext , configs ); err != nil {
0 commit comments