Solution:
This issue is due to no DNS resolution present on the server and hence docker containers are not able to communicate to DB host and TSSA host.
1. Check whether TSAC installed using FQDN of TSAC DB and TSSA host or with a short name in the following input file.
<stackmanager_Installation_dir>/sm/registry/inputs_file.yml
E.g. for TSSA connector and TSAC database:
tssa-connector:
wmport: '9443'
workerID: tssa-connector
fqUserSuffix: defaulttenant.tssa
host: TSSAppserver.bmc.com
db:
name: tsac_database
hostname: TSACDB.bmc.com
Note: It is recommended to install using FQDN or IP addresses. Not with a short name.
2. log in to one of the docker container and try ping or telnet to TSAC DB and TSSA appserver on respective ports:
docker container exec -it <container ID> bash
sudo ping tssa_host_fqdn_or_ip
sudo ping TSAC_host_fqdn_or_ip
If there is no response, then the issue is due to no DNS resolution present on the server and hence docker containers are not able to communicate to TSAC DB host and TSSA host.
Perform the following steps to update the DNS in the docker so the container can to communicate with the TSAC DB and TSSA host.
1. Get the DNS entries added in “cat /etc/resolve.conf:
Example:
nameserver 179.17.X.XX
nameserver 139.72.X.XX
nameserver 139.72.X.XX
2. Make/Append the below changes in the /etc/docker/daemon.json file (append in JSON format if the file exists, if not user can create a new file):
{
"dns": ["179.17.X.XX", "139.72.X.XX", "139.72.X.XX"]
}
3. Restart docker and check the status:
systemctl restart docker
systemctl status docker
4. Restart TSAC App:
./stackmanager restart --deployment application
./stackmanager status --deployment application
5. Try to ping/telnet to the TSAC DB and Host again.
docker container exec -it <container ID> bash
sudo ping tssa_host_fqdn_or_ip
sudo ping TSAC_host_fqdn_or_ip
6. Check all the containers are running fine.
7. Try to log in to TSAC UI again.
If the issue still persists then open a support case and collect and provide logs.
To collect the logs:
./stackmanager collect-logs --include-config
OPTIONAL APPROACH:
If there is no DNS server available and FQDN of the application server is not resolvable to a valid IP address and you still want to configure using the FQDN instead of the IP address, then you can try the following steps to update the 'hosts' file on the container:
1) Open the following yml file to update:
<TSAC install dir>/application/docker-compose.yml
2) Add below highlighted lines under each service in above file to add extra_host mapping or to map a local hosts file ('/etc/hosts') to the container.
Under 'volumes' for each service, add the following line as below example or add 'extra_hosts' as well.
Please replace the 'appserver-hostname' or 'database-hostname' or the IP address in below example with the appropriate value.
version: '2'
services:
activity-log-service:
env_file:
- ${CONTAINER_INSTALL_DIR}/app/activity-log-service/config/.env
container_name: truesight-app-activity-log-service
image: localhost:5000/bmcsoftware/truesight-activity-log-service:23.1.00.242
volumes:
- ${INSTALL_DIR}/app/activity-log-service/config:/opt/bmc/truesight/activity-log-service/config
- ${INSTALL_DIR}/app/activity-log-service/logs:/opt/bmc/truesight/activity-log-service/logs
- ${INSTALL_DIR}/common/certs:/opt/certs
- '/etc/hosts:/etc/hosts'
extra_hosts:
- "appserver-hostname:XXX.XXX.XX.XX"
- "database-hostname:XXX.XXX.XX.XX"
networks:
app-net:
aliases:
- activitylog.truesight-int.bmc.com
...
3) Then restart all containers:
/opt/bmc/stackmanager restart --deployment application
4) Check the status and you will be able to find that 'hosts' file under '/var/lib/docker/container/<container-id>/' folder contains the added host entries.