Whamcloud - gitweb
LU-913 test: Framework needs to record the test filesystem.
[fs/lustre-release.git] / lustre / tests / yaml.sh
index 689f474..e987c75 100644 (file)
@@ -1,5 +1,5 @@
 #!/bin/bash
-# vim:expandtab:shiftwidth=4:softtabstop=4:tabstop=4:
+# vim:shiftwidth=4:softtabstop=4:tabstop=4:
 
 #
 # Shell routines for logging results to a yaml file.
@@ -18,7 +18,7 @@ yml_nodes_file() {
 
     if [ -f $logdir/shared ]; then
         do_rpc_nodes $(comma_list $(nodes_list)) \
-            "yml_node >> $logdir/node.\\\$(hostname).yml"
+            "yml_node >> $logdir/node.\\\$(hostname -s).yml"
     else
         do_rpc_nodes $(comma_list $(nodes_list)) yml_node | split_output
     fi
@@ -31,13 +31,15 @@ yml_results_file() {
     #TestGroup
     yml_test_group
 
+    #CodeReview
+    yml_code_review
+
     # Tests
     printf "Tests:\n"
 }
 
 # Called on the node for which we the info is needed.
 yml_node() {
-    local node=$(hostname)
     logdir=$1
 
     printf "Build:\n"
@@ -52,8 +54,8 @@ yml_node() {
 }
 
 yml_test_group() {
-    TEST_GROUP=${TEST_GROUP:-"acc-sm-$(hostname)"}
-    TEST_HOST=${TEST_HOST:-$(hostname)}
+    TEST_GROUP=${TEST_GROUP:-"acc-sm-$(hostname -s)"}
+    TEST_HOST=${TEST_HOST:-$(hostname -s)}
     TEST_USER=${TEST_USER:-$USER}
 
     # TestGroup information
@@ -63,10 +65,13 @@ TestGroup:
     testhost: $TEST_HOST
     submission: $(date)
     user_name: $TEST_USER
-
 EOF
 }
 
+yml_code_review() {
+    echo -e $CODE_REVIEW_YAML
+}
+
 release() {
    if [ -r /etc/lsb-release ]; then
       dist=$(grep 'DISTRIB_ID' /etc/lsb-release | sed 's/DISTRIB_ID=//' | head -1)
@@ -83,9 +88,10 @@ release() {
 }
 
 yml_build_info() {
-    TEST_DISTRO=$(release)
-    LUSTRE_VERSION=$(lctl lustre_build_version | awk '/Lustre version:/ {print $3}')
-    LUSTRE_BUILD=$(sed 's/-.*//' <<<$LUSTRE_VERSION)
+    local TEST_DISTRO=$(release)
+    local LUSTRE_VERSION=$(lctl lustre_build_version | awk '/Lustre version:/ {print $3}')
+    local LUSTRE_BUILD=${LUSTRE_BUILD_SOURCE:-$(sed 's/-.*//' <<<$LUSTRE_VERSION)}
+    local FILE_SYSTEM=$(node_fstypes $(hostname -s))
 
 cat <<EOF
     lbats_build_id: $LBATS_ID
@@ -96,6 +102,7 @@ cat <<EOF
     lustre_version: $LUSTRE_VERSION
     lustre_build: $LUSTRE_BUILD
     kernel_version: $(uname -r)
+    file_system: ${FILE_SYSTEM:-"NA"}
 EOF
 }
 
@@ -103,7 +110,7 @@ yml_node_info()
 {
     mem=$(awk '/MemTotal:/ {print $2 " " $3}' /proc/meminfo)
 cat <<EOF
-    node_name: $(hostname)
+    node_name: $(hostname -s)
     mem_size: $mem
     architecture: $(uname -m)
     networks:
@@ -124,17 +131,18 @@ EOF
 yml_entities() {
     local host
     for num in $(seq $MDSCOUNT); do
-        host=$(facet_active_host mds$num)
+        host=$(short_hostname $(facet_active_host mds$num))
         yml_entity "MDS $num" $host >> $logdir/node.$host.yml
     done
 
     for num in $(seq $OSTCOUNT); do
-        host=$(facet_active_host ost$num)
+        host=$(short_hostname $(facet_active_host ost$num))
         yml_entity "OST $num" $host >> $logdir/node.$host.yml
     done
 
     i=1
     for host in ${CLIENTS//,/ }; do
+        host=$(short_hostname $host)
         yml_entity "Client $i" $host >> $logdir/node.$host.yml
         i=$((i+1))
     done
@@ -147,6 +155,7 @@ yml_log_test() {
         name: $1
         description: $TESTSUITE $1
         submission: $(date)
+        report_version: 2
         SubTests:
 EOF
     fi
@@ -154,22 +163,30 @@ EOF
 
 yml_log_test_status() {
     cat <<EOF
-    duration: $1
-    status: $2
+        duration: $1
+        status: $2
 EOF
 }
 
-yml_log_sub_test() {
+yml_log_sub_test_begin() {
     cat <<EOF
         -
             name: $1
-            status: $2
-            duration: $3
-            return_code: $4
 EOF
-    shift 4
-    printf "            error: "
-    echo $@
+}
+
+yml_log_sub_test_end() {
+    cat <<EOF
+            status: $1
+            duration: $2
+            return_code: $3
+EOF
+    shift 3
+    if [ -z "$*" ]; then
+        printf '            error:\n'
+    else
+        printf '            error: "%q"\n' "$*"
+    fi
 }
 
 yml_log_sub_test_log() {