Bug 2066444 - The "ingress" clusteroperator's relatedObjects field has kind names instead of resource names
Summary: The "ingress" clusteroperator's relatedObjects field has kind names instead o...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Networking
Version: 4.11
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
: 4.11.0
Assignee: Miciah Dashiel Butler Masters
QA Contact: Arvind iyengar
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2022-03-21 19:14 UTC by Miciah Dashiel Butler Masters
Modified: 2022-08-10 10:55 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Cause: The ingress operator's ClusterOperator's status.relatedObjects field had capitalized kind names instead of lower-cased resource names for the "dnsrecords" and "ingresscontrollers" resources. Consequence: If RESTMapping failed when must-gather ran, the resulting must-gather archive could be missing the ingresscontrollers and dnsrecords resources. Fix: The ingress operator was changed always to specify resource names in the ClusterOperator's status.relatedObjects field. Result: Must-gather is more likely to succeed in gathering resources related to ingress.
Clone Of:
Environment:
Last Closed: 2022-08-10 10:55:17 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github openshift cluster-ingress-operator pull 721 0 None Merged Bug 2066444: update relatedObjects for clusteroperator status 2022-05-10 18:51:46 UTC
Red Hat Product Errata RHSA-2022:5069 0 None None None 2022-08-10 10:55:55 UTC

Description Miciah Dashiel Butler Masters 2022-03-21 19:14:35 UTC
Description of problem:

The ingress operator's clusteroperator's status.relatedObjects field has capitalized kind names instead of lower-cased resource names for the "dnsrecords" and "ingresscontrollers" resources.


OpenShift release version:

All versions of OpenShift since 4.2.  The relevant code was introduced in these two commits:

https://github.com/openshift/cluster-ingress-operator/pull/249/commits/b05c3a24cc668e3930a0380c62d1b95f1e274e46
https://github.com/openshift/cluster-ingress-operator/pull/281/commits/0f15f7598476103ae6ea70881edb13e6f15806ca


Cluster Platform:

All platforms.


How reproducible:

100%.


Steps to Reproduce (in detail):

1. Check the ingress clusteroperator's status on an OpenShift cluster with any OpenShift version since 4.2: oc get clusteroperators/ingress


Actual results:

The output includes "DNSRecord" and "IngressController" resources:

    % oc get clusteroperators/ingress -o 'jsonpath={.status.relatedObjects}' | jq .
    [
      {
        "group": "",
        "name": "openshift-ingress-operator",
        "resource": "namespaces"
      },
      {
        "group": "operator.openshift.io",
        "name": "",
        "namespace": "openshift-ingress-operator",
        "resource": "IngressController"
      },
      {
        "group": "ingress.operator.openshift.io",
        "name": "",
        "namespace": "openshift-ingress-operator",
        "resource": "DNSRecord"
      },
      {
        "group": "",
        "name": "openshift-ingress",
        "resource": "namespaces"
      },
      {
        "group": "",
        "name": "openshift-ingress-canary",
        "resource": "namespaces"
      }
    ]


Expected results:

The output should have '"resource": "dnsrecords"' and '"resource": "ingresscontrollers"', not '"resource": "DNSRecord"' and '"resource": "IngressController"'.


Impact of the problem:

If RESTMapping fails when must-gather runs, the resulting must-gather archive could be missing the ingresscontrollers and dnsrecords resources.

Comment 3 Arvind iyengar 2022-03-28 05:43:06 UTC
Verified in "4.11.0-0.nightly-2022-03-23-132952" payload. With this release version, the relatedObjects fields have normalized case for DNS and ingresscontroller resource:
-----
oc get clusterversion                         
NAME      VERSION                              AVAILABLE   PROGRESSING   SINCE   STATUS
version   4.11.0-0.nightly-2022-03-23-132952   True        False         15m     Cluster version is 4.11.0-0.nightly-2022-03-23-132952

 oc get clusteroperators/ingress -o 'jsonpath={.status.relatedObjects}' | jq .
[
  {
    "group": "",
    "name": "openshift-ingress-operator",
    "resource": "namespaces"
  },
  {
    "group": "operator.openshift.io",
    "name": "",
    "namespace": "openshift-ingress-operator",
    "resource": "ingresscontrollers"
  },
  {
    "group": "ingress.operator.openshift.io",
    "name": "",
    "namespace": "openshift-ingress-operator",
    "resource": "dnsrecords"
  },
  {
    "group": "",
    "name": "openshift-ingress",
    "resource": "namespaces"
  },
  {
    "group": "",
    "name": "openshift-ingress-canary",
    "resource": "namespaces"
  }
]
-----

Comment 5 errata-xmlrpc 2022-08-10 10:55:17 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 (Important: OpenShift Container Platform 4.11.0 bug fix and security update), 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/RHSA-2022:5069


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