X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=jjb%2Fintegration%2Fintegration-install-robotframework.sh;h=692c886f11b432e25a4617ac4b03472985b179f6;hb=0aee858c0302d42cf0afe89ae7cc4ebc7f0ff09c;hp=d43f2d32b0e0c7dc81f2a15c64e7e9a178b6bc3d;hpb=a7909a3f6821e4745675950e8ac16013b105257b;p=releng%2Fbuilder.git diff --git a/jjb/integration/integration-install-robotframework.sh b/jjb/integration/integration-install-robotframework.sh index d43f2d32b..692c886f1 100644 --- a/jjb/integration/integration-install-robotframework.sh +++ b/jjb/integration/integration-install-robotframework.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash -l # SPDX-License-Identifier: EPL-1.0 ############################################################################## # Copyright (c) 2015 The Linux Foundation and others. @@ -8,68 +8,57 @@ # 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}" # shellcheck disable=SC1090 -source "${ROBOT_VENV}/bin/activate" +. ~/lf-env.sh -set -exu +# Create a virtual environment for robot tests and make sure setuptools & wheel +# are up-to-date in addition to pip +lf-activate-venv --python python3 --venv-file "${WORKSPACE}/.robot_venv" \ + setuptools \ + wheel -# Make sure pip itself us up-to-date. -pip install --upgrade pip +# Save the virtual environment in ROBOT_VENV +ROBOT_VENV="$(cat "${WORKSPACE}/.robot_venv")" +echo ROBOT_VENV="${ROBOT_VENV}" >> "${WORKSPACE}/env.properties" -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 +set -exu + +echo "Installing Python Requirements" +cat << 'EOF' > "requirements.txt" +docker-py +ipaddr +netaddr +netifaces +pyhocon +requests +robotframework +robotframework-httplibrary +robotframework-requests==0.9.3 +robotframework-selenium2library +robotframework-sshlibrary==3.8.0 +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 OpenstackClient is needed for Netvirt CSIT jobs -# Module networking-l2gw is required for using l2gw commands with neutron client -# Module python-neutronclient is needed for certain tests run with Openstack Newton -# that does not work with Openstack Client -# Module pyhon-novaclient is installed as a dependency of openstackclient, but the -# latest version (v10.0.0) has some problem with "server add floating ip" that is -# not there with v9.0.0, so pinning it to that for now -pip install python-openstackclient -pip install networking-l2gw==11.0.0 -pip install python-neutronclient==6.1.0 -pip install networking-sfc -pip install --upgrade python-novaclient==9.0.0 +jsonpatch +EOF -# Print installed versions. -pip install --upgrade pipdeptree -pipdeptree - -# vim: sw=4 ts=4 sts=4 et ft=sh : +python -m pip install -r requirements.txt +pip freeze