diff options
Diffstat (limited to 'nfvbenchvm/dib/elements/nfvbenchvm/post-install.d')
7 files changed, 73 insertions, 9 deletions
diff --git a/nfvbenchvm/dib/elements/nfvbenchvm/post-install.d/01-update-kernel b/nfvbenchvm/dib/elements/nfvbenchvm/post-install.d/01-update-kernel index 8094006..0c32b5f 100755 --- a/nfvbenchvm/dib/elements/nfvbenchvm/post-install.d/01-update-kernel +++ b/nfvbenchvm/dib/elements/nfvbenchvm/post-install.d/01-update-kernel @@ -1,5 +1,12 @@ #!/bin/bash +if [ ${DIB_DEBUG_TRACE:-1} -gt 0 ]; then + set -x +fi + +# Stop on error +set -euo pipefail + if [ $DIB_USE_ELREPO_KERNEL != "True" ]; then exit 0 fi diff --git a/nfvbenchvm/dib/elements/nfvbenchvm/post-install.d/02-pip-package b/nfvbenchvm/dib/elements/nfvbenchvm/post-install.d/02-pip-package index 9707841..ee7c5f2 100755 --- a/nfvbenchvm/dib/elements/nfvbenchvm/post-install.d/02-pip-package +++ b/nfvbenchvm/dib/elements/nfvbenchvm/post-install.d/02-pip-package @@ -1,8 +1,12 @@ #!/bin/bash -cd /tmp -wget https://bootstrap.pypa.io/get-pip.py -python3 get-pip.py +if [ ${DIB_DEBUG_TRACE:-1} -gt 0 ]; then + set -x +fi -pip3 install setuptools wheel pbr -pip3 install pyyaml +# Stop on error +set -euo pipefail + +python3 -m pip install --upgrade pip +python3 -m pip install setuptools wheel pbr +python3 -m pip install pyyaml diff --git a/nfvbenchvm/dib/elements/nfvbenchvm/post-install.d/03-copy-rc-local b/nfvbenchvm/dib/elements/nfvbenchvm/post-install.d/03-copy-rc-local index 3311530..4a8e66b 100755 --- a/nfvbenchvm/dib/elements/nfvbenchvm/post-install.d/03-copy-rc-local +++ b/nfvbenchvm/dib/elements/nfvbenchvm/post-install.d/03-copy-rc-local @@ -1,8 +1,15 @@ #!/bin/bash +if [ ${DIB_DEBUG_TRACE:-1} -gt 0 ]; then + set -x +fi + +# Stop on error +set -euo pipefail + # set accurate rc.local file corresponding to current image built if [ $DIB_DEV_IMAGE = "loopvm" ]; then mv /etc/rc.d/rc.local.loopvm /etc/rc.d/rc.local else mv /etc/rc.d/rc.local.generator /etc/rc.d/rc.local -fi
\ No newline at end of file +fi diff --git a/nfvbenchvm/dib/elements/nfvbenchvm/post-install.d/04-add-execute-attribute b/nfvbenchvm/dib/elements/nfvbenchvm/post-install.d/04-add-execute-attribute index 666d9dc..52aed8a 100755 --- a/nfvbenchvm/dib/elements/nfvbenchvm/post-install.d/04-add-execute-attribute +++ b/nfvbenchvm/dib/elements/nfvbenchvm/post-install.d/04-add-execute-attribute @@ -1,5 +1,12 @@ #!/bin/bash +if [ ${DIB_DEBUG_TRACE:-1} -gt 0 ]; then + set -x +fi + +# Stop on error +set -euo pipefail + chmod +x /etc/rc.d/rc.local chmod +x /etc/sysconfig/network-scripts/ifcfg-eth0 chmod +x /etc/profile.d/nfvbench.sh diff --git a/nfvbenchvm/dib/elements/nfvbenchvm/post-install.d/52-nfvbench-script b/nfvbenchvm/dib/elements/nfvbenchvm/post-install.d/52-nfvbench-script index 9162952..4edc493 100755 --- a/nfvbenchvm/dib/elements/nfvbenchvm/post-install.d/52-nfvbench-script +++ b/nfvbenchvm/dib/elements/nfvbenchvm/post-install.d/52-nfvbench-script @@ -1,5 +1,12 @@ #!/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 @@ -17,15 +24,33 @@ rm -rf /opt/trex/$TREX_VER/automation/trex_control_plane/interactive/trex # NFVbench installation cd /opt -git clone https://gerrit.opnfv.org/gerrit/nfvbench +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/ -pip3 install . --use-deprecated=legacy-resolver +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 diff --git a/nfvbenchvm/dib/elements/nfvbenchvm/post-install.d/53-sshd-script b/nfvbenchvm/dib/elements/nfvbenchvm/post-install.d/53-sshd-script index 64e8877..0c7dfd5 100755 --- a/nfvbenchvm/dib/elements/nfvbenchvm/post-install.d/53-sshd-script +++ b/nfvbenchvm/dib/elements/nfvbenchvm/post-install.d/53-sshd-script @@ -1,4 +1,11 @@ #!/bin/bash +if [ ${DIB_DEBUG_TRACE:-1} -gt 0 ]; then + set -x +fi + +# Stop on error +set -euo pipefail + # Set UseDNS no value in sshd_config to reduce time to connect -echo "UseDNS no" >> /etc/ssh/sshd_config
\ No newline at end of file +echo "UseDNS no" >> /etc/ssh/sshd_config diff --git a/nfvbenchvm/dib/elements/nfvbenchvm/post-install.d/99-cleanup b/nfvbenchvm/dib/elements/nfvbenchvm/post-install.d/99-cleanup index e48ca52..dbb7342 100755 --- a/nfvbenchvm/dib/elements/nfvbenchvm/post-install.d/99-cleanup +++ b/nfvbenchvm/dib/elements/nfvbenchvm/post-install.d/99-cleanup @@ -1,3 +1,10 @@ #!/bin/bash +if [ ${DIB_DEBUG_TRACE:-1} -gt 0 ]; then + set -x +fi + +# Stop on error +set -euo pipefail + yum erase -y python-devel libyaml-devel numactl-devel kernel-devel kernel-headers kernel-lt-headers kernel-lt-devel gcc git python3-dev libpython3.6-dev |