Bug 1707545 - Ingress operator does not implement ingress controller conditions defined in the API
Summary: Ingress operator does not implement ingress controller conditions defined in ...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Networking
Version: 4.1.0
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
: 4.2.0
Assignee: Dan Mace
QA Contact: Hongan Li
URL:
Whiteboard:
: 1707510 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-05-07 18:32 UTC by Miciah Dashiel Butler Masters
Modified: 2022-08-04 22:24 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-10-16 06:28:32 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2019:2922 0 None None None 2019-10-16 06:28:43 UTC

Description Miciah Dashiel Butler Masters 2019-05-07 18:32:41 UTC
Description of problem:

The ingress operator sets the following conditions in ingress controllers' status:

• Available
• Degraded
• Progressing

The ingress controller API defines the following conditions:

• Available
• LoadBalancerManager
• LoadBalancerReady
• DNSManaged
• DNSReady

See https://github.com/openshift/api/commit/dd7e62b7511da336d4def33698b0bb72aeb9a009

Absence of LoadBalancerReady and DNSReady hinders diagnosis of API failures, quota limits, and other possible failures related to the operator-managed cloud load-balancers and wildcard DNS.

Ideally, the operator should set these conditions on the ingress controller and then use the conditions on the ingress controller to set the conditions on the clusteroperator.  For example, if the operator cannot create a load balancer because it has hit a quota, then the ingress controller's LoadBalancerReady condition should be false, and based on that LoadBalancerReady condition, the operator's Degraded condition should be true (and possibly its Available condition should be false and Progressing condition true as well).


Steps to Reproduce:

1. oc -n openshift-ingress-operator describe ingresscontrollers/default


Actual results:

The status conditions include Available, Degraded, and Progressing.


Expected results:

The status conditions should include Available, LoadBalancerManager, LoadBalancerReady, DNSManaged, and DNSReady.


Additional info:

We do not necessarily need to remove the Degraded and Progressing conditions from the ingress controller's status, and we may want to discuss doing so, but we should certainly include the conditions that are defined in the API.

Comment 2 Ben Bennett 2019-05-07 19:12:41 UTC
*** Bug 1707510 has been marked as a duplicate of this bug. ***

Comment 3 Ben Bennett 2019-05-07 19:13:43 UTC
Too risky to change now, we can perhaps backport a fix to 4.1.z if appropriate.

Comment 5 Hongan Li 2019-06-25 09:33:36 UTC
verified with 4.2.0-0.nightly-2019-06-25-003324 and issue has been fixed.

$ oc -n openshift-ingress-operator describe ingresscontrollers/default
<---snip--->
Status:
  Available Replicas:  2
  Conditions:
    Last Transition Time:  2019-06-25T06:24:38Z
    Status:                True
    Type:                  Available
    Last Transition Time:  2019-06-25T06:22:02Z
    Message:               The endpoint publishing strategy supports a managed load balancer
    Reason:                WantedByEndpointPublishingStrategy
    Status:                True
    Type:                  LoadBalancerManaged
    Last Transition Time:  2019-06-25T06:22:07Z
    Message:               The LoadBalancer service is provisioned
    Reason:                LoadBalancerProvisioned
    Status:                True
    Type:                  LoadBalancerReady
    Last Transition Time:  2019-06-25T06:22:02Z
    Message:               DNS management is supported and zones are specified in the cluster DNS config.
    Reason:                Normal
    Status:                True
    Type:                  DNSManaged
    Last Transition Time:  2019-06-25T06:22:10Z
    Message:               The record is provisioned in all reported zones.
    Reason:                NoFailedZones
    Status:                True
    Type:                  DNSReady
<---snip--->

Comment 6 errata-xmlrpc 2019-10-16 06:28:32 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-2019:2922


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