- 09 Feb 2023
RHEL 8 Full Installation Method
- Updated on 09 Feb 2023
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.
This document assumes that you will have root access on the server you will be installing IAG on.
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.
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
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
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 a user that will run automation-gateway using gunicorn.
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.
systemd for automation-gateway, create the following file with a preferred text editor.
Use the following default configuration for
[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
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
Once you have successfully started Automation Gateway, you will want to ensure your properties.yml file and integrations are working as expected. See properties.yml for additional configuration details. See the Operations section for additional details on utilizing Automation Gateway.