Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion manifests/03-rbac-role-ns-openshift-ingress-operator.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ metadata:
include.release.openshift.io/ibm-cloud-managed: "true"
include.release.openshift.io/self-managed-high-availability: "true"
include.release.openshift.io/single-node-developer: "true"
capability.openshift.io/name: Console
capability.openshift.io/name: Console+Ingress
rules:
- apiGroups:
- ""
Expand Down
2 changes: 1 addition & 1 deletion manifests/04-rbac-rolebinding.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ metadata:
include.release.openshift.io/ibm-cloud-managed: "true"
include.release.openshift.io/self-managed-high-availability: "true"
include.release.openshift.io/single-node-developer: "true"
capability.openshift.io/name: Console
capability.openshift.io/name: Console+Ingress
roleRef:
kind: Role
name: console-operator
Expand Down
37 changes: 27 additions & 10 deletions pkg/console/controllers/clidownloads/controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,11 +47,13 @@ import (

type CLIDownloadsSyncController struct {
// clients
operatorClient v1helpers.OperatorClient
consoleCliDownloadsClient consoleclientv1.ConsoleCLIDownloadInterface
routeLister routev1listers.RouteLister
ingressConfigLister configlistersv1.IngressLister
operatorConfigLister operatorv1listers.ConsoleLister
operatorClient v1helpers.OperatorClient
consoleCliDownloadsClient consoleclientv1.ConsoleCLIDownloadInterface
routeLister routev1listers.RouteLister
ingressConfigLister configlistersv1.IngressLister
infrastructureConfigLister configlistersv1.InfrastructureLister
clusterVersionLister configlistersv1.ClusterVersionLister
operatorConfigLister operatorv1listers.ConsoleLister
}

func NewCLIDownloadsSyncController(
Expand All @@ -71,11 +73,13 @@ func NewCLIDownloadsSyncController(

ctrl := &CLIDownloadsSyncController{
// clients
operatorClient: operatorClient,
consoleCliDownloadsClient: cliDownloadsInterface,
routeLister: routeInformer.Lister(),
ingressConfigLister: configInformer.Config().V1().Ingresses().Lister(),
operatorConfigLister: operatorConfigInformer.Lister(),
operatorClient: operatorClient,
consoleCliDownloadsClient: cliDownloadsInterface,
routeLister: routeInformer.Lister(),
ingressConfigLister: configInformer.Config().V1().Ingresses().Lister(),
infrastructureConfigLister: configInformer.Config().V1().Infrastructures().Lister(),
clusterVersionLister: configInformer.Config().V1().ClusterVersions().Lister(),
operatorConfigLister: operatorConfigInformer.Lister(),
}

configV1Informers := configInformer.Config().V1()
Expand Down Expand Up @@ -121,6 +125,19 @@ func (c *CLIDownloadsSyncController) Sync(ctx context.Context, controllerContext
downloadsErr error
)
if len(operatorConfig.Spec.Ingress.ClientDownloadsURL) == 0 {
infrastructureConfig, err := c.infrastructureConfigLister.Get(api.ConfigResourceName)
if err != nil {
return statusHandler.FlushAndReturn(err)
}
clusterVersionConfig, err := c.clusterVersionLister.Get(api.VersionResourceName)
if err != nil {
return statusHandler.FlushAndReturn(err)
}
if controllersutil.IsExternalControlPlaneWithIngressDisabled(infrastructureConfig, clusterVersionConfig) {
statusHandler.AddCondition(status.HandleDegraded("OCDownloadsSync", "", nil))
return statusHandler.FlushAndReturn(nil)
}

Comment thread
stefanonardo marked this conversation as resolved.
ingressConfig, err := c.ingressConfigLister.Get(api.ConfigResourceName)
if err != nil {
return statusHandler.FlushAndReturn(err)
Expand Down
19 changes: 19 additions & 0 deletions pkg/console/controllers/oauthclients/oauthclients.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,8 @@ type oauthClientsController struct {
consoleOperatorLister operatorv1listers.ConsoleLister
routesLister routev1listers.RouteLister
ingressConfigLister configv1lister.IngressLister
infrastructureConfigLister configv1lister.InfrastructureLister
clusterVersionLister configv1lister.ClusterVersionLister
Comment thread
stefanonardo marked this conversation as resolved.
targetNSSecretsLister corev1listers.SecretLister
}

Expand All @@ -67,6 +69,8 @@ func NewOAuthClientsController(
consoleOperatorInformer operatorv1informers.ConsoleInformer,
routeInformer routev1informers.RouteInformer,
ingressConfigInformer configv1informers.IngressInformer,
infrastructureConfigInformer configv1informers.InfrastructureInformer,
clusterVersionInformer configv1informers.ClusterVersionInformer,
targetNSsecretsInformer corev1informers.SecretInformer,
oauthClientSwitchedInformer *util.InformerWithSwitch,
recorder events.Recorder,
Expand All @@ -81,6 +85,8 @@ func NewOAuthClientsController(
consoleOperatorLister: consoleOperatorInformer.Lister(),
routesLister: routeInformer.Lister(),
ingressConfigLister: ingressConfigInformer.Lister(),
infrastructureConfigLister: infrastructureConfigInformer.Lister(),
clusterVersionLister: clusterVersionInformer.Lister(),
targetNSSecretsLister: targetNSsecretsInformer.Lister(),
}

Expand Down Expand Up @@ -138,6 +144,19 @@ func (c *oauthClientsController) sync(ctx context.Context, controllerContext fac
var consoleURL *url.URL

if len(operatorConfig.Spec.Ingress.ConsoleURL) == 0 {
infrastructureConfig, err := c.infrastructureConfigLister.Get(api.ConfigResourceName)
if err != nil {
return err
}
clusterVersionConfig, err := c.clusterVersionLister.Get(api.VersionResourceName)
if err != nil {
return err
}
if util.IsExternalControlPlaneWithIngressDisabled(infrastructureConfig, clusterVersionConfig) {
statusHandler.AddConditions(status.HandleProgressingOrDegraded("OAuthClientSync", "", nil))
return statusHandler.FlushAndReturn(nil)
}

routeName := api.OpenShiftConsoleRouteName
routeConfig := routesub.NewRouteConfig(operatorConfig, ingressConfig, routeName)
if routeConfig.IsCustomHostnameSet() {
Expand Down
10 changes: 5 additions & 5 deletions pkg/console/controllers/route/controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -176,11 +176,6 @@ func (c *RouteSyncController) Sync(ctx context.Context, controllerContext factor
return statusHandler.FlushAndReturn(err)
}

ingressControllerConfig, err := c.ingressControllerLister.IngressControllers(api.IngressControllerNamespace).Get(api.DefaultIngressController)
if err != nil {
return statusHandler.FlushAndReturn(err)
}

clusterVersionConfig, err := c.clusterVersionLister.Get("version")
if err != nil {
return statusHandler.FlushAndReturn(err)
Expand All @@ -193,6 +188,11 @@ func (c *RouteSyncController) Sync(ctx context.Context, controllerContext factor
return statusHandler.FlushAndReturn(nil)
}

ingressControllerConfig, err := c.ingressControllerLister.IngressControllers(api.IngressControllerNamespace).Get(api.DefaultIngressController)
if err != nil {
return statusHandler.FlushAndReturn(err)
}

ingressConfig, err := c.ingressConfigLister.Get(api.ConfigResourceName)
if err != nil {
return statusHandler.FlushAndReturn(err)
Expand Down
8 changes: 8 additions & 0 deletions pkg/console/operator/sync_v400.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,14 @@ func (co *consoleOperator) sync_v400(ctx context.Context, controllerContext fact
)

if len(set.Operator.Spec.Ingress.ConsoleURL) == 0 {
clusterVersionConfig, err := co.clusterVersionLister.Get(api.VersionResourceName)
if err != nil {
return statusHandler.FlushAndReturn(err)
}
if controllersutil.IsExternalControlPlaneWithIngressDisabled(set.Infrastructure, clusterVersionConfig) {
return statusHandler.FlushAndReturn(nil)
}

routeName := api.OpenShiftConsoleRouteName
routeConfig := routesub.NewRouteConfig(updatedOperatorConfig, set.Ingress, routeName)
if routeConfig.IsCustomHostnameSet() {
Expand Down
Loading