RHEL8 Full Install (IAG 2023.1 & IAG 2022.1)
  • 18 Apr 2024
  • Dark
    Light
  • PDF

RHEL8 Full Install (IAG 2023.1 & IAG 2022.1)

  • Dark
    Light
  • PDF

Article Summary

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
Note:

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 properties.yml for additional configuration details. See the Operations section for additional details on utilizing Automation Gateway.


Was this article helpful?

Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.