diff options
author | Mauro Sardara <msardara@cisco.com> | 2022-08-09 14:18:05 +0200 |
---|---|---|
committer | Mauro Sardara <msardara@cisco.com> | 2022-08-09 15:14:10 +0200 |
commit | 24a4dec7f91e9b6f0a8279f6eaeebbb35ba49c4f (patch) | |
tree | 37c5c4da37dac456c96b33da6ac80667a79705da /tests | |
parent | 8d27045832427a0ea345f48bfb2c42f46a357af1 (diff) |
ci: add functional tests to verification/merge jobs
Ref: ICN-732
Signed-off-by: Mauro Sardara <msardara@cisco.com>
Change-Id: Iabfce26c446c502dc1d8f50da0d607791ce392e9
Diffstat (limited to 'tests')
-rw-r--r-- | tests/1-node.yml | 2 | ||||
-rw-r--r-- | tests/2-nodes-hicn-light.yml | 6 | ||||
-rw-r--r-- | tests/2-nodes-vpp-bridge.yml | 4 | ||||
-rw-r--r-- | tests/2-nodes-vpp-memif-replication.yml | 8 | ||||
-rw-r--r-- | tests/2-nodes-vpp-memif.yml | 4 | ||||
-rw-r--r-- | tests/2-nodes.yml | 5 | ||||
-rw-r--r-- | tests/Dockerfile.ci | 41 | ||||
-rw-r--r-- | tests/Makefile | 4 | ||||
-rwxr-xr-x | tests/channel.sh | 2 | ||||
-rwxr-xr-x | tests/config.sh | 5 |
10 files changed, 52 insertions, 29 deletions
diff --git a/tests/1-node.yml b/tests/1-node.yml index a543e70f1..be693c792 100644 --- a/tests/1-node.yml +++ b/tests/1-node.yml @@ -4,8 +4,6 @@ services: build: context: .. dockerfile: ${DOCKERFILE} - args: - BASE_IMAGE: ${BASE_IMAGE} image: hicn-base privileged: true container_name: forwarder diff --git a/tests/2-nodes-hicn-light.yml b/tests/2-nodes-hicn-light.yml index 0aee8cf5e..674df3ea4 100644 --- a/tests/2-nodes-hicn-light.yml +++ b/tests/2-nodes-hicn-light.yml @@ -58,8 +58,8 @@ services: sleep 4 - hiperf -q -z hicnlightng_module -S -R -B 4000kbps ${RTC_PRODUCER} -P 2 & - hiperf -q -z hicnlightng_module -S ${RAAQM_PRODUCER}/128 & - hicn-ping-server -q -z hicnlightng_module -s 0 -n ${PING_PRODUCER}/128 & + hiperf -q -z hicnlight_module -S -R -B 4000kbps ${RTC_PRODUCER} -P 2 & + hiperf -q -z hicnlight_module -S ${RAAQM_PRODUCER}/128 & + hicn-ping-server -q -z hicnlight_module -s 0 -n ${PING_PRODUCER}/128 & tail -f /dev/null diff --git a/tests/2-nodes-vpp-bridge.yml b/tests/2-nodes-vpp-bridge.yml index db1fa6fdc..5a61874ac 100644 --- a/tests/2-nodes-vpp-bridge.yml +++ b/tests/2-nodes-vpp-bridge.yml @@ -18,7 +18,7 @@ services: sudo tee /etc/vpp/startup.conf <<EOF cpu { main-core 1 } plugins { - path /usr/lib/x86_64-linux-gnu/vpp_plugins:/usr/lib/vpp_plugins + path /usr/lib/$$(arch)-linux-gnu/vpp_plugins:/usr/lib/vpp_plugins plugin default { disable } plugin acl_plugin.so { enable } plugin nat_plugin.so { enable } @@ -70,7 +70,7 @@ services: sudo tee /etc/vpp/startup.conf <<EOF cpu { main-core 2 } plugins { - path /usr/lib/x86_64-linux-gnu/vpp_plugins:/usr/lib/vpp_plugins + path /usr/lib/$$(arch)-linux-gnu/vpp_plugins:/usr/lib/vpp_plugins plugin default { disable } plugin acl_plugin.so { enable } plugin nat_plugin.so { enable } diff --git a/tests/2-nodes-vpp-memif-replication.yml b/tests/2-nodes-vpp-memif-replication.yml index 45de82400..c5b0d3865 100644 --- a/tests/2-nodes-vpp-memif-replication.yml +++ b/tests/2-nodes-vpp-memif-replication.yml @@ -4,8 +4,6 @@ services: build: context: .. dockerfile: ${DOCKERFILE} - args: - BASE_IMAGE: ${BASE_IMAGE} stdin_open: true tty: true working_dir: /workspace @@ -26,7 +24,7 @@ services: cpu { main-core 1 } buffers { buffers-per-numa 600000 } plugins { - path /hicn-root/lib/vpp_plugins:/usr/lib/x86_64-linux-gnu/vpp_plugins:/usr/lib/vpp_plugins + path /hicn-root/lib/vpp_plugins:/usr/lib/$$(arch)-linux-gnu/vpp_plugins:/usr/lib/vpp_plugins plugin default { disable } plugin acl_plugin.so { enable } plugin nat_plugin.so { enable } @@ -75,8 +73,6 @@ services: build: context: .. dockerfile: ${DOCKERFILE} - args: - BASE_IMAGE: ${BASE_IMAGE} stdin_open: true tty: true working_dir: /workspace @@ -98,7 +94,7 @@ services: buffers { buffers-per-numa 600000 } plugins { - path /hicn-root/lib/vpp_plugins:/usr/lib/x86_64-linux-gnu/vpp_plugins:/usr/lib/vpp_plugins + path /hicn-root/lib/vpp_plugins:/usr/lib/$$(arch)-linux-gnu/vpp_plugins:/usr/lib/vpp_plugins plugin default { disable } plugin acl_plugin.so { enable } plugin nat_plugin.so { enable } diff --git a/tests/2-nodes-vpp-memif.yml b/tests/2-nodes-vpp-memif.yml index 48b4a1c1d..e02c947a6 100644 --- a/tests/2-nodes-vpp-memif.yml +++ b/tests/2-nodes-vpp-memif.yml @@ -17,7 +17,7 @@ services: cpu { main-core 1 } buffers { buffers-per-numa 600000 } plugins { - path /usr/lib/x86_64-linux-gnu/vpp_plugins:/usr/lib/vpp_plugins + path /usr/lib/$$(arch)-linux-gnu/vpp_plugins:/usr/lib/vpp_plugins plugin default { disable } plugin acl_plugin.so { enable } plugin nat_plugin.so { enable } @@ -75,7 +75,7 @@ services: buffers { buffers-per-numa 600000 } plugins { - path /usr/lib/x86_64-linux-gnu/vpp_plugins:/usr/lib/vpp_plugins + path /usr/lib/$$(arch)-linux-gnu/vpp_plugins:/usr/lib/vpp_plugins plugin default { disable } plugin acl_plugin.so { enable } plugin nat_plugin.so { enable } diff --git a/tests/2-nodes.yml b/tests/2-nodes.yml index 72dcc2298..e1740dbf7 100644 --- a/tests/2-nodes.yml +++ b/tests/2-nodes.yml @@ -4,9 +4,6 @@ services: build: context: .. dockerfile: ${DOCKERFILE} - args: - BASE_IMAGE: ${BASE_IMAGE} - image: hicn-base privileged: true stdin_open: true hostname: client @@ -24,8 +21,6 @@ services: build: context: .. dockerfile: ${DOCKERFILE} - args: - BASE_IMAGE: ${BASE_IMAGE} privileged: true stdin_open: true hostname: server diff --git a/tests/Dockerfile.ci b/tests/Dockerfile.ci index 29f2e9dac..b4c03f7e3 100644 --- a/tests/Dockerfile.ci +++ b/tests/Dockerfile.ci @@ -1,5 +1,40 @@ -ARG BASE_IMAGE +FROM ubuntu:focal -FROM ${BASE_IMAGE} +ARG DEBIAN_FRONTEND=noninteractive +ARG DEB_FOLDER="./packages" -RUN sudo sed -i 's,secure_path="\(.*\)",secure_path="/hicn-root/bin:\1",' /etc/sudoers +WORKDIR /hicn-release + +################################################################ +# Copy DEB files +################################################################ +COPY ${DEB_FOLDER} deb + +################################################################ +# Install VPP and hicn debs +################################################################ +ARG VERSION_PATH=/tmp/versions.cmake +COPY versions.cmake ${VERSION_PATH} +ARG INSTALL_VPP_SCRIPT=/tmp/install-vpp.sh +COPY scripts/install-vpp.sh ${INSTALL_VPP_SCRIPT} + +RUN bash -x ${INSTALL_VPP_SCRIPT} \ + && cd deb \ + && apt-get install -y \ + iproute2 sudo \ + ./libhicn_*.deb \ + ./hicn-light_*.deb \ + ./hicn-plugin_*.deb \ + ./libhicnctrl_*.deb \ + ./libhicnctrl-modules_*.deb \ + ./libhicntransport-io-modules_*.deb \ + ./libhicntransport_*.deb \ + ./facemgr_*.deb \ + ./hicn-apps_*.deb \ + && rm ${VERSION_PATH} \ + && rm -rf deb \ + && rm -rf /var/lib/apt/lists/* \ + && apt-get autoremove -y \ + && apt-get clean + +WORKDIR / diff --git a/tests/Makefile b/tests/Makefile index 0f30d6a42..f9c166b8d 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -1,12 +1,12 @@ # Use when building for the fist time, # then `make test` forces a rebuild if local changes build: - BASE_IMAGE=hicn DOCKERFILE=Dockerfile.dev BUILD_SOFTWARE=1 \ + DOCKERFILE=Dockerfile.dev BUILD_SOFTWARE=1 \ docker-compose -f build.yml up --force-recreate --remove-orphans # Rebuild from scratch (to avoid cmake cache) rebuild: - BASE_IMAGE=hicn DOCKERFILE=Dockerfile.dev BUILD_SOFTWARE=1 \ + DOCKERFILE=Dockerfile.dev BUILD_SOFTWARE=1 \ REBUILD=1 \ docker-compose -f build.yml up --force-recreate --remove-orphans diff --git a/tests/channel.sh b/tests/channel.sh index 28a187e72..59335da65 100755 --- a/tests/channel.sh +++ b/tests/channel.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash set -e diff --git a/tests/config.sh b/tests/config.sh index 654bad518..9d8e80d62 100755 --- a/tests/config.sh +++ b/tests/config.sh @@ -12,11 +12,10 @@ source ${SCRIPT_PATH}/.env set -a DOCKERFILE=${DOCKERFILE:-Dockerfile.dev} -BASE_IMAGE=${BASE_IMAGE:-hicn} BUILD_SOFTWARE=${BUILD_SOFTWARE:-1} set +a -HIPERF_CMD_RTC="hiperf -q -n 50 -C -H -R ${RTC_PRODUCER} -P 2" +HIPERF_CMD_RTC="/usr/bin/hiperf -q -n 50 -C -H -R ${RTC_PRODUCER} -P 2" HIPERF_CMD_MEMIF_RTC="${HIPERF_CMD_RTC} -z memif_module" POSTPROCESS_COMMAND_RAAQM_RTC='tail -n +3 | \ tr -s " " | \ @@ -34,7 +33,7 @@ POSTPROCESS_COMMAND_RAAQM_RTC='tail -n +3 | \ print int(a[0]), int(a[n-1]), int(s/n) \ }"' -HIPERF_CMD_RAAQM="hiperf -q -n 50 -i 200 -C -H ${RAAQM_PRODUCER}" +HIPERF_CMD_RAAQM="/usr/bin/hiperf -q -n 50 -i 200 -C -H ${RAAQM_PRODUCER}" HIPERF_CMD_CBR="${HIPERF_CMD_RAAQM} -W 350 -M 0" HIPERF_CMD_MEMIF_RAAQM="${HIPERF_CMD_RAAQM} -z memif_module" HIPERF_CMD_MEMIF_CBR="${HIPERF_CMD_CBR} -z memif_module" |