From 5f2c10a6add76171029b34f600afafb78e938471 Mon Sep 17 00:00:00 2001 From: Ciprian Barbu Date: Tue, 28 Apr 2020 01:20:27 +0300 Subject: [PATCH] Mount results dir for SEBA robot tests SEBA validation is run from a Docker container but we need the robot reports and logs to be avilable on the host (jenkins slave) to be uploaded after the job finishes. This patch mounts a results dir for this purpose. Also the testing scripts have been refactored and cleaned up. Fixes IEC-45 Signed-off-by: Ciprian Barbu Change-Id: I26b7162fac58b347a5ea5f529e9368c1bf09b083 --- .../seba_on_arm/test/ponsim/docker_run.sh | 18 ++++++++--- src/use_cases/seba_on_arm/test/ponsim/test.sh | 36 +++++++++------------- 2 files changed, 28 insertions(+), 26 deletions(-) diff --git a/src/use_cases/seba_on_arm/test/ponsim/docker_run.sh b/src/use_cases/seba_on_arm/test/ponsim/docker_run.sh index 371bdfa..22f2bd8 100755 --- a/src/use_cases/seba_on_arm/test/ponsim/docker_run.sh +++ b/src/use_cases/seba_on_arm/test/ponsim/docker_run.sh @@ -15,7 +15,7 @@ VOLTHA_REPO="${VOLTHA_REPO:-https://github.com/opencord/voltha.git}" VOLTHA_REV="master" K8S_MASTER_IP="${K8S_MASTER_IP:-127.0.0.1}" KUBE_DIR="${KUBE_DIR:-/workspace/.kube}" -USER="${USER:-ubuntu}" +TEST_USER="${TEST_USER:-ubuntu}" # The ssh server must be running since cord-tester does ssh to localhost sudo apt-get update @@ -41,11 +41,21 @@ source venv_cord/bin/activate cd src/test/cord-api # As per documentation, we set the SERVER_IP before anything sed -i "s/SERVER_IP.*=.*'/SERVER_IP = '${K8S_MASTER_IP}'/g" \ - Properties/RestApiProperties.py + Properties/RestApiProperties.py cd Tests/WorkflowValidations/ export SERVER_IP="${K8S_MASTER_IP}" TESTTAGS="stable" -PYBOT_ARGS="-v SUBSCRIBER_FILENAME:SIABSubscriberLatest -v WHITELIST_FILENAME:SIABWhitelistLatest -v OLT_DEVICE_FILENAME:SIABOLT0Device" -robot ${PYBOT_ARGS} --removekeywords wuks -e notready -i ${TESTTAGS} -v VOLTHA_DIR:${HOME}/voltha SIAB.robot +PYBOT_ARGS="-v SUBSCRIBER_FILENAME:SIABSubscriberLatest \ + -v WHITELIST_FILENAME:SIABWhitelistLatest \ + -v OLT_DEVICE_FILENAME:SIABOLT0Device \ + -r /workspace/results/report.html \ + -l /workspace/results/log.html \ + -o /workspace/results/output.xml" +robot ${PYBOT_ARGS} \ + --removekeywords wuks \ + -e notready \ + -i ${TESTTAGS} \ + -v VOLTHA_DIR:${HOME}/voltha SIAB.robot + diff --git a/src/use_cases/seba_on_arm/test/ponsim/test.sh b/src/use_cases/seba_on_arm/test/ponsim/test.sh index 0d3c64d..8a30905 100755 --- a/src/use_cases/seba_on_arm/test/ponsim/test.sh +++ b/src/use_cases/seba_on_arm/test/ponsim/test.sh @@ -16,13 +16,14 @@ KUBE_DIR="${KUBE_DIR:-${PWD}/.kube}" K8S_MASTER_IP="${K8S_MASTER_IP:-127.0.0.1}" TEST_USER="${TEST_USER:-ubuntu}" -cont_id= -trap f_clean INT EXIT +rm -rf results +mkdir -m 777 results + +trap f_clean EXIT f_clean(){ - echo "Cleaning up after ${cont_id}" - docker kill "${cont_id}" - docker rm "${cont_id}" + echo "Execution finished, cleaning up" + chmod -R 777 results } if ! [ -d "${KUBE_DIR}" ] @@ -32,21 +33,12 @@ then fi docker pull "${CORD_IMG}" -DOCKER_CMD="docker run -id -e K8S_MASTER_IP=${K8S_MASTER_IP} \ - -e USER=${TEST_USER} \ - -v ${basepath}/docker_run.sh:/workspace/docker_run.sh \ - -v ${KUBE_DIR}:/workspace/.kube \ - ${CORD_IMG} /bin/bash" -if cont_id=$(eval "${DOCKER_CMD}") -then - echo "Starting SIAB.robot in ${cont_id}" - docker exec "${cont_id}" sudo cp /workspace/docker_run.sh \ - "/home/${TEST_USER}/docker_run.sh" - docker exec "${cont_id}" sudo chown "${TEST_USER}:${TEST_USER}" \ - "/home/${TEST_USER}/docker_run.sh" - docker exec "${cont_id}" "/home/${TEST_USER}/docker_run.sh" -else - echo "Failed to execute docker command ${cont_id}" - exit 1 -fi +docker run --rm -it \ + -e K8S_MASTER_IP=${K8S_MASTER_IP} \ + -e USER=${TEST_USER} \ + -v ${basepath}/docker_run.sh:/workspace/docker_run.sh \ + -v ${KUBE_DIR}:/workspace/.kube \ + -v ${PWD}/results:/workspace/results \ + ${CORD_IMG} \ + /workspace/docker_run.sh -- 2.16.6