- 07 Aug 2024
-
DarkLight
-
PDF
RHEL8 Full Install (IAG 2023.1 & IAG 2022.1)
- Updated on 07 Aug 2024
-
DarkLight
-
PDF
The following is a step-by-step guide for installing IAG on RHEL 8.
-
If you are installing Automation Gateway on a different platform you will need to install/compile Python 3.9. After installing Python 3.9 follow the steps starting with Setup Directory and Virtual Environment.
-
If you encounter any problems during the install or have questions, please contact the Product Support Team.
⚠ Refer to the General Prerequisites page for information on Software Repository and Registry Credentials that are supported by the various IAG install methods.
Root Access
This document assumes that you will have root access on the server you will be installing IAG on.
sudo su
Install System Packages
Use the following to install system packages.
dnf -y install python39 python39-devel make gcc-c++
Set Up Directory and Virtual Environment
Use the following to set up the directory and virtual environment.
mkdir /opt/automation-gateway
cd /opt/automation-gateway
python3.9 -m venv .venv
The following command will activate the virtual environment for your current session.
source /opt/automation-gateway/.venv/bin/activate
Make sure you are in the virtual environment for all following commands.
Include the Virtual Environment in Default Shell
This command is optional but recommended and will allow every shell you open to have the virtual environment.
echo source /opt/automation-gateway/.venv/bin/activate > /etc/profile.d/venv.sh
Install Automation Gateway
Work with your Itential Account Manager to obtain the whl
file. Place this file in /tmp
on the IAG server.
You will need to change <version>
to be the version of IAG you are installing. For example: pip install /tmp/automation_gateway-3.198.19+2022.1.8-py3-none-any.whl
pip install /tmp/automation_gateway-<version>-py3-none-any.whl
Install Ansible
Run the following to install Ansible.
pip install ansible==2.10.7
Install Terraform (Optional)
If the following does not work on your platform you can download Terraform directly using this link: Install Terraform Directly.
yum install -y yum-utils
yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo
yum -y install terraform
Service Configuration
The following configurations can be changed to reflect your environment. By default Itential runs Automation Gateway using gunicorn. You may want to add an additional front-end HTTP server (e.g., NGINX, HAProxy) in front of this service configuration. Settings that use NGINX or HAProxy are outside the scope of this documentation.
Create User
Create a user that will run automation-gateway using gunicorn.
useradd itential
Set Up Folders
Set up your folders for the database, logs, and other files.
mkdir /var/lib/automation-gateway
mkdir /etc/automation-gateway
chown itential /var/lib/automation-gateway
Automation Gateway Configuration
Copy the configuration included in the release and modify it for your needs.
cp \
/opt/automation-gateway/.venv/lib64/python3.9/site-packages/automation_gateway/properties.yml \
/etc/automation-gateway/properties.yml
Modify the following file with a preferred text editor to make any changes that are relevant to your environment and differ from the default.
/etc/automation-gateway/properties.yml
Systemd Configuration
To configure systemd
for automation-gateway, create the following file with a preferred text editor.
/etc/systemd/system/automation-gateway.service
Use the following default configuration for systemd
:
[Unit]
Description=Itential Automation Gateway
After=network.target
[Service]
User=itential
Restart=always
Type=simple
ExecStart=/opt/automation-gateway/.venv/bin/automation-gateway --properties-file=/etc/automation-gateway/properties.yml
WorkingDirectory=/tmp
Environment=MAX_EVENT_RES=15000000
Environment=PATH=/opt/automation-gateway/.venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
[Install]
WantedBy=multi-user.target
Enable automation-gateway
on boot and start the service.
systemctl enable automation-gateway
systemctl daemon-reload
systemctl start automation-gateway
Check the Status of the Service
Verify the service has started correctly.
systemctl status automation-gateway
Open Automation Gateway in a Web Browser
Server is the name of the host you installed IAG on.
http://server:8083/
Default username: admin@itential
Default password: admin
Install Additional Content
You can now install additional custom content, playbooks, and scripts to use with IAG.
# Create the custom content directories to match your configuration (below is default)
mkdir -p /usr/share/automation-gateway/ansible/inventory \
/usr/share/automation-gateway/ansible/modules \
/usr/share/automation-gateway/ansible/roles \
/usr/share/automation-gateway/ansible/collections \
/usr/share/automation-gateway/ansible/playbooks \
/usr/share/automation-gateway/nornir/modules \
/usr/share/automation-gateway/scripts \
/usr/share/automation-gateway/terraform
chown -R itential /usr/share/automation-gateway/
Folders and Files
By default IAG uses the following folders and files.
|
├── /etc/automation-gateway/
│ └── properties.yaml # Main configuration
| (most settings are configured in UI after initial startup)
├── /opt/automation-gateway/
| └── .venv/ # Python virtual environment
| └── lib/python3.9/site-packages/
| └── automation_gateway/ # Where automation gateway source is installed
|
├── /var/lib/automation-gateway/
| ├── automation-gateway.db # Main SQLite database
| ├── automation-gateway_audit.db # Audit logs
| ├── automation-gateway_exec_history.db # Exec history logs
| └── automation-gateway.log # Server logs
|
└── /usr/share/automation-gateway/
├── ansible/ # Custom ansible content
├── nornir/ # Custom nornir content
├── scripts/ # Custom scripts content
└── terraform/ # Custom terraform content
Next Steps
Once you have successfully started Automation Gateway, you will want to ensure your properties.yml
file and integrations are working as expected. See the Operations section for additional details on utilizing Automation Gateway.