Bug 2108708 - Ingress operator creates a "default" ingresscontroller on HyperShift
Summary: Ingress operator creates a "default" ingresscontroller on HyperShift
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Networking
Version: 4.12
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
: 4.12.0
Assignee: David Vossel
QA Contact: Hongan Li
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2022-07-19 18:29 UTC by Miciah Dashiel Butler Masters
Modified: 2023-01-17 19:53 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2023-01-17 19:53:06 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github openshift cluster-ingress-operator pull 797 0 None open Bug 2108708: Disable auto creation of default ingress contoller for hypershift 2022-07-19 18:30:15 UTC
Red Hat Product Errata RHSA-2022:7399 0 None None None 2023-01-17 19:53:30 UTC

Description Miciah Dashiel Butler Masters 2022-07-19 18:29:22 UTC
Description of problem:

The ingress operator creates a "default" ingresscontroller when one does not exist.  When using an external control-plane (as in the case of HyperShift or ROCS), the "default" ingresscontroller is created through other means, so the ingress operator should not create it.  


OpenShift release version:

OpenShift 4.12 and earlier, when using HyperShift.


Cluster Platform:

All supported platforms.


How reproducible:

Consistently.


Steps to Reproduce (in detail):
1. Install a new cluster with infrastructures.config.openshift.io/cluster configured with status.controlPlaneTopology set to "External".
2. Delete the default ingresscontroller: oc -n openshift-ingress-operator delete ingresscontrollers/default


Actual results:

The ingress operator creates a default ingresscontroller.  If the user deletes the default ingresscontroller, the operator recreates it.  


Expected results:

The ingress operator should not create or recreate the "default" ingresscontroller when  controlPlaneTopology is set to "External".


Impact of the problem:

The ingress operator and HyperShift controllers race to create the ingresscontroller.  If the ingress operator wins, then the default ingresscontroller might not be configured correctly.

Comment 3 Hongan Li 2022-09-06 10:54:55 UTC
verified with 4.12.0-0.nightly-2022-09-05-090751 and passed.

$ oc get infrastructure cluster -oyaml
<---snip--->
status:
  apiServerInternalURI: https://a1262226f7c4749c98d6acee2600b144-4a6cfe231a09a8e7.elb.us-east-2.amazonaws.com:6443
  apiServerURL: https://a1262226f7c4749c98d6acee2600b144-4a6cfe231a09a8e7.elb.us-east-2.amazonaws.com:6443
  controlPlaneTopology: External
  etcdDiscoveryDomain: hypershift-ci-17665.qe.devcluster.openshift.com
  infrastructureName: hypershift-ci-17665
  infrastructureTopology: SingleReplica

## check the ingress-operator log
$ oc -n clusters-hypershift-ci-17665 logs ingress-operator-5ddf98d8f-pg6v9 -c ingress-operator | grep skipp
2022-09-06T09:31:46.040Z	INFO	operator.init	ingress-operator/start.go:197	skipping default ingress controller creation

Comment 6 errata-xmlrpc 2023-01-17 19:53:06 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 (Moderate: OpenShift Container Platform 4.12.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:7399


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