-#!/bin/bash
+#!/bin/bash -l
# SPDX-License-Identifier: EPL-1.0
##############################################################################
# Copyright (c) 2015 The Linux Foundation and others.
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
##############################################################################
+# vim: sw=4 ts=4 sts=4 et ft=sh :
ROBOT_VENV="/tmp/v/robot"
echo ROBOT_VENV="${ROBOT_VENV}" >> "${WORKSPACE}/env.properties"
# The --system-site-packages parameter allows us to pick up system level
# installed packages. This allows us to bake matplotlib which takes very long
# to install into the image.
-virtualenv --system-site-packages "${ROBOT_VENV}"
+virtualenv -p python3 --system-site-packages "${ROBOT_VENV}"
# shellcheck disable=SC1090
source "${ROBOT_VENV}/bin/activate"
set -exu
# Make sure pip itself us up-to-date.
-pip install --upgrade pip
-pip3 install --upgrade pip
-
-pip install --upgrade docker-py importlib requests scapy netifaces netaddr ipaddr pyhocon
-pip install --upgrade robotframework-httplibrary \
- requests==2.15.1 \
- robotframework-requests \
- robotframework-sshlibrary \
- robotframework-selenium2library \
- robotframework-pycurllibrary
+python -m pip install --upgrade pip
+
+echo "Installing Python Requirements"
+cat << 'EOF' > "requirements.txt"
+docker-py
+importlib
+ipaddr
+netaddr
+netifaces
+pyhocon
+requests
+robotframework-httplibrary
+robotframework-requests
+robotframework-selenium2library
+robotframework-sshlibrary==3.1.1
+scapy
# Module jsonpath is needed by current AAA idmlite suite.
-pip install --upgrade jsonpath-rw
+jsonpath-rw
# Modules for longevity framework robot library
-pip install --upgrade elasticsearch==1.7.0 elasticsearch-dsl==0.0.11
+elasticsearch
+elasticsearch-dsl
# Module for pyangbind used by lispflowmapping project
-pip install --upgrade pyangbind
+pyangbind
# Module for iso8601 datetime format
-pip install --upgrade isodate
-
-# Modules for tornado and jsonpointer used by client libraries of IoTDM project
-# Note: Could be removed when client running on tools VM is used instead
-# of client libraries only.
-pip install --upgrade tornado jsonpointer
+isodate
# Module for TemplatedRequests.robot library
-pip install --upgrade jmespath
+jmespath
# Module for backup-restore support library
-pip install --upgrade jsonpatch
-
-#Module for elasticsearch python client
-pip3 install --user urllib3==1.22
-pip3 install --user requests==2.9.1
-pip3 install --user elasticsearch==6.2.0
-pip3 install --user PyYAML==3.11
+jsonpatch
# odltools for extra debugging
-pip install odltools
+odltools
+EOF
+python -m pip install -r requirements.txt
odltools -V
-
-# Print installed versions.
-pip install --upgrade pipdeptree
-pipdeptree
-
-# vim: sw=4 ts=4 sts=4 et ft=sh :
+pip freeze