Bug 1020966

Summary: Mappings defaults to TCP when to Protocols specified in manifest.yml
Product: OpenShift Online Reporter: Michal Fojtik <mfojtik>
Component: ContainersAssignee: Rob Millner <rmillner>
Status: CLOSED DUPLICATE QA Contact: libra bugs <libra-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 2.xCC: dmcphers, mfisher
Target Milestone: ---   
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-18 18:59:08 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:

Description Michal Fojtik 2013-10-18 15:37:30 UTC
Description of problem:

This issue came from the Zend cartridge, where they are using this Endpoint:

  - Private-IP-Name:   IP
    Private-Port-Name: CONSOLE_PORT
    Private-Port:      16081
    Public-Port-Name:  PROXY_CONSOLE_PORT
    Mappings:
      - Frontend:      "/ZendServer"
        Backend:       "/ZendServer"

Having this in manifest.yml and deployed on the latest devenv, will cause that the endpoint is not properly created, due to the missing 'Protocols: [http]' property.

Without this property, OpenShift will default to TCP protocol, which is not what is expected I think...

I think we should default to '[http,ws]'.

Steps to Reproduce:
1. Create app with mappings set to something like in Description
2. The '/ZendServer' URl will not be routed to IP:CONSOLE_PORT/ZendServer

Expected results:

The routing should work as before, without breaking compatibility.

Additional info:

I would also suggest to update Documentation and explain the Protocol directive to cartridge authors.

Comment 1 Mrunal Patel 2013-10-18 16:49:50 UTC
If this is not the first endpoint in the manifest, then the behavior is expected.
You should add ['http','ws'] as its protocol. Keeping this bug open to update the documentation.

Comment 2 Rob Millner 2013-10-18 18:42:26 UTC
The pre-protocols behaviour was to assume http if a mapping was specified.

Stage:
https://github.com/openshift/origin-server/pull/3929

Master:
https://github.com/openshift/origin-server/pull/3930

Release ticket updated.

Comment 3 Dan McPherson 2013-10-18 18:59:08 UTC

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

Comment 4 openshift-github-bot 2013-10-18 21:34:37 UTC
Commit pushed to master at https://github.com/openshift/origin-server

https://github.com/openshift/origin-server/commit/531f9f3a0596c05c17c1c0ed3039036ceefb974c
Bug 1020966 - the pre protocols behaviour was to assume http if there was a mapping defined.  Do that by default.