Currently CSM does not have a documented way to define a specific IP address or hostname to be used for the CSM service.
I found following potential places where this can be configured, but there could be other places as well:
- ../wlp/usr/servers/csmServer/server.xml
host="*"
- ../wlp/usr/servers/csmServer/properties/csmConnections.properties
csm.server.address=localhost
When the CSM server is started, it appears to be kind of random which IP address will be used if multiple IP addresses exist on the system. This is very confusing for customers when implementing CSM.
This may cause connectivity issues, if users want to connect remotely but the used IP address is in a subnet that does not provide remote access.
It may also cause problems, if they are going to define a CSM Server HA relationship, especially if the HA connection is defined from the active CSM server, which appears to send its queried hostname/IP to the Standby which is supposed to establish the connection. If the active server sends over the wrong IP, the standby will fail to establish the HA connection in reverse. A work around for the HA connection is to setup the connection from the Standby server, which will use the provided IP/hostname to directly establish the connection. However, this method is not supported when Dual Control is active and there need to be a reliable HA establish method from the Active Server for environments with multiple server IP addresses.
Customers with mutiple IP addresses (VIPA) setup reported also hostname display mismatches in the past, e.g. when active/standby server names are displayed on the GUI login screen and/or on the GUI Management Server panels.
Following are some suggestions that may help to improve this:
a) Document how a specific CSM server address can be configured
Which configuration files and parameters need to be changed to define a specific IP/hostname for the CSM server?
b) Optional: Simplify configuration of a specific IP address/hostname
Following items could be considered for simplification:
- Make the hostname a variable in bootstrap properties, so it is easier for customers to specify a dedicated CSM server IP address to be used. This variable can be used in the server.xml file when CSM is started.
- Support a hostname/IP parameter in the installation routines, e.g. the Installation Wizard for distributed or the Parameters in the IWNINSTL job. This parameter can be used in the configuration files and defaulting to the current default (similar to defining dedicated ports)
c) Improve the process to establish an HA connection from the active server.
The active server should not send the IP/hostname queried through standard java routines, but the one used by Liberty when CSM was started. If there is no internal liberty hostname property that can be queried, the host value from the server.xml should be used, if it is different from the default '*'.
Otherwise, there is no guarantee that the Standby server can connect in reverse when using the 'first' found IP of the active server.
d) There might be other routines when the CSM server queries for the local hostname/IP address and selects the wrong one
E.g. when hostnames are displayed in the Management Server panel or the GUI Login Panel.
Also those routines should be changed to use the IP/hostname as defined in server.xml for the local server and as defined in the repository (when using the IP of the remote CSM server).