Cause: OpenShift 4.8 added an API for customizing platform routes, such as the routes for OpenShift console and OAuth. This API includes status and spec fields in the cluster ingress configuration for reporting the current host names of customizable routes as well as the user's desired host names for these routes, respectively. The API also defined constraints for these values. These constraints were overly restrictive and excluded some valid potential host names, such as host names with top-level domains (TLDs) that contained decimal digits.
Consequence: The overly restrictive validation for the new API had two important consequences. First, the restriction on spec prevented users from specifying custom host names that should have been permitted. Second, the restriction on status prevented users from being able to install clusters with domains that should have been permitted, because the operators that report the status would fail when trying to update status. For example, installing a cluster with the domain m3558001.ocptest1 would fail because of the "1" in the TLD.
Fix: The constraints on host names in the new API were relaxed to allow all host names that are valid for routes.
Result: OpenShift once again allows users to use cluster domains with TLDs that contain decimal digits. OpenShift additionally allows users to customize the console and OAuth routes using any host names that are valid for routes.
Tested with the latest "4.9.0-0.nightly-2022-05-11-100812" nightly, the error no more occurs with the component route containing numeric values in the hostname:
------
# Please edit the object below. Lines beginning with a '#' will be ignored,
# and an empty file will abort the edit. If an error occurs while saving this file will be
# reopened with the relevant failures.
#
apiVersion: config.openshift.io/v1
kind: Ingress
metadata:
creationTimestamp: "2022-05-12T07:11:00Z"
generation: 2
name: cluster
resourceVersion: "32882"
uid: fe2a9ee0-9d9f-44bb-a18e-dd0f1f54bc38
spec:
componentRoutes:
- hostname: custom-route-inval3d.doma2n
name: downloads
namespace: openshift-console
domain: apps.ci-ln-ym98gtt-76ef8.origin-ci-int-aws.dev.rhcloud.com
------
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 (OpenShift Container Platform 4.9.33 bug fix 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/RHBA-2022:2206
Tested with the latest "4.9.0-0.nightly-2022-05-11-100812" nightly, the error no more occurs with the component route containing numeric values in the hostname: ------ # Please edit the object below. Lines beginning with a '#' will be ignored, # and an empty file will abort the edit. If an error occurs while saving this file will be # reopened with the relevant failures. # apiVersion: config.openshift.io/v1 kind: Ingress metadata: creationTimestamp: "2022-05-12T07:11:00Z" generation: 2 name: cluster resourceVersion: "32882" uid: fe2a9ee0-9d9f-44bb-a18e-dd0f1f54bc38 spec: componentRoutes: - hostname: custom-route-inval3d.doma2n name: downloads namespace: openshift-console domain: apps.ci-ln-ym98gtt-76ef8.origin-ci-int-aws.dev.rhcloud.com ------