Bug 1091432

Summary: Make binding ports configurable for GIT and SSH daemons
Product: [Retired] JBoss BPMS Platform 6 Reporter: Pedro Zapata <pzapataf>
Component: Business CentralAssignee: Alexandre Porcelli <porcelli>
Status: CLOSED EOL QA Contact: Marek Baluch <mbaluch>
Severity: high Docs Contact:
Priority: high    
Version: 6.0.1CC: kverlaen, pzapataf
Target Milestone: ER4   
Target Release: 6.1.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-03-27 18:36:36 UTC Type: Feature Request
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Code patch none

Description Pedro Zapata 2014-04-25 15:07:51 UTC
Created attachment 889787 [details]
Code patch

The GIT and SSH daemons that provide the endpoints for the BPMS repository are always bound to and exposed thought the same port.

Openshift requires these values to be different. The service must bind to an specific internal prival IP and port, but it will be accessed from the outside via a public hostname and a different port.

Currently, the same system properties are used to configure this behavior, which is not enough to allow for git replication across Openshift gears.

- org.uberfire.nio.git.daemon.port
- org.uberfire.nio.git.ssh.port

Two more properties are required to define the ports both services will bind to. If those are not provided, the default behavior should be using the same port as now.

A suggestion for the additional property names is:
- org.uberfire.nio.git.daemon.bind.port
- org.uberfire.nio.git.ssh.bind.port

I attach a GIT patch with the code for the implementation of this feature over the 0.3.x branch (based on commit fc36391c22ecf56f5ef3c6f1f9e9b39cf8b01589)

Comment 1 Alexandre Porcelli 2014-12-02 16:26:08 UTC
So.. the daemonPort and sshPort going to be used only to compose the fullHostName?

Comment 2 Pedro Zapata 2014-12-17 09:47:39 UTC
The bind.port are the local ports the application should bind to. The daemon.port and ssh.port are the public ports that are exposed publicly. The application should use them to build any URL that is send in public to access the private ports (not sure if fullHostName is the only place to go). For example, when you visualize the GIT repository URL in Business Central, that URL should contain the public port instead of the private one.

BTW, this applies only to Openshift V2, for Openshift V3 it's going to be different story and this won't probably be required at all -but this might still be a good idea to implement to provide additional flexibility in some types of deployments-

Comment 3 Alexandre Porcelli 2014-12-29 13:12:04 UTC
Improvement pushed to UberFire:

https://github.com/uberfire/uberfire/commit/9bc7e57c7

The new properties are:

org.uberfire.nio.git.ssh.hostport and org.uberfire.nio.git.daemon.hostport

Comment 4 Marek Baluch 2015-02-03 10:55:57 UTC
Verified on 6.1.0.ER4.

Both ports can be changes by setting

org.uberfire.nio.git.ssh.hostport, 
org.uberfire.nio.git.daemon.hostport

properties.