Offline Installation Method
  • 22 Mar 2024
  • Dark
    Light
  • PDF

Offline Installation Method

  • Dark
    Light
  • PDF

Article Summary

The following set of instructions explain how to perform an offline install of Automation 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.

Note:

Refer to the General Prerequisites page for information regarding the Software Repository and Registry Credentials that can be used with the various IAG installation methods.

Prepare PIP Packages

Use the information in this section to prepare PIP packages:

  1. Run the following to download packages from a VM with internet access of the same OS and Python version (reminder: Automation Gateway requires Python 3) as a target customer 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
    
    Note:

    There are options on the pip download command where you can specify --platform, --python-version, –implementation, and –abi to choose a different platform than the one you are on. See the command reference for more information. Also, the command points to registry credentials for the Nexus repository. For registry credentials to the JFrog repository, refer to the General Prerequisites page.


  2. Notice that multiple .whl files are downloaded (these are all the prerequisites needed by Automation 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 file of all .whl files 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

Use the information in this section to transfer PIP packages:

  1. Transfer the tar file (automation_gateway-dist.tar.gz) to the machine.

  2. Verify the OS and Python versions match what you chose in Step 1 of preparing the distribution.

    # mkdir tmp
    # cd tmp
    # tar -zxvf automation_gateway-dist.tar.gz
    
  3. Be sure all the tar.gz files and dependencies (from the pre-packaged IAG distribution file) are installed prior to installing the .whl files.

    pip3 install *.tar.gz
    
  4. Run the pip command to install all .whl files.

    pip3 install *.whl -f ./ --no-index
    
  5. Process complete.


Was this article helpful?

What's Next
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.