Bug 1727870
| Summary: | cluster-authentication-operator unable to resync route after the ingress is modified. | ||
|---|---|---|---|
| Product: | OpenShift Container Platform | Reporter: | Juan Luis de Sousa-Valadas <jdesousa> |
| Component: | apiserver-auth | Assignee: | Stefan Schimanski <sttts> |
| Status: | CLOSED DUPLICATE | QA Contact: | Chuan Yu <chuyu> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 4.1.0 | CC: | aos-bugs, mfojtik, mkhan |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2019-07-10 14:37:27 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
*** This bug has been marked as a duplicate of bug 1707905 *** |
Description of problem: After modifying the cluster ingress.config.openshift.io .spec.domain the operator will be degraded with condition: - lastTransitionTime: "2019-07-08T11:59:25Z" message: 'failed handling the route: route has no host: &v1.Route{TypeMeta:v1.TypeMeta{Kind:"", APIVersion:""}, ObjectMeta:v1.ObjectMeta{Name:"oauth-openshift", GenerateName:"", Namespace:"openshift-authentication", SelfLink:"/apis/route.openshift.io/v1/namespaces/openshift-authentication/routes/oauth-openshift", UID:"<uid>", ResourceVersion:"<version>", Generation:0, CreationTimestamp:v1.Time{Time:time.Time{wall:0x0, ext:63698183501, loc:(*time.Location)(0x2b32340)}}, DeletionTimestamp:(*v1.Time)(nil), DeletionGracePeriodSeconds:(*int64)(nil), Labels:map[string]string{"app":"oauth-openshift"}, Annotations:map[string]string(nil), OwnerReferences:[]v1.OwnerReference(nil), Initializers:(*v1.Initializers)(nil), Finalizers:[]string(nil), ClusterName:""}, Spec:v1.RouteSpec{Host:"", Subdomain:"", Path:"", To:v1.RouteTargetReference{Kind:"Service", Name:"oauth-openshift", Weight:(*int32)(0xc420545e18)}, AlternateBackends:[]v1.RouteTargetReference(nil), Port:(*v1.RoutePort)(0xc4205b0ea0), TLS:(*v1.TLSConfig)(0xc420ca7d40), WildcardPolicy:"None"}, Status:v1.RouteStatus{Ingress:[]v1.RouteIngress{v1.RouteIngress{Host:"oauth-openshift.<old domain>", RouterName:"default", Conditions:[]v1.RouteIngressCondition{v1.RouteIngressCondition{Type:"Admitted", Status:"True", Reason:"", Message:"", LastTransitionTime:(*v1.Time)(0xc4205b0f00)}}, WildcardPolicy:"None", RouterCanonicalHostname:"<old domain>"}}}}' reason: OperatorSyncLoopError status: "True" The route is: $ oc get route -o yaml apiVersion: v1 items: - apiVersion: route.openshift.io/v1 kind: Route metadata: creationTimestamp: "2019-07-08T11:51:41Z" labels: app: oauth-openshift name: oauth-openshift namespace: openshift-authentication resourceVersion: "7007259" selfLink: /apis/route.openshift.io/v1/namespaces/openshift-authentication/routes/oauth-openshift uid: c03c510a-a176-11e9-8f81-0a580a800041 spec: host: oauth-openshift.<old domain> port: targetPort: 6443 subdomain: "" tls: insecureEdgeTerminationPolicy: Redirect termination: passthrough to: kind: Service name: oauth-openshift weight: 100 wildcardPolicy: None status: ingress: - conditions: - lastTransitionTime: "2019-07-08T11:51:41Z" status: "True" type: Admitted host: oauth-openshift. <old domain> routerCanonicalHostname: <old domain> routerName: default wildcardPolicy: None kind: List metadata: resourceVersion: "" selfLink: "" Version-Release number of selected component (if applicable): 4.1.2 (may happen in newer versions) How reproducible: Always Steps to Reproduce: 1. Start with a cluster is working as expected 2. "oc edit ingress.config.openshift.io cluster" and modify spec.domain 3. Check the route and the operator yaml dump. Actual results: Operator is degraded, and the old route is maintained Expected results: Route will be deleted and recreated with the expected value Additional info: As a workaround delete the route oauth-openshift in the project openshift-authentication