-
Bug
-
Resolution: Unresolved
-
Normal
-
None
-
4.15
-
Quality / Stability / Reliability
-
False
-
-
None
-
Important
-
None
-
x86_64
-
None
-
Rejected
-
NI&D Sprint 284
-
1
-
Customer Escalated, Customer Reported
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Description of problem:
When IngressController is configured with the woldcard policy enabled, the routes are not able to be reused by other route until router is restarted.
Version-Release number of selected component (if applicable):
4.15
How reproducible:
always
Steps to Reproduce:
** Activate WildCard Policy at IngressController:
$ oc patch ingresscontroller default -n openshift-ingress-operator --type=merge -p '{"spec":{"routeAdmission":{"wildcardPolicy":"WildcardsAllowed"}}}'
ingresscontroller.operator.openshift.io/default patched
** Create Dummy app and 2 routes pointing to the same service:
$ oc new-project http-wildcardNow using project "http-wildcard" on server "https://api.shrocp4upi414sdn.lab.upshift.rdu2.redhat.com:6443"....
$ oc new-app httpd--> Found image 70bf92d (4 weeks old) in image stream "openshift/httpd" under tag "2.4-ubi8" for "httpd"
$ oc expose service httpd --name httpd-cm1route/httpd-cm1 exposed
$ oc expose service httpd --name httpd-cm2route/httpd-cm2 exposed
$ oc get routes
NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD
httpd-cm1 httpd-cm1-http-wildcard.apps.shrocp4upi414sdn.lab.upshift.rdu2.redhat.com httpd 8080-tcp None
httpd-cm2 httpd-cm2-http-wildcard.apps.shrocp4upi414sdn.lab.upshift.rdu2.redhat.com httpd 8080-tcp None
** Update the host, Swap the host at the routers:
$ oc patch route httpd-cm1 --type=merge -p '{"spec":{"host":"httpd-cm2-http-wildcard.apps.shrocp4upi414sdn.lab.upshift.rdu2.redhat.com"}}'
route.route.openshift.io/httpd-cm1 patched
$ oc patch route httpd-cm2 --type=merge -p '{"spec":{"host":"httpd-cm1-http-wildcard.apps.shrocp4upi414sdn.lab.upshift.rdu2.redhat.com"}}'
route.route.openshift.io/httpd-cm2 patched
$ oc get routes
NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD
httpd-cm1 httpd-cm2-http-wildcard.apps.shrocp4upi414sdn.lab.upshift.rdu2.redhat.com httpd 8080-tcp None
httpd-cm2 HostAlreadyClaimed httpd 8080-tcp None
** Even deleting the routes:
$ oc delete route httpd-cm1
route.route.openshift.io "httpd-cm1" deleted
$ oc delete route httpd-cm2
route.route.openshift.io "httpd-cm2" deleted
$ oc get routes
No resources found in http-wildcard namespace.
$ oc create -f httpd-cm2.yaml
route.route.openshift.io/httpd-cm2 created
$ oc get routes
NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD
httpd-cm2 HostAlreadyClaimed httpd 8080-tcp None
$ oc get routes -o json | jq -r '.items[] |.metadata.name,.spec.host,.status.ingress[].conditions[].message'
httpd-cm2
httpd-cm1-http-wildcard.apps.shrocp4upi414sdn.lab.upshift.rdu2.redhat.com
route http-wildcard/httpd-cm1 has host httpd-cm1-http-wildcard.apps.shrocp4upi414sdn.lab.upshift.rdu2.redhat.com
Actual results:
error HostAlreadyClaimed reported
Expected results:
host route updated
Additional info: