Skip to content

Commit 4ef45c4

Browse files
Merge pull request #899 from dgoodwin/revert-895-1715360961412
TRT-1664: Revert #895 "CONSOLE-4047: Console-operator should be internally using listers for fetching data"
2 parents 3687d04 + eed85c8 commit 4ef45c4

File tree

9 files changed

+181
-149
lines changed

9 files changed

+181
-149
lines changed

pkg/console/controllers/clidownloads/controller.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,13 @@ import (
2727
// informers
2828
configclientv1 "github.com/openshift/client-go/config/clientset/versioned/typed/config/v1"
2929
configinformer "github.com/openshift/client-go/config/informers/externalversions"
30-
configlistersv1 "github.com/openshift/client-go/config/listers/config/v1"
3130
consoleinformersv1 "github.com/openshift/client-go/console/informers/externalversions/console/v1"
3231
operatorinformersv1 "github.com/openshift/client-go/operator/informers/externalversions/operator/v1"
3332
routesinformersv1 "github.com/openshift/client-go/route/informers/externalversions/route/v1"
34-
routev1listers "github.com/openshift/client-go/route/listers/route/v1"
3533

3634
// clients
3735
consoleclientv1 "github.com/openshift/client-go/console/clientset/versioned/typed/console/v1"
36+
routeclientv1 "github.com/openshift/client-go/route/clientset/versioned/typed/route/v1"
3837

3938
// operator
4039
"github.com/openshift/console-operator/pkg/api"
@@ -48,8 +47,8 @@ type CLIDownloadsSyncController struct {
4847
// clients
4948
operatorClient v1helpers.OperatorClient
5049
consoleCliDownloadsClient consoleclientv1.ConsoleCLIDownloadInterface
51-
routeLister routev1listers.RouteLister
52-
ingressConfigLister configlistersv1.IngressLister
50+
ingressClient configclientv1.IngressInterface
51+
routeClient routeclientv1.RoutesGetter
5352
operatorConfigLister operatorv1listers.ConsoleLister
5453
}
5554

@@ -59,6 +58,7 @@ func NewCLIDownloadsSyncController(
5958
// clients
6059
operatorClient v1helpers.OperatorClient,
6160
cliDownloadsInterface consoleclientv1.ConsoleCLIDownloadInterface,
61+
routeClient routeclientv1.RoutesGetter,
6262
// informers
6363
operatorConfigInformer operatorinformersv1.ConsoleInformer,
6464
configInformer configinformer.SharedInformerFactory,
@@ -72,8 +72,8 @@ func NewCLIDownloadsSyncController(
7272
// clients
7373
operatorClient: operatorClient,
7474
consoleCliDownloadsClient: cliDownloadsInterface,
75-
routeLister: routeInformer.Lister(),
76-
ingressConfigLister: configInformer.Config().V1().Ingresses().Lister(),
75+
ingressClient: configClient.Ingresses(),
76+
routeClient: routeClient,
7777
operatorConfigLister: operatorConfigInformer.Lister(),
7878
}
7979

@@ -114,7 +114,7 @@ func (c *CLIDownloadsSyncController) Sync(ctx context.Context, controllerContext
114114
}
115115

116116
statusHandler := status.NewStatusHandler(c.operatorClient)
117-
ingressConfig, err := c.ingressConfigLister.Get(api.ConfigResourceName)
117+
ingressConfig, err := c.ingressClient.Get(ctx, api.ConfigResourceName, metav1.GetOptions{})
118118
if err != nil {
119119
return statusHandler.FlushAndReturn(err)
120120
}
@@ -125,7 +125,7 @@ func (c *CLIDownloadsSyncController) Sync(ctx context.Context, controllerContext
125125
activeRouteName = api.OpenshiftDownloadsCustomRouteName
126126
}
127127

128-
downloadsRoute, downloadsRouteErr := c.routeLister.Routes(api.TargetNamespace).Get(activeRouteName)
128+
downloadsRoute, downloadsRouteErr := c.routeClient.Routes(api.TargetNamespace).Get(ctx, activeRouteName, metav1.GetOptions{})
129129
if downloadsRouteErr != nil {
130130
return downloadsRouteErr
131131
}

pkg/console/controllers/healthcheck/controller.go

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,9 @@ import (
1010

1111
// k8s
1212

13+
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1314
coreinformersv1 "k8s.io/client-go/informers/core/v1"
14-
corev1listers "k8s.io/client-go/listers/core/v1"
15+
coreclientv1 "k8s.io/client-go/kubernetes/typed/core/v1"
1516
"k8s.io/client-go/util/retry"
1617
"k8s.io/klog/v2"
1718

@@ -21,11 +22,10 @@ import (
2122
routev1 "github.com/openshift/api/route/v1"
2223
configclientv1 "github.com/openshift/client-go/config/clientset/versioned/typed/config/v1"
2324
configinformer "github.com/openshift/client-go/config/informers/externalversions"
24-
configlistersv1 "github.com/openshift/client-go/config/listers/config/v1"
2525
v1 "github.com/openshift/client-go/operator/informers/externalversions/operator/v1"
2626
operatorv1listers "github.com/openshift/client-go/operator/listers/operator/v1"
27+
routeclientv1 "github.com/openshift/client-go/route/clientset/versioned/typed/route/v1"
2728
routesinformersv1 "github.com/openshift/client-go/route/informers/externalversions/route/v1"
28-
routev1listers "github.com/openshift/client-go/route/listers/route/v1"
2929
"github.com/openshift/library-go/pkg/controller/factory"
3030
"github.com/openshift/library-go/pkg/operator/events"
3131
"github.com/openshift/library-go/pkg/operator/v1helpers"
@@ -40,19 +40,21 @@ import (
4040

4141
type HealthCheckController struct {
4242
// clients
43-
operatorClient v1helpers.OperatorClient
44-
infrastructureConfigLister configlistersv1.InfrastructureLister
45-
configMapLister corev1listers.ConfigMapLister
46-
routeLister routev1listers.RouteLister
47-
ingressConfigLister configlistersv1.IngressLister
48-
operatorConfigLister operatorv1listers.ConsoleLister
43+
operatorClient v1helpers.OperatorClient
44+
operatorConfigLister operatorv1listers.ConsoleLister
45+
infrastructureClient configclientv1.InfrastructureInterface
46+
ingressClient configclientv1.IngressInterface
47+
routeClient routeclientv1.RoutesGetter
48+
configMapClient coreclientv1.ConfigMapsGetter
4949
}
5050

5151
func NewHealthCheckController(
5252
// top level config
5353
configClient configclientv1.ConfigV1Interface,
5454
// clients
5555
operatorClient v1helpers.OperatorClient,
56+
routev1Client routeclientv1.RoutesGetter,
57+
configMapClient coreclientv1.ConfigMapsGetter,
5658
// informers
5759
operatorConfigInformer v1.ConsoleInformer,
5860
configInformer configinformer.SharedInformerFactory,
@@ -62,12 +64,12 @@ func NewHealthCheckController(
6264
recorder events.Recorder,
6365
) factory.Controller {
6466
ctrl := &HealthCheckController{
65-
operatorClient: operatorClient,
66-
operatorConfigLister: operatorConfigInformer.Lister(),
67-
infrastructureConfigLister: configInformer.Config().V1().Infrastructures().Lister(),
68-
ingressConfigLister: configInformer.Config().V1().Ingresses().Lister(),
69-
routeLister: routeInformer.Lister(),
70-
configMapLister: coreInformer.ConfigMaps().Lister(),
67+
operatorClient: operatorClient,
68+
operatorConfigLister: operatorConfigInformer.Lister(),
69+
infrastructureClient: configClient.Infrastructures(),
70+
ingressClient: configClient.Ingresses(),
71+
routeClient: routev1Client,
72+
configMapClient: configMapClient,
7173
}
7274

7375
configMapInformer := coreInformer.ConfigMaps()
@@ -111,12 +113,12 @@ func (c *HealthCheckController) Sync(ctx context.Context, controllerContext fact
111113
default:
112114
return fmt.Errorf("unknown state: %v", updatedOperatorConfig.Spec.ManagementState)
113115
}
114-
ingressConfig, err := c.ingressConfigLister.Get(api.ConfigResourceName)
116+
ingressConfig, err := c.ingressClient.Get(ctx, api.ConfigResourceName, metav1.GetOptions{})
115117
if err != nil {
116118
klog.Errorf("ingress config error: %v", err)
117119
return statusHandler.FlushAndReturn(err)
118120
}
119-
infrastructureConfig, err := c.infrastructureConfigLister.Get(api.ConfigResourceName)
121+
infrastructureConfig, err := c.infrastructureClient.Get(ctx, api.ConfigResourceName, metav1.GetOptions{})
120122
if err != nil {
121123
klog.Errorf("infrastructure config error: %v", err)
122124
return statusHandler.FlushAndReturn(err)
@@ -134,7 +136,7 @@ func (c *HealthCheckController) Sync(ctx context.Context, controllerContext fact
134136
activeRouteName = api.OpenshiftConsoleCustomRouteName
135137
}
136138

137-
activeRoute, activeRouteErr := c.routeLister.Routes(api.OpenShiftConsoleNamespace).Get(activeRouteName)
139+
activeRoute, activeRouteErr := c.routeClient.Routes(api.OpenShiftConsoleNamespace).Get(ctx, activeRouteName, metav1.GetOptions{})
138140
statusHandler.AddConditions(status.HandleProgressingOrDegraded("RouteHealth", "FailedRouteGet", activeRouteErr))
139141
if activeRouteErr != nil {
140142
statusHandler.FlushAndReturn(activeRouteErr)
@@ -199,7 +201,7 @@ func (c *HealthCheckController) getCA(ctx context.Context, tls *routev1.TLSConfi
199201
}
200202

201203
for _, cmName := range []string{api.TrustedCAConfigMapName, api.DefaultIngressCertConfigMapName} {
202-
cm, err := c.configMapLister.ConfigMaps(api.OpenShiftConsoleNamespace).Get(cmName)
204+
cm, err := c.configMapClient.ConfigMaps(api.OpenShiftConsoleNamespace).Get(ctx, cmName, metav1.GetOptions{})
203205
if err != nil {
204206
klog.V(4).Infof("failed to GET configmap %s / %s ", api.OpenShiftConsoleNamespace, cmName)
205207
return nil, err

pkg/console/controllers/route/controller.go

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,15 @@ import (
1111
apierrors "k8s.io/apimachinery/pkg/api/errors"
1212
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1313
coreinformersv1 "k8s.io/client-go/informers/core/v1"
14-
corev1listers "k8s.io/client-go/listers/core/v1"
14+
coreclientv1 "k8s.io/client-go/kubernetes/typed/core/v1"
1515
"k8s.io/klog/v2"
1616

1717
// openshift
1818
configv1 "github.com/openshift/api/config/v1"
1919
operatorsv1 "github.com/openshift/api/operator/v1"
2020
routev1 "github.com/openshift/api/route/v1"
21+
configclientv1 "github.com/openshift/client-go/config/clientset/versioned/typed/config/v1"
2122
configinformer "github.com/openshift/client-go/config/informers/externalversions"
22-
configlistersv1 "github.com/openshift/client-go/config/listers/config/v1"
2323
v1 "github.com/openshift/client-go/operator/informers/externalversions/operator/v1"
2424
operatorv1listers "github.com/openshift/client-go/operator/listers/operator/v1"
2525
routeclientv1 "github.com/openshift/client-go/route/clientset/versioned/typed/route/v1"
@@ -41,20 +41,22 @@ type RouteSyncController struct {
4141
isHealthCheckEnabled bool
4242
// clients
4343
operatorClient v1helpers.OperatorClient
44-
routeClient routeclientv1.RoutesGetter
4544
operatorConfigLister operatorv1listers.ConsoleLister
46-
ingressConfigLister configlistersv1.IngressLister
47-
secretLister corev1listers.SecretLister
45+
ingressClient configclientv1.IngressInterface
46+
routeClient routeclientv1.RoutesGetter
47+
secretClient coreclientv1.SecretsGetter
4848
}
4949

5050
func NewRouteSyncController(
5151
routeName string,
5252
isHealthCheckEnabled bool,
5353
// top level config
54+
configClient configclientv1.ConfigV1Interface,
5455
configInformer configinformer.SharedInformerFactory,
5556
// clients
5657
operatorClient v1helpers.OperatorClient,
5758
routev1Client routeclientv1.RoutesGetter,
59+
secretClient coreclientv1.SecretsGetter,
5860
// informers
5961
operatorConfigInformer v1.ConsoleInformer,
6062
secretInformer coreinformersv1.SecretInformer,
@@ -67,9 +69,9 @@ func NewRouteSyncController(
6769
isHealthCheckEnabled: isHealthCheckEnabled,
6870
operatorClient: operatorClient,
6971
operatorConfigLister: operatorConfigInformer.Lister(),
70-
ingressConfigLister: configInformer.Config().V1().Ingresses().Lister(),
72+
ingressClient: configClient.Ingresses(),
7173
routeClient: routev1Client,
72-
secretLister: secretInformer.Lister(),
74+
secretClient: secretClient,
7375
}
7476

7577
configV1Informers := configInformer.Config().V1()
@@ -114,7 +116,7 @@ func (c *RouteSyncController) Sync(ctx context.Context, controllerContext factor
114116

115117
statusHandler := status.NewStatusHandler(c.operatorClient)
116118

117-
ingressConfig, err := c.ingressConfigLister.Get(api.ConfigResourceName)
119+
ingressConfig, err := c.ingressClient.Get(ctx, api.ConfigResourceName, metav1.GetOptions{})
118120
if err != nil {
119121
return statusHandler.FlushAndReturn(err)
120122
}
@@ -224,7 +226,7 @@ func (c *RouteSyncController) SyncCustomRoute(ctx context.Context, routeConfig *
224226

225227
func (c *RouteSyncController) GetCustomRouteTLSSecret(ctx context.Context, routeConfig *routesub.RouteConfig) (*corev1.Secret, error) {
226228
if routeConfig.IsCustomTLSSecretSet() {
227-
customTLSSecret, customTLSSecretErr := c.secretLister.Secrets(api.OpenShiftConfigNamespace).Get(routeConfig.GetCustomTLSSecretName())
229+
customTLSSecret, customTLSSecretErr := c.secretClient.Secrets(api.OpenShiftConfigNamespace).Get(ctx, routeConfig.GetCustomTLSSecretName(), metav1.GetOptions{})
228230
if customTLSSecretErr != nil {
229231
return nil, fmt.Errorf("failed to GET custom route TLS secret: %s", customTLSSecretErr)
230232
}
@@ -244,7 +246,7 @@ func (c *RouteSyncController) GetDefaultRouteTLSSecret(ctx context.Context, rout
244246
return nil, nil
245247
}
246248

247-
secret, secretErr := c.secretLister.Secrets(api.OpenShiftConfigNamespace).Get(routeConfig.GetDefaultTLSSecretName())
249+
secret, secretErr := c.secretClient.Secrets(api.OpenShiftConfigNamespace).Get(ctx, routeConfig.GetDefaultTLSSecretName(), metav1.GetOptions{})
248250
if secretErr != nil {
249251
return nil, fmt.Errorf("failed to GET default route TLS secret: %s", secretErr)
250252
}

pkg/console/controllers/service/controller.go

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ 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-
configlistersv1 "github.com/openshift/client-go/config/listers/config/v1"
1918
operatorinformersv1 "github.com/openshift/client-go/operator/informers/externalversions/operator/v1"
2019
operatorv1listers "github.com/openshift/client-go/operator/listers/operator/v1"
2120
"github.com/openshift/console-operator/bindata"
@@ -34,12 +33,12 @@ import (
3433
// the informers will automatically notify it of changes
3534
// and kick the sync loop
3635
type ServiceSyncController struct {
37-
serviceName string
38-
operatorClient v1helpers.OperatorClient
39-
serviceClient coreclientv1.ServicesGetter
40-
36+
serviceName string
37+
operatorClient v1helpers.OperatorClient
4138
operatorConfigLister operatorv1listers.ConsoleLister
42-
ingressConfigLister configlistersv1.IngressLister
39+
ingressClient configclientv1.IngressInterface
40+
// live clients, we dont need listers w/caches
41+
serviceClient coreclientv1.ServicesGetter
4342
}
4443

4544
// factory func needs clients and informers
@@ -63,7 +62,7 @@ func NewServiceSyncController(
6362
serviceName: serviceName,
6463
operatorClient: operatorClient,
6564
operatorConfigLister: operatorConfigInformer.Lister(),
66-
ingressConfigLister: configInformer.Config().V1().Ingresses().Lister(),
65+
ingressClient: configClient.Ingresses(),
6766
serviceClient: corev1Client,
6867
}
6968

@@ -106,7 +105,7 @@ func (c *ServiceSyncController) Sync(ctx context.Context, controllerContext fact
106105

107106
statusHandler := status.NewStatusHandler(c.operatorClient)
108107

109-
ingressConfig, err := c.ingressConfigLister.Get(api.ConfigResourceName)
108+
ingressConfig, err := c.ingressClient.Get(ctx, api.ConfigResourceName, metav1.GetOptions{})
110109
if err != nil {
111110
return statusHandler.FlushAndReturn(err)
112111
}

pkg/console/controllers/upgradenotification/controller.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
v1 "github.com/openshift/api/config/v1"
1313
consolev1 "github.com/openshift/api/console/v1"
1414
operatorsv1 "github.com/openshift/api/operator/v1"
15+
configclientv1 "github.com/openshift/client-go/config/clientset/versioned/typed/config/v1"
1516
configinformer "github.com/openshift/client-go/config/informers/externalversions"
1617
configlistersv1 "github.com/openshift/client-go/config/listers/config/v1"
1718
consoleclientv1 "github.com/openshift/client-go/console/clientset/versioned/typed/console/v1"
@@ -42,6 +43,7 @@ type UpgradeNotificationController struct {
4243
// informers to start them up, clients to pass
4344
func NewUpgradeNotificationController(
4445
// top level config
46+
configClient configclientv1.ConfigV1Interface,
4547
configInformer configinformer.SharedInformerFactory,
4648
// clients
4749
operatorClient v1helpers.OperatorClient,

pkg/console/operator/operator.go

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,8 @@ type consoleOperator struct {
7575
configMapClient coreclientv1.ConfigMapsGetter
7676
targetNSConfigMapLister corev1listers.ConfigMapLister // for openshift-console namespace
7777
managedNSConfigMapLister corev1listers.ConfigMapLister // for openshift-config-managed namespace
78-
nodeLister corev1listers.NodeLister
78+
serviceClient coreclientv1.ServicesGetter
79+
nodeClient coreclientv1.NodesGetter
7980
deploymentClient appsclientv1.DeploymentsGetter
8081
// openshift
8182
operatorNSConfigMapLister corev1listers.ConfigMapLister //for openshift-console-operator namespace
@@ -117,6 +118,7 @@ func NewConsoleOperator(
117118
// oauth API
118119
oauthClientSwitchedInformer *util.InformerWithSwitch,
119120
// routes
121+
routev1Client routeclientv1.RoutesGetter,
120122
routeInformer routesinformersv1.RouteInformer,
121123
// plugins
122124
consolePluginInformer consoleinformersv1.ConsolePluginInformer,
@@ -167,11 +169,13 @@ func NewConsoleOperator(
167169
configNSConfigMapLister: configNSConfigMapInformer.Lister(),
168170
managedNSConfigMapLister: managedNSConfigMapInformer.Lister(),
169171

170-
nodeLister: nodeInformer.Lister(),
172+
serviceClient: corev1Client,
173+
nodeClient: corev1Client,
171174
deploymentClient: deploymentClient,
172175
dynamicClient: dynamicClient,
173176
// openshift
174177
oauthClientLister: oauthClientSwitchedInformer.Lister(),
178+
routeClient: routev1Client,
175179
routeLister: routeInformer.Lister(),
176180
versionGetter: versionGetter,
177181
// plugins

pkg/console/operator/sync_v400.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import (
1313
apierrors "k8s.io/apimachinery/pkg/api/errors"
1414
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
1515
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
16-
"k8s.io/apimachinery/pkg/labels"
1716
"k8s.io/apimachinery/pkg/runtime/schema"
1817
"k8s.io/apimachinery/pkg/util/sets"
1918
"k8s.io/klog/v2"
@@ -334,7 +333,8 @@ func (co *consoleOperator) SyncConfigMap(
334333
}
335334
managedConfig = &corev1.ConfigMap{}
336335
}
337-
nodeList, nodeListErr := co.nodeLister.List(labels.Everything())
336+
337+
nodeList, nodeListErr := co.nodeClient.Nodes().List(ctx, metav1.ListOptions{})
338338
if nodeListErr != nil {
339339
return nil, false, "FailedListNodes", nodeListErr
340340
}
@@ -630,10 +630,10 @@ func (co *consoleOperator) GetAvailablePlugins(enabledPluginsNames []string) []*
630630
return availablePlugins
631631
}
632632

633-
func getNodeComputeEnvironments(nodes []*corev1.Node) ([]string, []string) {
633+
func getNodeComputeEnvironments(nodes *corev1.NodeList) ([]string, []string) {
634634
nodeArchitecturesSet := sets.NewString()
635635
nodeOperatingSystemSet := sets.NewString()
636-
for _, node := range nodes {
636+
for _, node := range nodes.Items {
637637
nodeArch := node.Labels[api.NodeArchitectureLabel]
638638
if nodeArch == "" {
639639
klog.Warningf("Missing architecture label %q on node %q.", api.NodeArchitectureLabel, node.GetName())

0 commit comments

Comments
 (0)