Whether renaming the server machine's hostname, or transitioning from a short hostname to a fully qualified domain name (FQDN), some adjustments need to be made to CA Software Change Manager (previously named Harvest) to allow continuity for all clients trying to connect to the Harvest broker.
Release: CA Harvest SCM all versions and platforms
There are 2 ways to accomplish the change.
Scenario 1: If the hostname of the broker machine changes and you want to use the new hostname as your broker name:
1. Shut down all CA SCM-related services and processes, including rtserver
On a Windows broker machine, from a command prompt window, execute:
bkrd -shutdown=all
rtserver -stop_all
On a Linux/Unix broker machine, login as the userid that owns the SCM folder and processes and execute:
bkrd -shutdown
pgrep rtserver | xargs kill
ps -ef | grep 'hserver\|bkrd\|rtserver'
2. Make a backup copy and then update the arg files on the broker machine
In %CA_SCM_HOME% folder on Windows broker machine, or $CA_SCM_HOME folder on Linux/Unix broker machine
HBroker.arg, add or update:
-rtserver=tcp:newbrokername:5101
HServer.arg, add and/or update:
-broker=newbrokername
-rtserver=tcp:newbrokername:5101
3. Restart the SCM Broker
For both Windows and Linux/Unix, execute:
bkrd
Scenario 2: If you want your broker name to be different than the hostname of the computer the broker's running on
On the broker machine:
1. Shut down all CA SCM-related services and processes, including rtserver
On a Windows broker machine, from a command prompt window, execute:
bkrd -shutdown=all
rtserver -stop_all
On a Linux/Unix broker machine, login as the userid that owns the SCM folder and processes and execute:
bkrd -shutdown
pgrep rtserver | xargs kill
ps -ef | grep 'hserver\|bkrd\|rtserver'
2. Set a system environment variable called RT_FORCE_NODE_NAME
On a Windows broker machine:
From a command prompte window execute:
systempropertiesadvanced
Click the Environment Variables button
Under the System Variables list box, click on New
Provide variable name: RT_FORCE_NODE_NAME, and variable value: newbrokername
On a Linux/Unix machine:
Edit the ~/.profile or ~/.bash_profile for the user that owns the SCM-related folders and processes and add:
export RT_FORCE_NODE_NAME=newbrokername
save and close the file, then re-source the profile for the SCM-owner user.
3. Make a backup copy and then update the arg files on the broker machine
In %CA_SCM_HOME% folder on Windows broker machine, or $CA_SCM_HOME folder on Linux/Unix broker machine
HBroker.arg, add or update:
-rtserver=tcp:newbrokername:5101
HServer.arg, add and/or update:
-broker=newbrokername
-rtserver=tcp:newbrokername:5101
4. Restart the SCM Broker
For both Windows and Linux/Unix, execute:
bkrd
For both scenarios, the client machine (Workbench, Administrator Tool, Plugins, etc) has to be able to resolve the broker name to the correct IP address. There are 2 ways this can be accomplished:
- The DNS directory is updated associating the broker name with the correct IP address
- The client machine's "hosts" file is updated associating the broker name with the correct IP address.
For Windows computers this is found in C:\Windows\System32\drivers\etc
For Linux/Unix computers this is found in /etc/hosts
More information about the RT_FORCE_NODE_NAME variable can be found here:
https://techdocs.broadcom.com/us/en/ca-enterprise-software/business-management/harvest-scm/14-0/installing/Configure-CA-Harvest-SCM/Configure-Enterprise-Communicator-(PEC).html
Look for the section titled: The RT_FORCE_NODE_NAME Environment Variable