Bug 1446360

Summary: [3.5] Routes that specify a path ending in a / do not route to subpaths correctly
Product: OpenShift Container Platform Reporter: Jordan Liggitt <jliggitt>
Component: NetworkingAssignee: Ben Bennett <bbennett>
Networking sub component: router QA Contact: zhaozhanqi <zzhao>
Status: CLOSED DUPLICATE Docs Contact:
Severity: unspecified    
Priority: unspecified CC: aos-bugs, bmeng, eparis, jliggitt, zzhao
Version: 3.5.0   
Target Milestone: ---   
Target Release: 3.5.z   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1446627 (view as bug list) Environment:
Last Closed: 2017-05-11 02:32:33 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:
Bug Depends On:    
Bug Blocks: 1446627    

Description Jordan Liggitt 2017-04-27 17:58:25 UTC
Description of problem:

If a Route object specifies a path ending in a /, subpaths are not routed correctly


Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1. Create a route with a path of / routing to a pod
2. Access the route's hostname at the following URLs:
  https://<host>
  https://<host>/
  https://<host>/test

Actual results:
The root paths work. The /test subpath fails to route

Expected results:
All three paths route correctly.


Additional info:

Comment 1 Jordan Liggitt 2017-04-27 18:01:46 UTC
Fixed upstream in master in https://github.com/openshift/origin/pull/13867
Fixed upstream in 1.5 in https://github.com/openshift/origin/pull/13923
Fixed in 3.5 in https://github.com/openshift/ose/pull/726

Testcase:

Create three routes using the same host, routing to different pods (so you can identify which route served which request)
Route 1: path of /
Route 2: path of /subpath
Route 3: path of /subpath/

Ensure the following urls are served by the expected routes:

route 1:
https://<host>
https://<host>/
https://<host>/test

route 2:
https://<host>/subpath

route 3:
https://<host>/subpath/
https://<host>/subpath/subsubpath

Comment 2 Meng Bo 2017-04-28 01:48:35 UTC
What if an user wants to allow to access the http(s)://<host>/ only but none of the subpath?

Comment 3 Jordan Liggitt 2017-04-28 01:59:05 UTC
That is not an option today

Comment 5 zhaozhanqi 2017-05-11 01:00:28 UTC
seems this is a duplicate with 1448218

verified using same steps https://bugzilla.redhat.com/show_bug.cgi?id=1448218#c3

Comment 6 Eric Paris 2017-05-11 02:32:33 UTC
agreed. Marking as a dup of 1448218

*** This bug has been marked as a duplicate of bug 1448218 ***

Comment 7 Ben Bennett 2017-06-23 15:55:30 UTC
*** Bug 1464318 has been marked as a duplicate of this bug. ***