SPEC-4003: Use pyartiproxy for uploading a file to artyfactory 64/26464/3
authorCorentin LABBE <clabbe@baylibre.com>
Tue, 30 Mar 2021 09:11:33 +0000 (09:11 +0000)
committerCorentin LABBE <clabbe@baylibre.com>
Wed, 30 Jun 2021 12:12:59 +0000 (12:12 +0000)
Dumpjournal will now dump to artyfactory by default.

Bug-AGL: SPEC-4003
Change-Id: I2ae89be507062bceb84a6a7cbd054dcce09b6874
Signed-off-by: Corentin LABBE <clabbe@baylibre.com>
common/scripts/artiproxy-upload.sh [new file with mode: 0755]
common/scripts/dumpjournal.sh

diff --git a/common/scripts/artiproxy-upload.sh b/common/scripts/artiproxy-upload.sh
new file mode 100755 (executable)
index 0000000..c4b7dbe
--- /dev/null
@@ -0,0 +1,37 @@
+#!/bin/sh
+
+if [ -z "$PYARTIPROXY_IP" ];then
+       #echo "ERROR: cannot upload, no PYARTIPROXY_IP"
+       #exit 1
+       # TODO: lab-baylibre-agl does not get env as it should be. I will debug this later.
+       echo "DEBUG: No PYARTIPROXY_IP variable, fallback to baylibre one"
+       PYARTIPROXY_IP=10.1.1.47
+fi
+
+if [ -z "$1" ];then
+       echo "ERROR: missing path argument"
+       exit 1
+fi
+
+if [ -z "$2" ];then
+       echo "ERROR: missing filename argument"
+       exit 1
+fi
+
+curl --silent --show-error -F "filename=$2" -F "data=@$1" http://$PYARTIPROXY_IP:9090/cgi-bin/pyartiproxy.py --output curl.out
+if [ $? -ne 0 ];then
+       echo "ERROR: with curl"
+       # retry without silent
+       curl --show-error -F "filename=$2" -F "data=@$1" http://$PYARTIPROXY_IP:9090/cgi-bin/pyartiproxy.py --output curl.out
+fi
+ARTI_URL=$(grep -E '^http://.*|https://.*' curl.out)
+echo "==========================="
+cat curl.out
+echo "==========================="
+if [ -z "$ARTI_URL" ];then
+       # No URL something is wrong
+       lava-test-reference artifactory-$2 --result fail
+       exit 1
+else
+       lava-test-reference artifactory-$2 --result pass --reference $ARTI_URL
+fi
index 696b994..9316676 100755 (executable)
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 #
 
+if [ -x ./artiproxy-upload.sh ];then
+       DUMP_FILE=/tmp/dump
+       SYSTEMD_COLORS=false journalctl -a --no-pager > $DUMP_FILE
+       ./artiproxy-upload.sh $DUMP_FILE dumpjournal
+       # still dump to output if any error arise
+       if [ $? -eq 0 ];then
+               exit 0
+       fi
+else
+       echo "No upload, fallback to dump to console"
+fi
+
 SYSTEMD_COLORS=false journalctl -a --no-pager
 echo "dumpjournal: pass"
 exit 0