-
Bug
-
Resolution: Done
-
Major
-
OSSM 1.1.0
-
None
-
None
We see a failure at: Create URL for Kiali OpenShift route
If you look at Detect Kiali route on OpenShift resources[0] exists, but Ingress is still null.
The source only waits for resources / resources[0] to be defined: https://github.com/kiali/kiali-operator/blob/master/roles/v1.12/kiali-deploy/tasks/openshift/os-get-kiali-route-url.yml#L12
It seems like we need to also check for ['status']['ingress'][0].
TASK [v1.12/kiali-deploy : Detect Kiali route on OpenShift] ******************** [1;30mtask path: /opt/ansible/roles/v1.12/kiali-deploy/tasks/openshift/os-get-kiali-route-url.yml:5 [0m [0;32mok: [localhost] => {"attempts": 1, "changed": false, "resources": [{"apiVersion": "route.openshift.io/v1", "kind": "Route", "metadata": {"annotations": {"openshift.io/host.generated": "true"}, "creationTimestamp": "2020-04-30T23:50:00Z", "labels": {"app": "kiali", "version": "1.12.7"}, "name": "kiali", "namespace": "c48746-mesh", "ownerReferences": [{"apiVersion": "kiali.io/v1alpha1", "kind": "Kiali", "name": "kiali", "uid": "2ee30b8d-2679-4b69-957e-0c46d7ffa0cd"}], "resourceVersion": "121201207", "selfLink": "/apis/route.openshift.io/v1/namespaces/c48746-mesh/routes/kiali", "uid": "d120722c-2a62-4733-9a68-21ba45c0c8a7"}, "spec": {"host": "kiali-c48746-mesh.apps.gp-1-nonprod.openshift.com", "tls": {"insecureEdgeTerminationPolicy": "Redirect", "termination": "reencrypt"}, "to": {"kind": "Service", "name": "kiali", "weight": 100}, "wildcardPolicy": "None"}, "status": {"ingress": null}}]} [0m TASK [v1.12/kiali-deploy : Set Kiali TLS Termination from OpenShift route] ***** [1;30mtask path: /opt/ansible/roles/v1.12/kiali-deploy/tasks/openshift/os-get-kiali-route-url.yml:18 [0m [0;32mok: [localhost] => {"ansible_facts": {"kiali_route_tls_termination": "reencrypt"}, "changed": false} [0m TASK [v1.12/kiali-deploy : Detect HTTP Kiali OpenShift route protocol] ********* [1;30mtask path: /opt/ansible/roles/v1.12/kiali-deploy/tasks/openshift/os-get-kiali-route-url.yml:24 [0m [0;36mskipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"} [0m TASK [v1.12/kiali-deploy : Detect HTTPS Kiali OpenShift route protocol] ******** [1;30mtask path: /opt/ansible/roles/v1.12/kiali-deploy/tasks/openshift/os-get-kiali-route-url.yml:31 [0m [0;32mok: [localhost] => {"ansible_facts": {"kiali_route_protocol": "https"}, "changed": false} [0m
Failure:
TASK [v1.12/kiali-deploy : Create URL for Kiali OpenShift route] *************** [1;30mtask path: /opt/ansible/roles/v1.12/kiali-deploy/tasks/openshift/os-get-kiali-route-url.yml:38 [0m [0;31mfatal: [localhost]: FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: None has no element 0\n\nThe error appears to be in '/opt/ansible/roles/v1.12/kiali-deploy/tasks/openshift/os-get-kiali-route-url.yml': line 38, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n- name: Create URL for Kiali OpenShift route\n ^ here\n"} [0m
Customer sees this randomly with the F5 connector. We're thinking the issue may be related to the F5 taking a little longer to fully admit a route leaving the object partially populated.
This also never retries or reconciles on its own. Restarting the operator allows it to complete successfully once the route is fully admitted.