Offline installation method

The following instructions explain how to perform an offline install of Itential Automation Gateway (IAG). Use this process when the target system is disconnected from the internet.

More information on download distribution is available in the pip download reference guide.

Refer to the IAG system requirements page for information regarding the software repository and registry credentials that can be used with the various IAG installation methods.

Prepare PIP packages

1

Download packages on an internet-connected VM

Run the following to download packages from a VM with internet access of the same OS and Python version (IAG requires Python 3) as the target system.

$echo "## CUSTOMIZE THESE VARIABLES BEFORE RUNNING THIS SCRIPT: ##" && \
>export AUTOMATION_GATEWAY_VERSION="" && \
>export REGISTRY_USERNAME="" && \
>export REGISTRY_PASSWORD="" && \
>export REGISTRY_URL="https://registry.aws.itential.com/repository/automation-gateway-release/simple" && \
>mkdir dist && \
>cd dist && \
>pip3 -v download --extra-index-url $REGISTRY_USERNAME:$REGISTRY_PASSWORD@$REGISTRY_URL automation-gateway==$AUTOMATION_GATEWAY_VERSION

The pip download command supports --platform, --python-version, --implementation, and --abi options to target a different platform. See the command reference for more information. The command above uses credentials for the Nexus repository. For JFrog repository credentials, see IAG system requirements.

2

Verify downloaded files

Multiple .whl files are downloaded — these are all the prerequisites required by IAG.

$[root@centos-7 d]# ls
$automation_gateway-1.45.1-py3-none-any.whl MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl
$ansible_runner-1.2.0-py2.py3-none-any.whl netifaces-0.10.9-cp36-cp36m-manylinux1_x86_64.whl
$argparse-1.4.0-py2.py3-none-any.whl pexpect-4.7.0-py2.py3-none-any.whl
$attrs-19.1.0-py2.py3-none-any.whl psutil-5.6.1.tar.gz
$certifi-2019.3.9-py2.py3-none-any.whl ptyprocess-0.6.0-py2.py3-none-any.whl
$chardet-3.0.4-py2.py3-none-any.whl pyrsistent-0.14.11.tar.gz
$Click-7.0-py2.py3-none-any.whl python_daemon-2.2.3-py2.py3-none-any.whl
$clickclick-1.2.2-py2.py3-none-any.whl python_dateutil-2.8.0-py2.py3-none-any.whl
$connexion-1.5.3-py2.py3-none-any.whl PyYAML-3.13.tar.gz
$docutils-0.14-py3-none-any.whl requests-2.21.0-py2.py3-none-any.whl
$Flask-1.0.2-py2.py3-none-any.whl setuptools-41.0.1-py2.py3-none-any.whl
$Flask_SQLAlchemy-2.3.2-py2.py3-none-any.whl six-1.12.0-py2.py3-none-any.whl
$idna-2.8-py2.py3-none-any.whl SQLAlchemy-1.3.3.tar.gz
$inflection-0.3.1.tar.gz swagger_spec_validator-2.4.3-py2.py3-none-any.whl
$itsdangerous-1.1.0-py2.py3-none-any.whl textfsm-0.4.1.tar.gz
$Jinja2-2.10.1-py2.py3-none-any.whl tomlkit-0.4.6-py2.py3-none-any.whl
$jsonschema-3.0.1-py2.py3-none-any.whl urllib3-1.24.1-py2.py3-none-any.whl
$lockfile-0.12.2-py2.py3-none-any.whl Werkzeug-0.15.2-py2.py3-none-any.whl
3

Create a tar archive

Create a tar file of all .whl and .tar.gz files.

$[root@centos-7 d]# tar -zcvf automation_gateway-dist.tar.gz *
$automation_gateway-1.45.1-py3-none-any.whl
$ansible_runner-1.2.0-py2.py3-none-any.whl
$argparse-1.4.0-py2.py3-none-any.whl
$attrs-19.1.0-py2.py3-none-any.whl
$certifi-2019.3.9-py2.py3-none-any.whl
$chardet-3.0.4-py2.py3-none-any.whl
$Click-7.0-py2.py3-none-any.whl
$clickclick-1.2.2-py2.py3-none-any.whl
$connexion-1.5.3-py2.py3-none-any.whl
$docutils-0.14-py3-none-any.whl
$Flask-1.0.2-py2.py3-none-any.whl
$Flask_SQLAlchemy-2.3.2-py2.py3-none-any.whl
$idna-2.8-py2.py3-none-any.whl
$inflection-0.3.1.tar.gz
$itsdangerous-1.1.0-py2.py3-none-any.whl
$Jinja2-2.10.1-py2.py3-none-any.whl
$jsonschema-3.0.1-py2.py3-none-any.whl
$lockfile-0.12.2-py2.py3-none-any.whl
$logger-1.4.tar.gz
$MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl
$netifaces-0.10.9-cp36-cp36m-manylinux1_x86_64.whl
$pexpect-4.7.0-py2.py3-none-any.whl
$psutil-5.6.1.tar.gz
$ptyprocess-0.6.0-py2.py3-none-any.whl
$pyrsistent-0.14.11.tar.gz
$python_daemon-2.2.3-py2.py3-none-any.whl
$python_dateutil-2.8.0-py2.py3-none-any.whl
$PyYAML-3.13.tar.gz
$requests-2.21.0-py2.py3-none-any.whl
$setuptools-41.0.1-py2.py3-none-any.whl
$six-1.12.0-py2.py3-none-any.whl
$SQLAlchemy-1.3.3.tar.gz
$swagger_spec_validator-2.4.3-py2.py3-none-any.whl
$textfsm-0.4.1.tar.gz
$tomlkit-0.4.6-py2.py3-none-any.whl
$urllib3-1.24.1-py2.py3-none-any.whl
$Werkzeug-0.15.2-py2.py3-none-any.whl

Transfer PIP packages

1

Transfer the tar file

Transfer automation_gateway-dist.tar.gz to the target machine.

2

Verify OS and Python versions

Confirm the OS and Python versions match what you chose when preparing the distribution, then extract the archive.

$# mkdir tmp
$# cd tmp
$# tar -zxvf automation_gateway-dist.tar.gz
3

Install tar.gz dependencies

Install all .tar.gz files and dependencies from the pre-packaged IAG distribution before installing the .whl files.

$pip3 install *.tar.gz
4

Install .whl files

Run the pip command to install all .whl files.

$pip3 install *.whl -f ./ --no-index