diff options
Diffstat (limited to 'nfvbenchvm/dib/elements/nfvbenchvm/post-install.d/52-nfvbench-script')
-rwxr-xr-x | nfvbenchvm/dib/elements/nfvbenchvm/post-install.d/52-nfvbench-script | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/nfvbenchvm/dib/elements/nfvbenchvm/post-install.d/52-nfvbench-script b/nfvbenchvm/dib/elements/nfvbenchvm/post-install.d/52-nfvbench-script new file mode 100755 index 0000000..4edc493 --- /dev/null +++ b/nfvbenchvm/dib/elements/nfvbenchvm/post-install.d/52-nfvbench-script @@ -0,0 +1,56 @@ +#!/bin/bash + +if [ ${DIB_DEBUG_TRACE:-1} -gt 0 ]; then + set -x +fi + +# Make sure the disk image build fails if nfvbench installation fails +set -euo pipefail + +if [ $DIB_DEV_IMAGE != "generator" ]; then + exit 0 +fi + +# TRex installation +mkdir -p /opt/trex +mkdir /var/log/nfvbench + +wget --no-cache --no-check-certificate https://trex-tgn.cisco.com/trex/release/$TREX_VER.tar.gz +tar xzf $TREX_VER.tar.gz -C /opt/trex +rm -f /$TREX_VER.tar.gz +rm -f /opt/trex/$TREX_VER/trex_client_$TREX_VER.tar.gz +cp -a /opt/trex/$TREX_VER/automation/trex_control_plane/interactive/trex /usr/local/lib/python3.6/site-packages/ +rm -rf /opt/trex/$TREX_VER/automation/trex_control_plane/interactive/trex + +# NFVbench installation +cd /opt +if [[ "${DIB_NFVBENCH_CODE_ORIGIN}" == "static" ]]; then + # nfvbench code has been copied by the install-static element to + # /opt/nfvbench without the .git/ directory. But pip will need that .git/ + # directory to compute nfvbench version, so will now finish the incomplete + # job of install-static: + STATIC_NFVBENCH_CODE="$(dirname $0)/../static/opt/nfvbench" + [ -d "${STATIC_NFVBENCH_CODE}" ] || { + echo "Error: directory ${STATIC_NFVBENCH_CODE} missing." + echo " You requested a build from local nfvbench code with" + echo " DIB_NFVBENCH_CODE_ORIGIN=static, but you likely forgot" + echo " to clone nfvbench code in elements/nfvbenchvm/static/opt/nfvbench" + exit 1 + } + rsync -lr "${STATIC_NFVBENCH_CODE}"/ /opt/nfvbench/ +else + git clone https://gerrit.opnfv.org/gerrit/nfvbench +fi +cd nfvbench/ +python3 -m pip install . --use-deprecated=legacy-resolver +cp xtesting/testcases.yaml /usr/local/lib/python3.6/site-packages/xtesting/ci/testcases.yaml +python3 ./docker/cleanup_generators.py +rm -rf /opt/nfvbench/.git +rm -rf /opt/nfvbench/nfvbench +rm -rf /opt/nfvbench/behave_tests +# symlink to NFVbench sources +ln -s /usr/local/lib/python3.6/site-packages/nfvbench /opt/nfvbench/nfvbench +ln -s /usr/local/lib/python3.6/site-packages/behave_tests /opt/nfvbench/behave_tests +# persist env variables +echo "export TREX_VER=\"$TREX_VER\"" >> /etc/profile.d/nfvbench.sh +echo "export TREX_EXT_LIBS=\"/opt/trex/$TREX_VER/external_libs\"" >> /etc/profile.d/nfvbench.sh |