Bug 1017661

Summary: [origin_runtime_243]Failed to specify a port number(2303-2308) or use TLS_PORT_# to support SNI proxy
Product: OpenShift Online Reporter: chunchen <chunchen>
Component: ContainersAssignee: Rob Millner <rmillner>
Status: CLOSED CURRENTRELEASE QA Contact: libra bugs <libra-bugs>
Severity: medium Docs Contact:
Priority: high    
Version: 2.xCC: mfisher, rmillner, wsun, xtian
Target Milestone: ---Keywords: UpcomingRelease
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-10-17 13:34:48 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:

Description chunchen 2013-10-10 10:01:29 UTC
Description of problem:
It is failed to specify a port(2304 - 2308) to support SNI proxy in manifest file, and will meet "Unexpected error: Invalid port specified for SNI proxy "/2304" (must either be "", or TLS_PORT_1, TLS_PORT_2, etc...)" errors when creating mock-0.4 app after specifying a port.

If  specifying TLS_PORT1 in the manifest file like following:
      Mappings:
       - Frontend: "TLS_PORT_1"
         Backend: ''
It will still fail with error while creating the app:
Creating application 'mock43' ... Unexpected error: Invalid port specified for SNI proxy "/TLS_PORT_1" (must either be "", or TLS_PORT_1, TLS_PORT_2, etc...): mock43-domx3.dev.rhcloud.com
It seems one more "/" is added to the frontend port.

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

How reproducible:
always

Steps to Reproduce:
1. SSH into the instance 
2. Modify the manifest file of mock cart as below:
cat /var/lib/openshift/.cartridge_repository/redhat-mock/0.0.1/metadata/manifest.yml
<-----snip------->
    Endpoints:
    - Private-IP-Name: EXAMPLE_IP1
      Private-Port-Name: EXAMPLE_PORT1
      Private-Port: 8123
      Public-Port-Name: EXAMPLE_PUBLIC_PORT1
      Protocols: [tls]
      Mappings:
       - Frontend: "2304"
         Backend: ''
<-----snip------->
OR
<-----snip------->
    Endpoints:
    - Private-IP-Name: EXAMPLE_IP1
      Private-Port-Name: EXAMPLE_PORT1
      Private-Port: 8123
      Public-Port-Name: EXAMPLE_PUBLIC_PORT1
      Protocols: [tls]
      Mappings:
       - Frontend: "TLS_PORT_1"
         Backend: ''
<-----snip------->

3. Create a mock-0.4 app
rhc app create cmk89 mock-0.4


Actual results:
Unexpected error: Invalid port specified for SNI proxy "/2304" (must either be "", or TLS_PORT_1, TLS_PORT_2, etc...): cmk89-ccy.dev.rhcloud.com

Expected results:
Specifying a port to support SNI proxy should be successfully.

Additional info:
It work well for default blank ("")

Comment 1 Xiaoli Tian 2013-10-10 10:31:22 UTC
Adding upcomingrelease keyword since it's a bug for sprint35 but not block sprint34 release

Comment 3 openshift-github-bot 2013-10-11 01:46:50 UTC
Commit pushed to master at https://github.com/openshift/origin-server

https://github.com/openshift/origin-server/commit/4cf486ead8cb9bfc5ae6b2f329dee67f19c79a7c
Bug 1017661 - Dont add a leading slash in non-http based mappings.  Other fixes.

Comment 4 chunchen 2013-10-11 06:41:45 UTC
It's fixed, verified on devenv_3885.