Store blu-val results in nexus.
[ci-management.git] / jjb / shell / run_bluval.sh
index ac3df5f..cc88171 100755 (executable)
@@ -10,6 +10,7 @@
 set -e
 set -o errexit
 set -o pipefail
+export PATH=$PATH:/home/jenkins/.local/bin
 
 cwd=$(pwd)
 current_user=$(whoami)
@@ -19,6 +20,10 @@ info ()  {
     logger -s -t "run_blu_val.info" "$*"
 }
 
+has_substring() {
+   [ "$1" != "${2/$1/}" ]
+}
+
 change_res_owner() {
 # change owner of results created by root in container
     if [ -d "$results_dir" ]
@@ -30,7 +35,6 @@ change_res_owner() {
 usage() {
     echo "usage: $0" >&2
     echo "[-n <blueprint_name>">&2
-    echo "[-r <results_dir> results dir">&2
     echo "[-b <blueprint_yaml> blueprint definition">&2
     echo "[-k <k8s_config_dir> k8s config dir">&2
     echo "[-j <k8s_master> k8s master">&2
@@ -68,7 +72,6 @@ while getopts "j:k:u:s:b:l:r:n:ov:" optchar; do
         s) ssh_key=${OPTARG} ;;
         b) blueprint_yaml=${OPTARG} ;;
         l) blueprint_layer=${OPTARG} ;;
-        r) results_dir=${OPTARG} ;;
         n) blueprint_name=${OPTARG} ;;
         u) sh_user=${OPTARG} ;;
         o) is_optional="true"  ;;
@@ -99,7 +102,7 @@ mkdir -p "$k8s_config_dir"
 
 # Testing configuration
 version=${version:-$VERSION}
-results_dir=${results_dir:-$cwd/results}
+results_dir=$cwd/results
 k8s_master=${k8s_master:-$K8S_MASTER_IP}
 ssh_user=${sh_user:-$K8S_SSH_USER}
 blueprint_layer=${blueprint_layer:-$LAYER}
@@ -150,9 +153,23 @@ python3 bluval/blucon.py $options "$blueprint_name"
 
 if [ $? -ne 0 ]; then
     change_res_owner
-    error "Bluval validation failed!"
+    error "Bluval validation FAIL "
 fi
-
 set -e
 
 change_res_owner
+if has_substring "$NODE_NAME" "snd-"
+then
+    echo "In sandbox the logs are not pushed"
+else
+    TIMESTAMP=$(date +'%Y%m%d-%H%M%S')
+    NEXUS_URL=https://nexus.akraino.org/
+    NEXUS_PATH="${LAB_SILO}/bluval_results/${blueprint_name}/${VERSION}/${TIMESTAMP}"
+    BUILD_URL="${JENKINS_HOSTNAME}/job/${JOB_NAME}/${BUILD_NUMBER}/"
+    zip -r results.zip ./results
+    lftools deploy nexus-zip "$NEXUS_URL" logs "$NEXUS_PATH" results.zip
+fi
+
+rm results.zip
+rm -f ~/.netrc
+