bottlenecks ssh to VM by python
[bottlenecks.git] / run_tests.sh
index 1171b7c..c03b198 100755 (executable)
@@ -26,17 +26,22 @@ examples:
 
 report=true
 
-arr_test_suite=(rubbos vstf)
+arr_test_suite=(rubbos vstf posca)
+
+Bottlenecks_key_dir="/home/opnfv/bottlenecks/utils/infra_setup"
 
 function check_testcase(){
 
     check_suite="$1"
     case $check_suite in
          "-rubbos")
-             $SUITE_PREFIX=$SUITE_PREFIX_CONFIG/rubbos/testcase_cfg
+             SUITE_PREFIX=$SUITE_PREFIX_CONFIG/rubbos/testcase_cfg
          ;;
          "-vstf")
-             $SUITE_PREFIX=$SUITE_PREFIX_CONFIG/vstf/testcase_cfg
+             SUITE_PREFIX=$SUITE_PREFIX_CONFIG/vstf/testcase_cfg
+         ;;
+         "-posca")
+             SUITE_PREFIX=$SUITE_PREFIX_CONFIG/posca/testcase_cfg
          ;;
     esac
 
@@ -47,10 +52,10 @@ function check_testcase(){
     all_testcases_insuite=`cat /tmp/all_testcases.yaml | awk -F '/' '{print $NF}' | awk -F '.' '{print $1}'`
     all_testcases=(${all_testcases_insuite})
 
-    if ["${TEST_CASE}" != ""]; then
+    if [ "${TEST_CASE}" != "" ]; then
        testcase_exec=(${TEST_CASE// /})
        for i in "${testcase_exec[@]}"; do
-           if [[ " ${all_test_cases[*]} " != *" $i "* ]]; then
+           if [[ " ${all_testcases[*]} " != *" $i "* ]]; then
                error "unknown test case: $i. available test cases are: ${all_test_cases[@]}"
            fi
        done
@@ -71,30 +76,52 @@ function run_test(){
             if [[ -f $test_file ]]; then
                 testcases=($(cat $test_file))
             else
-                error("no rubbos test suite file ")
+                error "no rubbos test suite file"
             fi
+
             for i in "${testcases[@]}"; do
                 #check if the testcase is legal or not
                 check_testcase -rubbos $i
                 #adjust config parameters, different test suite has different methods, take rubbos as an example
                 #run test case, different test suite has different methods
-                file={$BASEDIR}/testsuites/rubbos/testcase_cfg/{$i}.yaml
+                file=${BASEDIR}/testsuites/rubbos/testcase_cfg/${i}.yaml
                 python /home/opnfv/bottlenecks/testsuites/rubbos/run_rubbos.py -c $file
             done
         ;;
         "vstf")
             info "Running vstf test suite"
-            test_file="/home/opnfv/bottlenecks/testsuite/vstf/testsuite_story/vstf_story1"
+            test_file="/home/opnfv/bottlenecks/testsuites/vstf/testsuite_story/vstf_story1"
             if [[ -f $test_file ]]; then
                 testcases=($(cat $test_file))
             else
-                error("no vstf test suite file ")
+                error "no vstf test suite file "
             fi
+
             for i in "${testcases[@]}"; do
                 #check if the testcase is legal or not
                 check_testcase -vstf $i
                 #adjust config parameters
                 #run test case
+                file=${BASEDIR}/testsuites/vstf/testcase_cfg/${i}.yaml
+                python /home/opnfv/bottlenecks/testsuites/vstf/run_vstf.py -c $file
+            done
+        ;;
+        "posca")
+            info "Running posca test suite"
+            test_file="/home/opnfv/bottlenecks/testsuites/posca/testsuite_story/posca_factor_test"
+            if [[ -f $test_file ]]; then
+                testcases=($(cat $test_file))
+            else
+                error "no posca test suite file "
+            fi
+
+            for i in "${testcases[@]}"; do
+                #check if the testcase is legal or not
+                check_testcase -posca $i
+                #adjust config parameters
+                #run test case
+                file=${BASEDIR}/testsuites/posca/testcase_cfg/${i}.yaml
+                python /home/opnfv/bottlenecks/testsuites/posca/run_posca.py -c ${i}
             done
         ;;
     esac
@@ -127,6 +154,18 @@ done
 BASEDIR=`dirname $0`
 source ${BASEDIR}/common.sh
 
+#Add random key generation
+if [ ! -d $Bottlenecks_key_dir/bottlenecks_key ]; then
+    mkdir $Bottlenecks_key_dir/bottlenecks_key
+else
+    rm -rf $Bottlenecks_key_dir/bottlenecks_key
+    mkdir $Bottlenecks_key_dir/bottlenecks_key
+fi
+chmod 700 $Bottlenecks_key_dir/bottlenecks_key
+
+ssh-keygen -t rsa -f $Bottlenecks_key_dir/bottlenecks_key/bottlenecks_key -q -N ""
+chmod 600 $Bottlenecks_key_dir/bottlenecks_key/*
+
 #check the test suite name is correct
 if [ "${SUITE}" != "" ]; then
     suite_exec=(${SUITE//,/ })
@@ -138,6 +177,10 @@ if [ "${SUITE}" != "" ]; then
     info "Tests to execute: ${SUITE}"
 fi
 
+# Source credentials
+info "Sourcing Credentials openstack.creds to run the tests.."
+source /home/opnfv/bottlenecks/config/openstack.creds
+
 #run tests
 if [ "${SUITE}" != "" ]; then
     for i in "${suite_exec[@]}"; do