blob: 4edc49382bc1063fb12aa10cd2b31f04f4d04d4e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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
|