Skip to content

Commit 8fc9630

Browse files
committed
remove live lookups of the operator state
1 parent a332a21 commit 8fc9630

File tree

7 files changed

+39
-43
lines changed

7 files changed

+39
-43
lines changed

pkg/console/controllers/clidownloads/controller.go

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import (
1717
// openshift
1818
v1 "github.com/openshift/api/console/v1"
1919
operatorsv1 "github.com/openshift/api/operator/v1"
20+
operatorv1listers "github.com/openshift/client-go/operator/listers/operator/v1"
2021
"github.com/openshift/library-go/pkg/controller/factory"
2122
"github.com/openshift/library-go/pkg/operator/events"
2223
"github.com/openshift/library-go/pkg/operator/resource/resourcemerge"
@@ -32,7 +33,6 @@ import (
3233

3334
// clients
3435
consoleclientv1 "github.com/openshift/client-go/console/clientset/versioned/typed/console/v1"
35-
operatorclientv1 "github.com/openshift/client-go/operator/clientset/versioned/typed/operator/v1"
3636
routeclientv1 "github.com/openshift/client-go/route/clientset/versioned/typed/route/v1"
3737

3838
// operator
@@ -49,15 +49,14 @@ type CLIDownloadsSyncController struct {
4949
consoleCliDownloadsClient consoleclientv1.ConsoleCLIDownloadInterface
5050
ingressClient configclientv1.IngressInterface
5151
routeClient routeclientv1.RoutesGetter
52-
operatorConfigClient operatorclientv1.ConsoleInterface
52+
operatorConfigLister operatorv1listers.ConsoleLister
5353
}
5454

5555
func NewCLIDownloadsSyncController(
5656
// top level config
5757
configClient configclientv1.ConfigV1Interface,
5858
// clients
5959
operatorClient v1helpers.OperatorClient,
60-
operatorConfigClient operatorclientv1.OperatorV1Interface,
6160
cliDownloadsInterface consoleclientv1.ConsoleCLIDownloadInterface,
6261
routeClient routeclientv1.RoutesGetter,
6362
// informers
@@ -75,7 +74,7 @@ func NewCLIDownloadsSyncController(
7574
consoleCliDownloadsClient: cliDownloadsInterface,
7675
ingressClient: configClient.Ingresses(),
7776
routeClient: routeClient,
78-
operatorConfigClient: operatorConfigClient.Consoles(),
77+
operatorConfigLister: operatorConfigInformer.Lister(),
7978
}
8079

8180
configV1Informers := configInformer.Config().V1()
@@ -95,7 +94,7 @@ func NewCLIDownloadsSyncController(
9594
}
9695

9796
func (c *CLIDownloadsSyncController) Sync(ctx context.Context, controllerContext factory.SyncContext) error {
98-
operatorConfig, err := c.operatorConfigClient.Get(ctx, api.ConfigResourceName, metav1.GetOptions{})
97+
operatorConfig, err := c.operatorConfigLister.Get(api.ConfigResourceName)
9998
if err != nil {
10099
return err
101100
}

pkg/console/controllers/healthcheck/controller.go

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ import (
2222
routev1 "github.com/openshift/api/route/v1"
2323
configclientv1 "github.com/openshift/client-go/config/clientset/versioned/typed/config/v1"
2424
configinformer "github.com/openshift/client-go/config/informers/externalversions"
25-
operatorclientv1 "github.com/openshift/client-go/operator/clientset/versioned/typed/operator/v1"
2625
v1 "github.com/openshift/client-go/operator/informers/externalversions/operator/v1"
26+
operatorv1listers "github.com/openshift/client-go/operator/listers/operator/v1"
2727
routeclientv1 "github.com/openshift/client-go/route/clientset/versioned/typed/route/v1"
2828
routesinformersv1 "github.com/openshift/client-go/route/informers/externalversions/route/v1"
2929
"github.com/openshift/library-go/pkg/controller/factory"
@@ -41,7 +41,7 @@ import (
4141
type HealthCheckController struct {
4242
// clients
4343
operatorClient v1helpers.OperatorClient
44-
operatorConfigClient operatorclientv1.ConsoleInterface
44+
operatorConfigLister operatorv1listers.ConsoleLister
4545
infrastructureClient configclientv1.InfrastructureInterface
4646
ingressClient configclientv1.IngressInterface
4747
routeClient routeclientv1.RoutesGetter
@@ -53,7 +53,6 @@ func NewHealthCheckController(
5353
configClient configclientv1.ConfigV1Interface,
5454
// clients
5555
operatorClient v1helpers.OperatorClient,
56-
operatorConfigClient operatorclientv1.ConsoleInterface,
5756
routev1Client routeclientv1.RoutesGetter,
5857
configMapClient coreclientv1.ConfigMapsGetter,
5958
// informers
@@ -66,7 +65,7 @@ func NewHealthCheckController(
6665
) factory.Controller {
6766
ctrl := &HealthCheckController{
6867
operatorClient: operatorClient,
69-
operatorConfigClient: operatorConfigClient,
68+
operatorConfigLister: operatorConfigInformer.Lister(),
7069
infrastructureClient: configClient.Infrastructures(),
7170
ingressClient: configClient.Ingresses(),
7271
routeClient: routev1Client,
@@ -94,7 +93,7 @@ func NewHealthCheckController(
9493

9594
func (c *HealthCheckController) Sync(ctx context.Context, controllerContext factory.SyncContext) error {
9695
statusHandler := status.NewStatusHandler(c.operatorClient)
97-
operatorConfig, err := c.operatorConfigClient.Get(ctx, api.ConfigResourceName, metav1.GetOptions{})
96+
operatorConfig, err := c.operatorConfigLister.Get(api.ConfigResourceName)
9897
if err != nil {
9998
klog.Errorf("operator config error: %v", err)
10099
return statusHandler.FlushAndReturn(err)

pkg/console/controllers/poddisruptionbudget/controller.go

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,8 @@ import (
1515

1616
// openshift
1717
operatorsv1 "github.com/openshift/api/operator/v1"
18-
operatorclientv1 "github.com/openshift/client-go/operator/clientset/versioned/typed/operator/v1"
18+
operatorv1informers "github.com/openshift/client-go/operator/informers/externalversions/operator/v1"
19+
operatorv1listers "github.com/openshift/client-go/operator/listers/operator/v1"
1920
"github.com/openshift/console-operator/bindata"
2021
"github.com/openshift/console-operator/pkg/console/status"
2122
"github.com/openshift/library-go/pkg/controller/factory"
@@ -33,7 +34,7 @@ import (
3334
type PodDisruptionBudgetController struct {
3435
pdbName string
3536
operatorClient v1helpers.OperatorClient
36-
operatorConfigClient operatorclientv1.ConsoleInterface
37+
operatorConfigLister operatorv1listers.ConsoleLister
3738
pdbClient policyv1client.PodDisruptionBudgetsGetter
3839
}
3940

@@ -42,7 +43,7 @@ func NewPodDisruptionBudgetController(
4243
pdbName string,
4344
// clients
4445
operatorClient v1helpers.OperatorClient,
45-
operatorConfigClient operatorclientv1.ConsoleInterface,
46+
operatorConfigInformer operatorv1informers.ConsoleInformer,
4647
pdbClient policyv1client.PodDisruptionBudgetsGetter,
4748
// informer
4849
pdbInformer policyv1.PodDisruptionBudgetInformer,
@@ -53,20 +54,25 @@ func NewPodDisruptionBudgetController(
5354
ctrl := &PodDisruptionBudgetController{
5455
pdbName: pdbName,
5556
operatorClient: operatorClient,
56-
operatorConfigClient: operatorConfigClient,
57+
operatorConfigLister: operatorConfigInformer.Lister(),
5758
pdbClient: pdbClient,
5859
}
5960

6061
return factory.New().
6162
WithFilteredEventsInformers(
6263
util.IncludeNamesFilter(pdbName),
6364
pdbInformer.Informer(),
64-
).ResyncEvery(time.Minute).WithSync(ctrl.Sync).
65+
).
66+
WithFilteredEventsInformers( // configs
67+
util.IncludeNamesFilter(api.ConfigResourceName),
68+
operatorConfigInformer.Informer(),
69+
).
70+
ResyncEvery(time.Minute).WithSync(ctrl.Sync).
6571
ToController("PodDisruptionBudgetController", recorder.WithComponentSuffix(fmt.Sprintf("%s-pdb-controller", pdbName)))
6672
}
6773

6874
func (c *PodDisruptionBudgetController) Sync(ctx context.Context, controllerContext factory.SyncContext) error {
69-
operatorConfig, err := c.operatorConfigClient.Get(ctx, api.ConfigResourceName, metav1.GetOptions{})
75+
operatorConfig, err := c.operatorConfigLister.Get(api.ConfigResourceName)
7076
if err != nil {
7177
return err
7278
}

pkg/console/controllers/route/controller.go

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ import (
2020
routev1 "github.com/openshift/api/route/v1"
2121
configclientv1 "github.com/openshift/client-go/config/clientset/versioned/typed/config/v1"
2222
configinformer "github.com/openshift/client-go/config/informers/externalversions"
23-
operatorclientv1 "github.com/openshift/client-go/operator/clientset/versioned/typed/operator/v1"
2423
v1 "github.com/openshift/client-go/operator/informers/externalversions/operator/v1"
24+
operatorv1listers "github.com/openshift/client-go/operator/listers/operator/v1"
2525
routeclientv1 "github.com/openshift/client-go/route/clientset/versioned/typed/route/v1"
2626
routesinformersv1 "github.com/openshift/client-go/route/informers/externalversions/route/v1"
2727
"github.com/openshift/library-go/pkg/controller/factory"
@@ -41,10 +41,9 @@ type RouteSyncController struct {
4141
isHealthCheckEnabled bool
4242
// clients
4343
operatorClient v1helpers.OperatorClient
44-
operatorConfigClient operatorclientv1.ConsoleInterface
44+
operatorConfigLister operatorv1listers.ConsoleLister
4545
ingressClient configclientv1.IngressInterface
4646
routeClient routeclientv1.RoutesGetter
47-
configMapClient coreclientv1.ConfigMapsGetter
4847
secretClient coreclientv1.SecretsGetter
4948
}
5049

@@ -56,7 +55,6 @@ func NewRouteSyncController(
5655
configInformer configinformer.SharedInformerFactory,
5756
// clients
5857
operatorClient v1helpers.OperatorClient,
59-
operatorConfigClient operatorclientv1.ConsoleInterface,
6058
routev1Client routeclientv1.RoutesGetter,
6159
secretClient coreclientv1.SecretsGetter,
6260
// informers
@@ -70,7 +68,7 @@ func NewRouteSyncController(
7068
routeName: routeName,
7169
isHealthCheckEnabled: isHealthCheckEnabled,
7270
operatorClient: operatorClient,
73-
operatorConfigClient: operatorConfigClient,
71+
operatorConfigLister: operatorConfigInformer.Lister(),
7472
ingressClient: configClient.Ingresses(),
7573
routeClient: routev1Client,
7674
secretClient: secretClient,
@@ -94,7 +92,7 @@ func NewRouteSyncController(
9492
}
9593

9694
func (c *RouteSyncController) Sync(ctx context.Context, controllerContext factory.SyncContext) error {
97-
operatorConfig, err := c.operatorConfigClient.Get(ctx, api.ConfigResourceName, metav1.GetOptions{})
95+
operatorConfig, err := c.operatorConfigLister.Get(api.ConfigResourceName)
9896
if err != nil {
9997
return err
10098
}

pkg/console/controllers/service/controller.go

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ import (
1515
operatorsv1 "github.com/openshift/api/operator/v1"
1616
configclientv1 "github.com/openshift/client-go/config/clientset/versioned/typed/config/v1"
1717
configinformer "github.com/openshift/client-go/config/informers/externalversions"
18-
operatorclientv1 "github.com/openshift/client-go/operator/clientset/versioned/typed/operator/v1"
1918
operatorinformersv1 "github.com/openshift/client-go/operator/informers/externalversions/operator/v1"
19+
operatorv1listers "github.com/openshift/client-go/operator/listers/operator/v1"
2020
"github.com/openshift/console-operator/bindata"
2121
"github.com/openshift/console-operator/pkg/api"
2222
"github.com/openshift/console-operator/pkg/console/controllers/util"
@@ -35,7 +35,7 @@ import (
3535
type ServiceSyncController struct {
3636
serviceName string
3737
operatorClient v1helpers.OperatorClient
38-
operatorConfigClient operatorclientv1.ConsoleInterface
38+
operatorConfigLister operatorv1listers.ConsoleLister
3939
ingressClient configclientv1.IngressInterface
4040
// live clients, we dont need listers w/caches
4141
serviceClient coreclientv1.ServicesGetter
@@ -50,7 +50,6 @@ func NewServiceSyncController(
5050
configInformer configinformer.SharedInformerFactory,
5151
// clients
5252
operatorClient v1helpers.OperatorClient,
53-
operatorConfigClient operatorclientv1.ConsoleInterface,
5453
corev1Client coreclientv1.CoreV1Interface,
5554
// informers
5655
operatorConfigInformer operatorinformersv1.ConsoleInformer,
@@ -62,7 +61,7 @@ func NewServiceSyncController(
6261
ctrl := &ServiceSyncController{
6362
serviceName: serviceName,
6463
operatorClient: operatorClient,
65-
operatorConfigClient: operatorConfigClient,
64+
operatorConfigLister: operatorConfigInformer.Lister(),
6665
ingressClient: configClient.Ingresses(),
6766
serviceClient: corev1Client,
6867
}
@@ -82,7 +81,7 @@ func NewServiceSyncController(
8281
}
8382

8483
func (c *ServiceSyncController) Sync(ctx context.Context, controllerContext factory.SyncContext) error {
85-
operatorConfig, err := c.operatorConfigClient.Get(ctx, api.ConfigResourceName, metav1.GetOptions{})
84+
operatorConfig, err := c.operatorConfigLister.Get(api.ConfigResourceName)
8685
if err != nil {
8786
return err
8887
}

pkg/console/controllers/upgradenotification/controller.go

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ import (
1616
configinformer "github.com/openshift/client-go/config/informers/externalversions"
1717
configlistersv1 "github.com/openshift/client-go/config/listers/config/v1"
1818
consoleclientv1 "github.com/openshift/client-go/console/clientset/versioned/typed/console/v1"
19-
operatorclientv1 "github.com/openshift/client-go/operator/clientset/versioned/typed/operator/v1"
19+
operatorv1informers "github.com/openshift/client-go/operator/informers/externalversions/operator/v1"
20+
operatorv1listers "github.com/openshift/client-go/operator/listers/operator/v1"
2021
"github.com/openshift/console-operator/pkg/api"
2122
"github.com/openshift/console-operator/pkg/console/controllers/util"
2223
"github.com/openshift/console-operator/pkg/console/status"
@@ -30,7 +31,7 @@ import (
3031
// and kick the sync loop
3132
type UpgradeNotificationController struct {
3233
operatorClient v1helpers.OperatorClient
33-
operatorConfigClient operatorclientv1.ConsoleInterface
34+
operatorConfigLister operatorv1listers.ConsoleLister
3435

3536
consoleNotificationClient consoleclientv1.ConsoleNotificationInterface
3637

@@ -46,15 +47,15 @@ func NewUpgradeNotificationController(
4647
configInformer configinformer.SharedInformerFactory,
4748
// clients
4849
operatorClient v1helpers.OperatorClient,
49-
operatorConfigClient operatorclientv1.ConsoleInterface,
50+
operatorConfigInformer operatorv1informers.ConsoleInformer,
5051
consoleNotificationClient consoleclientv1.ConsoleNotificationInterface,
5152

5253
recorder events.Recorder,
5354
) factory.Controller {
5455

5556
ctrl := &UpgradeNotificationController{
5657
operatorClient: operatorClient,
57-
operatorConfigClient: operatorConfigClient,
58+
operatorConfigLister: operatorConfigInformer.Lister(),
5859
consoleNotificationClient: consoleNotificationClient,
5960
clusterVersionLister: configInformer.Config().V1().ClusterVersions().Lister(),
6061
}
@@ -70,7 +71,7 @@ func NewUpgradeNotificationController(
7071
}
7172

7273
func (c *UpgradeNotificationController) Sync(ctx context.Context, controllerContext factory.SyncContext) error {
73-
operatorConfig, err := c.operatorConfigClient.Get(ctx, api.ConfigResourceName, metav1.GetOptions{})
74+
operatorConfig, err := c.operatorConfigLister.Get(api.ConfigResourceName)
7475
if err != nil {
7576
return err
7677
}

pkg/console/starter/starter.go

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -238,7 +238,6 @@ func RunOperator(ctx context.Context, controllerContext *controllercmd.Controlle
238238
configClient.ConfigV1(),
239239
// clients
240240
operatorClient,
241-
operatorConfigClient.OperatorV1(),
242241
consoleClient.ConsoleV1().ConsoleCLIDownloads(),
243242
routesClient.RouteV1(),
244243
// informers
@@ -257,8 +256,7 @@ func RunOperator(ctx context.Context, controllerContext *controllercmd.Controlle
257256
configInformers,
258257
// clients
259258
operatorClient,
260-
operatorConfigClient.OperatorV1().Consoles(), // operator config so we can update status
261-
kubeClient.CoreV1(), // only needs to interact with the service resource
259+
kubeClient.CoreV1(), // only needs to interact with the service resource
262260
// informers
263261
operatorConfigInformers.Operator().V1().Consoles(), // OperatorConfig
264262
kubeInformersNamespaced.Core().V1().Services(), // Services
@@ -273,8 +271,7 @@ func RunOperator(ctx context.Context, controllerContext *controllercmd.Controlle
273271
configInformers,
274272
operatorClient,
275273
// clients
276-
operatorConfigClient.OperatorV1().Consoles(), // operator config so we can update status
277-
kubeClient.CoreV1(), // only needs to interact with the service resource
274+
kubeClient.CoreV1(), // only needs to interact with the service resource
278275
// informers
279276
operatorConfigInformers.Operator().V1().Consoles(), // OperatorConfig
280277
kubeInformersNamespaced.Core().V1().Services(), // Services
@@ -291,7 +288,6 @@ func RunOperator(ctx context.Context, controllerContext *controllercmd.Controlle
291288
configInformers,
292289
// clients
293290
operatorClient,
294-
operatorConfigClient.OperatorV1().Consoles(),
295291
routesClient.RouteV1(),
296292
kubeClient.CoreV1(),
297293
// route
@@ -311,7 +307,6 @@ func RunOperator(ctx context.Context, controllerContext *controllercmd.Controlle
311307
configInformers,
312308
// clients
313309
operatorClient,
314-
operatorConfigClient.OperatorV1().Consoles(),
315310
routesClient.RouteV1(),
316311
kubeClient.CoreV1(),
317312
// route
@@ -327,7 +322,6 @@ func RunOperator(ctx context.Context, controllerContext *controllercmd.Controlle
327322
configClient.ConfigV1(),
328323
// clients
329324
operatorClient,
330-
operatorConfigClient.OperatorV1().Consoles(),
331325
routesClient.RouteV1(),
332326
kubeClient.CoreV1(),
333327
// route
@@ -345,7 +339,7 @@ func RunOperator(ctx context.Context, controllerContext *controllercmd.Controlle
345339
configInformers,
346340
// clients
347341
operatorClient,
348-
operatorConfigClient.OperatorV1().Consoles(),
342+
operatorConfigInformers.Operator().V1().Consoles(),
349343
consoleClient.ConsoleV1().ConsoleNotifications(),
350344
//events
351345
recorder,
@@ -433,7 +427,7 @@ func RunOperator(ctx context.Context, controllerContext *controllercmd.Controlle
433427
api.OpenShiftConsoleName,
434428
// clients
435429
operatorClient,
436-
operatorConfigClient.OperatorV1().Consoles(),
430+
operatorConfigInformers.Operator().V1().Consoles(),
437431
policyClient,
438432
// informers
439433
kubeInformersNamespaced.Policy().V1().PodDisruptionBudgets(),
@@ -445,7 +439,7 @@ func RunOperator(ctx context.Context, controllerContext *controllercmd.Controlle
445439
api.DownloadsResourceName,
446440
// clients
447441
operatorClient,
448-
operatorConfigClient.OperatorV1().Consoles(),
442+
operatorConfigInformers.Operator().V1().Consoles(),
449443
policyClient,
450444
// informers
451445
kubeInformersNamespaced.Policy().V1().PodDisruptionBudgets(),

0 commit comments

Comments
 (0)