zowe / zowe-install-packaging

Packaging repository for the Zowe install scripts and files
Eclipse Public License 2.0
27 stars 51 forks source link

Generate unspecified port numbers on startup #441

Open stevenhorsman opened 5 years ago

stevenhorsman commented 5 years ago

As a zowe administrator/user,
I want to not have to specify all the ports that Zowe requires in my PARMLIB so that I don't have as much config to migrate that I don't need to use.

Details/notes Currently all the ports that zowe uses are specified in the yaml. This is already quite a lot and as we add new services and management ports for springboot apps etc this will get even more painful to enter.

If all the services go behind the gateway, then the only port that the user needs is the Gateway port and all the others are irrelevant to them and don't require firewall access etc. We could use the gateway port specified as a starting point and then increment these ports using netstat to check if they are available.

Each service will have to log the ports that it's using for debug.

Acceptance Criteria

Depending on when this issue is done we'd have different tests

Scenario 1: No files port specified Given a PARMLIB entry with no FILES_API_PORT, but an API_GATEWAY_PORT(name?) of x and x+1 is not bound on the system When I try and start zowe using that PARMLIB Then the files api service should be assigned to x+1

Given a PARMLIB entry with no FILES_API_PORT, but an API_GATEWAY_PORT(name?) of x and x+1 is bound on the system When I try and start zowe using that PARMLIB Then the files api service should be assigned to the next free port after x+1

Scenario 1: No API GATEWAY port specified Given a PARMLIB entry with no FILES_API_PORT, or API_GATEWAY_PORT(name?) When I try and start zowe using that PARMLIB Then I Zowe shouldn't start and we should output a very clear error detailing that the Gateway port is required

Martin-Zeithaml commented 3 months ago

This could be solved by embedded JS in zowe.yaml.

JoeNemo commented 2 months ago

@1000TurquoisePogs, @JoeNemo we need an issue to track the discovery and user-provided alternate TCPIP stack to help find ports more accurately. It's a long term unsolved issue.