Bug 1835221 - Sync loop should error out on resources that depend on route that is not admitted
Summary: Sync loop should error out on resources that depend on route that is not admi...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Management Console
Version: 4.5
Hardware: Unspecified
OS: Unspecified
unspecified
low
Target Milestone: ---
: 4.5.0
Assignee: Jakub Hadvig
QA Contact: Yadan Pei
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-05-13 12:28 UTC by Jakub Hadvig
Modified: 2020-07-13 17:38 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Cause: Not reporting issue of not admitted routes that are causes by degraded ingress-operator Consequence: No awareness about whats causing the issue with not admitted routes Fix: Sync loop should error out on resources that depend on route that is not admitted Result: Clear message whats causing the degradation of console-operator
Clone Of:
Environment:
Last Closed: 2020-07-13 17:38:25 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github openshift console-operator pull 427 0 None closed Bug 1835221: Sync loop should error out on resources that depend on route that is not admitted 2021-02-12 10:28:41 UTC
Red Hat Product Errata RHBA-2020:2409 0 None None None 2020-07-13 17:38:38 UTC

Description Jakub Hadvig 2020-05-13 12:28:38 UTC
Description of problem:
ConsoleCLIDownload CRD needs an admitted `downloads` route in the `openshift-console` namespace. If that is not admitted, due to an issue with ingress operator we need to be more vocal about that and report proper error.
Currently the CVO reports:
```
Cluster operator console is reporting a failure: OCDownloadsSyncDegraded: ConsoleCLIDownload.console.openshift.io \"oc-cli-downloads\" is invalid: spec.links.href: Invalid value: \"\": spec.links.href in body should match '^https://'"
```
Comes from: https://bugzilla.redhat.com/show_bug.cgi?id=1835153


Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:
Check https://bugzilla.redhat.com/show_bug.cgi?id=1835153

Comment 3 shahan 2020-05-22 03:15:58 UTC
1. Change console route to not admitted by router with steps
$ oc edit ingresscontroller -n openshift-ingress-operator
$ oc get ingresscontroller -n openshift-ingress-operator -o yaml
  spec:
    namespaceSelector:
      matchLabels:
        router: prod
2. remove the downloads route and waiting for its re-create
3. $ oc get route downloads -n openshift-console -o yaml  |grep status 
status: {}
4. $oc logs console-operator-69565c6bd9-kchj5  -n openshift-console-operator
E0522 02:52:27.354132       1 controller.go:293] clidownloads-sync-work-queue-key failed with : routes.route.openshift.io "downloads" not found
E0522 02:52:28.543336       1 status.go:78] RouteHealthDegraded StatusError route not yet available, https://console-openshift-console.apps.qe-ui45-0522.qe.gcp.devcluster.openshift.com/health returns '503 Service Unavailable'
E0522 02:52:28.543600       1 controller.go:367] console-route-sync--work-queue-key failed with : route not yet available, https://console-openshift-console.apps.qe-ui45-0522.qe.gcp.devcluster.openshift.com/health returns '503 Service Unavailable'
E0522 02:52:29.738412       1 status.go:78] RouteHealthDegraded StatusError route not yet available, https://console-openshift-console.apps.qe-ui45-0522.qe.gcp.devcluster.openshift.com/health returns '503 Service Unavailable'
E0522 02:52:29.738628       1 controller.go:367] console-route-sync--work-queue-key failed with : route not yet available, https://console-openshift-console.apps.qe-ui45-0522.qe.gcp.devcluster.openshift.com/health returns '503 Service Unavailable'
E0522 02:54:54.723338       1 controller.go:293] clidownloads-sync-work-queue-key failed with : route "downloads" is not available at canonical host []
E0522 02:54:55.523817       1 status.go:78] RouteHealthDegraded StatusError route not yet available, https://console-openshift-console.apps.qe-ui45-0522.qe.gcp.devcluster.openshift.com/health returns '503 Service Unavailable'
E0522 02:54:55.524083       1 controller.go:367] console-route-sync--work-queue-key failed with : route not yet available, https://console-openshift-console.apps.qe-ui45-0522.qe.gcp.devcluster.openshift.com/health returns '503 Service Unavailable'
E0522 02:55:20.182101       1 controller.go:293] clidownloads-sync-work-queue-key failed with : route "downloads" is not available at canonical host []
E0522 02:55:20.924596       1 status.go:78] RouteHealthDegraded StatusError route not yet available, https://console-openshift-console.apps.qe-ui45-0522.qe.gcp.devcluster.openshift.com/health returns '503 Service Unavailable'
E0522 02:55:20.924808       1 controller.go:367] console-route-sync--work-queue-key failed with : route not yet available, https://console-openshift-console.apps.qe-ui45-0522.qe.gcp.devcluster.openshift.com/health returns '503 Service Unavailable'
E0522 02:56:56.068043       1 controller.go:293] clidownloads-sync-work-queue-key failed with : route "downloads" is not available at canonical host []
E0522 02:57:08.776278       1 status.go:78] RouteHealthDegraded StatusError route not yet available, https://console-openshift-console.apps.qe-ui45-0522.qe.gcp.devcluster.openshift.com/health returns '503 Service Unavailable'
E0522 02:57:08.776557       1 controller.go:367] console-route-sync--work-queue-key failed with : route not yet available, https://console-openshift-console.apps.qe-ui45-0522.qe.gcp.devcluster.openshift.com/health returns '503 Service Unavailable'
if I remove the console route, will got the errors:
E0522 03:13:16.795721       1 status.go:78] DefaultRouteSyncProgressing FailedAdmitDefaultRoute route "console" is not available at canonical host []
E0522 03:13:16.796031       1 controller.go:367] console-route-sync--work-queue-key failed with : route "console" is not available at canonical host []
E0522 03:13:19.109812       1 status.go:78] OAuthClientSyncProgressing FailedHost route "console" is not available at canonical host []
E0522 03:13:19.110014       1 controller.go:129] {Console Console} failed with: route "console" is not available at canonical host []
E0522 03:13:20.709857       1 status.go:78] OAuthClientSyncProgressing FailedHost route "console" is not available at canonical host []

@jhadvig, could you help to check if above the logs is what we expected?
4.5.0-0.nightly-2020-05-21-135919

Comment 4 shahan 2020-05-22 07:34:20 UTC
The output works as expected, verified this bug.

Comment 5 errata-xmlrpc 2020-07-13 17:38:25 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2020:2409


Note You need to log in before you can comment on or make changes to this bug.