Description of problem:
Necessary environment variables are missing.
Version-Release number of selected component (if applicable):
Just create and start a Node.js 4 pod. It will use a boilerplate project https://github.com/openshift/nodejs-ex , where HTTP service rely on missing OPENSHIFT_NODEJS_PORT variable and taking 8080 port as default fallback. In the v3 documentation there is a rule - use <SVC_NAME>_SERVICE_PORT variables ( https://docs.openshift.com/online/dev_guide/environment_variables.html ), for example MYPROJECT123_SERVICE_PORT . But it is very ugly solution to inject project name into source code.
No way to get network interface port I should listen while starting HTTP or WS services in my Node.js applications.
Something like OPENSHIFT_NODEJS_PORT in v2.
I'm sorry, but that's how OpenShift is designed. You can set custom environment variables on the rcs, dcs or pods if you want. Or you could name your service differently.
There is work going on to implement a service catalog, and that may address the linking problem you identified.