Upgrade IAG

To manage updates of Itential Automation Gateway:

  1. Specify the appropriate upgrade version.
  2. Specify the registry credentials to collect the package.
  3. Use pip3 install --upgrade with the appropriate pip/Python versions for your intended installation.

IAG 2023.2: Python packages for optional integrations

IAG 2023.2 will no longer install Python packages for the following optional integrations:

  • GRPC
  • Hashicorp Vault
  • LDAP
  • Netconf
  • Netmiko
  • Nornir

This should only impact upgrades if gRPC is enabled, as the other required packages should already be installed. If gRPC is enabled and you have not installed the proper package, the server will not start and will present you with an error message for the packages required. Enabling the integrations requires you to install the packages below within the virtual environment (VENV) that IAG is running in.

GRPC

$python3 -m pip install pygnmi==0.8.9 grpcio==1.53.0

Software repository and registry credentials

Customer accounts are assigned to one of two software repositories: Nexus or JFrog. Customers are informed which repository their account is assigned to in a welcome email that is sent once customer access is granted to the Itential software.

To ensure the IAG upgrade reflects the correct REGISTRY_URL for your assigned software repository, use the applicable set of instructions presented below.

Customer accounts assigned to JFrog

Run this script to upgrade if assigned to the JFrog repository.

$echo "## CUSTOMIZE THESE VARIABLES BEFORE RUNNING THIS SCRIPT: ##" && \
>export AUTOMATION_GATEWAY_VERSION="" && \
>export REGISTRY_USERNAME="" && \
>export REGISTRY_PASSWORD="" && \
>export REGISTRY_URL="itential.jfrog.io/artifactory/automation-gateway/"
$
$echo "## UPGRADE THE AUTOMATION GATEWAY PIP PACKAGE: ##" && \
>sudo pip3 install --upgrade -v automation-gateway==$AUTOMATION_GATEWAY_VERSION --extra-index-url https://$REGISTRY_USERNAME:$REGISTRY_PASSWORD@$REGISTRY_URL

Upgrade output example (JFrog)

The output of the above commands should roughly match the following code block for customers assigned to JFrog.

$Created temporary directory: /tmp/pip-ephem-wheel-cache-hpp3436z
$Created temporary directory: /tmp/pip-req-tracker-m18dli2n
$Created requirements tracker '/tmp/pip-req-tracker-m18dli2n'
$Created temporary directory: /tmp/pip-install-k11d6prh
$Looking in indexes: https://pypi.org/simple, https://itential.jfrog.io/artifactory/automation-gateway/
$Collecting automation-gateway==...
$ ...
$ ...
$Successfully installed automation-gateway-...
$Cleaning up...
$Removed build tracker '/tmp/pip-req-tracker-m18dli2n'

Customer accounts assigned to Nexus

Run this script to upgrade if assigned to the Nexus repository.

$echo "## CUSTOMIZE THESE VARIABLES BEFORE RUNNING THIS SCRIPT: ##" && \
>export AUTOMATION_GATEWAY_VERSION="" && \
>export REGISTRY_USERNAME="" && \
>export REGISTRY_PASSWORD="" && \
>export REGISTRY_URL="registry.aws.itential.com/repository/automation-gateway-release/simple"
$
$echo "## UPGRADE THE AUTOMATION GATEWAY PIP PACKAGE: ##" && \
>sudo pip3 install --upgrade -v automation-gateway==$AUTOMATION_GATEWAY_VERSION --extra-index-url https://$REGISTRY_USERNAME:$REGISTRY_PASSWORD@$REGISTRY_URL

Upgrade output example (Nexus)

The output of the above commands should roughly match the following code block for customers assigned to Nexus.

$Created temporary directory: /tmp/pip-ephem-wheel-cache-hpp3436z
$Created temporary directory: /tmp/pip-req-tracker-m18dli2n
$Created requirements tracker '/tmp/pip-req-tracker-m18dli2n'
$Created temporary directory: /tmp/pip-install-k11d6prh
$Looking in indexes: https://pypi.org/simple, https://registry.aws.itential.com/repository/automation-gateway-release/simple
$Collecting automation-gateway==...
$ ...
$ ...
$Successfully installed automation-gateway-...
$Cleaning up...
$Removed build tracker '/tmp/pip-req-tracker-m18dli2n'