Bug 978597

Summary: non-scaled applications cannot expose ports externally
Product: OKD Reporter: Luke Meyer <lmeyer>
Component: ContainersAssignee: Jhon Honce <jhonce>
Status: CLOSED WONTFIX QA Contact: libra bugs <libra-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 2.xCC: baetz.alexander, cpjunk, dmcphers, sdodson
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: 2015-06-12 19:18:46 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 Luke Meyer 2013-06-26 21:42:30 UTC
Description of problem:
According to the cartridge writers guide, you can expose an external port on a gear by adding an endpoint in the manifest with Public-Port-Name property. This works for scaled apps, but it does not appear that expose-port is called for non-scaled apps.

Steps to Reproduce:
1. Copy DIY cart to create a new cartridge
2. Add Endpoint at the end of the manifest.yml:
  - Private-IP-Name:   IP
    Private-Port-Name: EXTRA_PORT
    Private-Port:      10000
    Public-Port-Name:  EXTRA_PROXY_PORT
3. Create an app using this cartridge

Actual results:
OPENSHIFT_DIY_EXTRA_PORT is defined but OPENSHIFT_DIY_EXTRA_PROXY_PORT is not and in the mcollective logs, expose-port is never invoked.

Expected results:
expose-port is invoked and OPENSHIFT_DIY_EXTRA_PROXY_PORT is given an external port number.

Additional info:
Demonstrated with my example https://github.com/sosiouxme/diy-extra-port-cartridge/blob/master/metadata/manifest.yml via the cartridge reflector...