Mount results dir for SEBA robot tests 90/3390/11
authorCiprian Barbu <ciprian.barbu@enea.com>
Mon, 27 Apr 2020 22:20:27 +0000 (01:20 +0300)
committerCiprian Barbu <ciprian.barbu@enea.com>
Tue, 28 Apr 2020 17:24:00 +0000 (20:24 +0300)
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 <ciprian.barbu@enea.com>
Change-Id: I26b7162fac58b347a5ea5f529e9368c1bf09b083

src/use_cases/seba_on_arm/test/ponsim/docker_run.sh
src/use_cases/seba_on_arm/test/ponsim/test.sh

index 371bdfa..22f2bd8 100755 (executable)
@@ -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
+
index 0d3c64d..8a30905 100755 (executable)
@@ -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