From e726a58ccbc8d1bb97c55aec64516b90b7df7b1e Mon Sep 17 00:00:00 2001 From: Kevin Velarde Date: Tue, 4 Aug 2026 13:18:36 -0600 Subject: [PATCH] Update Gateway docs with 4.4 info --- docs/itential_gateway_guide.md | 15 +++++++++++---- roles/gateway/CLAUDE.md | 18 ++++++++++-------- 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/docs/itential_gateway_guide.md b/docs/itential_gateway_guide.md index 78adc076..99ad6468 100644 --- a/docs/itential_gateway_guide.md +++ b/docs/itential_gateway_guide.md @@ -23,7 +23,7 @@ The variables in this section may be overridden in the inventory in the `gateway | Variable | Type | Description | Default Value | | :------- | :--- | :---------- | :------------ | -| `gateway_release` | Fixed-point | Designates which major release version of IAG to install. | N/A | +| `gateway_release` | Fixed-point | Designates which major release version of IAG to install. Supported values: `4.2`, `4.3`, `4.4`. | N/A | | `gateway_whl_file` | String | The name of the IAG wheel file to install. | N/A | | `gateway_archive_download_url` | String | The URL for the download of the iag whl file from a repository. | N/A | | `repository_username` | String | The username for authentication of the repository from gateway_archive_download_url. | N/A | @@ -62,8 +62,9 @@ The following table lists the default variables located in `roles/gateway/defaul | `gateway_pki_copy_certs` | Boolean | Flag to manage PKI infrastructure (create directories and copy certificates). | `true` | | `gateway_tlsv1_2` | Boolean | Flag to enable TLS 1.2. | `false` | | `gateway_http_server_threads` | Integer | The number of http server threads for handling requests. | `{{ ansible_processor_cores * 4 }}` | -| `gateway_venv_name` | String | The name of the Python virtual environment. | `venv` | +| `gateway_venv_name` | String | The name of the Python virtual environment. | `venv_gateway_{{ gateway_release }}` | | `gateway_python_venv` | String | The full path to the Python virtual environment. | `{{ gateway_install_dir }}/{{ gateway_venv_name }}` | +| `gateway_ansible_collections` | List | Ansible collections to install into IAG's Python virtual environment when `gateway_enable_ansible: true`. Must be set in inventory; no default is provided. | N/A | ### Gateway PKI Variables @@ -182,6 +183,10 @@ gateway_https_key_file: "gateway.key" To install and configure IAG, add a `gateway` group and host(s) to your inventory and configure the `gateway_release` and `gateway_whl_file`. +`gateway_release` currently supports `4.2`, `4.3`, and `4.4`. The examples below use `4.3`; to +install `4.4` instead, set `gateway_release: 4.4` and point `gateway_whl_file` (or +`gateway_archive_download_url`) at the corresponding `automation_gateway-4.4.x-py3-none-any.whl`. + ## Example Inventory - Single IAG Node ```yaml @@ -285,10 +290,12 @@ ansible-playbook itential.deployer.gateway -i You can also use the following tags: -* `upload_gateway_certificates` - Only manage certificate infrastructure +* `install_gateway_packages` - Only install Gateway dependency packages +* `upload_gateway_certificates` (aliases: `gateway`, `certificates`) - Only manage certificate infrastructure * `install_python` - Only install Python -* `install_python_dependencies` - Only install Python dependencies * `install_gateway_build_packages` - Only install Gateway build packages +* `install_python_dependencies` - Only install Python dependencies +* `configure_ansible` - Only configure Ansible collections and config for IAG * `uninstall_gateway_build_packages` - Only uninstall Gateway build packages To execute only certificate management tasks: diff --git a/roles/gateway/CLAUDE.md b/roles/gateway/CLAUDE.md index 8af888f7..77d5a282 100644 --- a/roles/gateway/CLAUDE.md +++ b/roles/gateway/CLAUDE.md @@ -51,8 +51,8 @@ Installs and configures Itential Automation Gateway (IAG). Handles Python virtua | `gateway_tlsv1_2` | `false` | Allow TLSv1.2 (in addition to 1.3) | | `gateway_user` | `itential` | OS user for IAG process | | `gateway_group` | `itential` | OS group | -| `gateway_venv_name` | `venv` | Name of the Python virtualenv directory | -| `gateway_python_venv` | `{{ gateway_install_dir }}/venv` | Path to the Python virtualenv | +| `gateway_venv_name` | `venv_gateway_{{ gateway_release }}` | Name of the Python virtualenv directory | +| `gateway_python_venv` | `{{ gateway_install_dir }}/{{ gateway_venv_name }}` | Path to the Python virtualenv | | `gateway_http_server_threads` | `{{ ansible_processor_cores * 4 }}` | IAG HTTP thread count | | `gateway_enable_ansible` | `true` | Install Ansible and configure collections | | `gateway_enable_nornir` | `true` | Create Nornir config/inventory files | @@ -118,6 +118,7 @@ gateway_pki_copy_certs: false | Template | Rendered To | Purpose | |----------|-------------|---------| +| `properties.4.4.yml.j2` | `/etc/automation-gateway/properties.yml` | IAG properties for release 4.4 (port, TLS, Ansible paths, feature flags) | | `properties.4.3.yml.j2` | `/etc/automation-gateway/properties.yml` | IAG properties for release 4.3 (port, TLS, Ansible paths, feature flags) | | `properties.4.2.yml.j2` | `/etc/automation-gateway/properties.yml` | IAG properties for release 4.2 | | `properties.2023.3.yml.j2` | (legacy) | Legacy release templates | @@ -137,18 +138,19 @@ gateway_pki_copy_certs: false |---------|--------------|--------| | Restart automation-gateway | `restart automation-gateway` | `systemctl restart automation-gateway` | -## Release-Specific Vars (vars/gateway-release-4.3.yml) +## Release-Specific Vars (vars/gateway-release-4.4.yml) | Variable | Value | |----------|-------| -| `gateway_python_version` | `3.9` | -| `gateway_python_packages` | `python39`+`python39-pip` (RHEL 8); `python3`+`python3-pip` (RHEL 9, AL2023) | +| `gateway_python_version` | `3.12` | +| `gateway_python_packages` | `python3.12`+`python3.12-pip` (RHEL 8, RHEL 9, AL2023) | | `gateway_python_base_dependencies` | `pip==24.0`, `setuptools==78.1.1`, `wheel==0.43.0` | -| `gateway_build_packages` | `gcc-c++`, `libssh-devel`, `make`, `pkgconf-pkg-config`, `python3(9)-devel` | +| `gateway_build_packages` | `gcc-c++`, `libssh-devel`, `make`, `pkgconf-pkg-config`, `python3.12-devel` | +| `gateway_python_app_dependencies` | `importlib-metadata==4.12.0`, `grpcio-tools==1.63.2` | -Release 4.2 uses the same package sets but different pinned versions (e.g., `setuptools==69.0.3`, `ncclient==0.6.10`). +Release 4.3 (`vars/gateway-release-4.3.yml`) uses Python `3.9` (`python39` on RHEL 8, `python3` on RHEL 9/AL2023) and different pinned versions (e.g., `importlib-metadata==4.13.0`, `grpcio-tools==1.53.0`). Release 4.2 uses the same package sets as 4.3 but different pinned versions (e.g., `setuptools==69.0.3`, `ncclient==0.6.10`). -Supported `gateway_release` values: `4.2`, `4.3`. Legacy date-format releases (`2021.1` through `2023.3`) have property templates but no dedicated vars files. +Supported `gateway_release` values: `4.2`, `4.3`, `4.4`. Legacy date-format releases (`2021.1` through `2023.3`) have property templates but no dedicated vars files. ## IAG Installation Methods