Deploying the on-premises gateway by using Podman containers
To deploy the on-premises gateway by using Podman containers
- Go to the server where you want to deploy the on-premises gateway.
- Copy the following files that you received from BMC Support to the /opt/bmc directory:
- Container images: bmc-hii-docker-images-<buildNumber>.tgz
- Utility file: hii-bmc-<buildNumber>.zip
- Disable SELinux:
- Open the /etc/selinux/config file with a text editor.
Set SELINUX to disabled.
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
Reboot the server:
/sbin/reboot nowDisable firewalld:
systemctl disable firewalldSet the HOST_NAME variable to the fully-qualified domain name of the server if not set already, as shown in the following example:
echo "export HOSTNAME=hostA.mycompany.com" >> ~/.bash_profile
source ~/.bash_profileLoad the container images:
podman load --input /opt/bmc/bmc-hii-docker-images-<buildNumber>.tgzExtract hii-bmc-<buildNumber>.zip to the /opt/bmc directory.
tar -xvf <path to hii-bmc-<buildNumber>.zip> -C /opt/bmcChange permissions on the /opt/bmc/hii/logs directory to 777:
chmod +x /opt/bmc/hii/logsNavigate to the /opt/bmc/hii directory and start the podman-compose service:
podman-compose -f podman-compose.yaml up -dCreate a file with the following contents and name it ade-default-destination-min.json:
[
{
"entityKind": "Destination",
"configWithSchema": {
"config": {
"connection": {
"proxyUsername": "",
"proxyPassword": "",
"accessSecretKey": "CHANGEME",
"allowUnsignedCertificate": false,
"logResponses": false,
"pipeLiningLimit": 1,
"proxyHost": "",
"logRequests": false,
"timeout": {
"unit": "MINUTES",
"value": 15
},
"proxyPort": 8888,
"maxResponseSize": 1000000,
"usesHttps": true,
"accessKey": "CHANGEME",
"port": 443,
"minConnections": 0,
"tenantId": "CHANGEME",
"connectingTimeout": {
"unit": "SECONDS",
"value": 30
},
"host": "CHANGEME - BMC Helix host - ex.swp-2021-1840-disceks1.abc.com",
"poolTimeout": {
"unit": "MINUTES",
"value": 30
},
"maxOpenRequests": 1024,
"maxConnections": 5,
"maxRedirects": 5,
"usesProxy": false
},
"poolTimeout": {
"unit": "MINUTES",
"value": 30
}
}
},
"instanceName": "BMC",
"tenantId": "CHANGEME - Must match the tenantId specified in the previous occurrence",
"typeName": "BmcDestination",
"id": "CHANGEME - GENERATE NEW UUID using https://www.uuidgenerator.net/version4 e.g. 2643e089-18a8-4b0d-a58a-c022926812e0 MUST BE UNIQUE in a stack",
"moduleId": "bmc"
}
]- Update the values of the following parameters in the file wherever you see the CHANGEME occurrences and save the file:
- proxyUsername: User name for the proxy.
- proxyPassword: Password for the proxy.
- proxyPort: Proxy port number.
- proxyHost: Host name of the proxy.
- usesProxy: Whether proxy should be used for communication. Set its value to true or false depending on whether proxy should be used.
- accessKey and accessSecretKey: Access key and secret key required to the access the BMC Helix applications.
Host: Host name of the BMC Helix aplication.
For instructions about how to generate the access key and secret key, see Setting up access keys for programmatic access.- tenantId (in two occurrences): Tenant ID.
Copy the tenant ID from the access key (key:<access key>::<secret key>,tenant id: <tenant ID>) that you generated earlier. - id: Universally unique identifier (UUID).
Access https://www.uuidgenerator.net/version4 to generate UUID.
Access the BMC Helix Intelligent Integrations UI by using the following URL:
http://<hostName>:7457/swpui- (Optional) Enable SSL, see Enabling SSL for BMC Helix Intelligent Integrations.
- Import the ade-default-destination-min.json file by using the Backup/Restore option to create the destination.
For more information, see Backing-up-and-restoring-connector-configurations.
Enabling SSL for BMC Helix Intelligent Integrations
- Obtain the self-signed certificate from your organization or CA-signed certificate and private keys from Certificate Authority.
- Create the hii/conf/certs directory if it does not exist.
- Copy the files <hostName>.<domainName>.crt and <hostName>.<domainName>.key to the hii/conf/certs directory.
- Open the /opt/bmc/hii/podman-compose.yaml file with a text editor.
Add the following line in the volumes section under the nginx section:
- ./conf/certs:/etc/nginx/certs:ro #<-- mounted certificatesThe modified file looks like the following:
- Update the VIRTUAL_HOST parameter:
- Navigate to the ui: section.
Replace host.youcompany.com with the fully-qualified domain name of the computer where BMC Helix Intelligent Integrations is installed, as shown in the following example:
VIRTUAL_HOST: localhost ,hostA.mycompany.com
- Save and close the file.
- In the hii/conf/nginx.conf file, do the following changes:
Add the following SSL configuration:
ssl_certificate /etc/nginx/certs/hostA.mycompany.com.crt; #certificate path
ssl_certificate_key /etc/nginx/certs/hostA.mycompany.com.key; #certificate keyUncomment the last line:
# listen 7443 ssl;The modified hii/conf/nginx.conf file looks like the following:
- Save and close the file.
Restart the podman-compose service.
podman-compose -f podman-compose.yaml down
podman-compose -f podman-compose.yaml up -d- Access the BMC Helix Intelligent IntegrationsUI by using the following URL:
https://<hostName>:7443/swpui
Troubleshooting SSL issues
Problem | Possible root cause | Possible resolution |
---|---|---|
Containers restart due to the permission-denied errors. | Containers don't have permission to read the mounted directory. |
|
You are not able to access the URL with the host name. | Firewall is blocking the connection. | Disable the firewall. |
The swp-nginx container is not starting. | The nginx.conf file contains an invalid configuration. | Check the swp-nginx container logs. Sometimes, missing semi-colon(;) at the end of the line causes an issue. |
After you deploy the gateway, configure connections with the required third-party products to collect data: