Offline installation method

The following instructions explain how to perform an offline install of Itential Gateway. 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 Gateway system requirements page for information regarding the software repository and registry credentials that can be used with the various Gateway 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 (Gateway 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 Gateway system requirements.

2

Verify downloaded files

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

[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 Gateway 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