summaryrefslogtreecommitdiffstats
path: root/s3p
diff options
context:
space:
mode:
authorLianhao Lu <lianhao.lu@intel.com>2018-11-20 13:59:49 +0800
committerLianhao Lu <lianhao.lu@intel.com>2018-11-20 14:01:24 +0800
commitfbf8e05938b7ce58bf090a37d004760836548d88 (patch)
treef28000910b4b9c68943fb468b98ce09518585a4b /s3p
parentbf30e81ea77ab361a25f0076c7f81c10ded9c53e (diff)
Added additional supporting scripts for s3p test
clean_policy.sh: remove policies correspdoing to s3p csar files. list_failed_policy.sh: try to get failed policies from pdp in s3p test. Issue-ID: POLICY-837 Change-Id: I742437f740eee191875b25eccd03f00574bc0dcc Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Diffstat (limited to 's3p')
-rwxr-xr-xs3p/clean_policy.sh41
-rwxr-xr-xs3p/list_failed_policy.sh49
2 files changed, 90 insertions, 0 deletions
diff --git a/s3p/clean_policy.sh b/s3p/clean_policy.sh
new file mode 100755
index 00000000..7b45ea8b
--- /dev/null
+++ b/s3p/clean_policy.sh
@@ -0,0 +1,41 @@
+#!/bin/bash
+
+function print_usage_and_exit {
+ [ -z "$1" ] || echo "Error: $1"
+ echo "Usage: $0 [ <dir> | <rulename> ]"
+ echo " - <dir> directory where the s3p csar files stores, policies related to them will be cleaned from PDP/PAP"
+ echo " - <rulename> rulename to be cleaned"
+ exit 1
+}
+
+[ "$#" -ne 1 ] && print_usage_and_exit
+
+rules=()
+if [ -d $1 ]; then
+ files=(`find "$1" -maxdepth 1 -name "*.csar" -printf "%f\n"`)
+ for i in ${files[@]}; do
+ fn=`echo $i | cut -d '.' -f 1`
+ rules+=("oofCasablanca.Config_OOF_Optimization_${fn}.1.xml")
+ done
+else
+ rules+=($1)
+fi
+
+for NAME in ${rules[@]}; do
+ BODY="{\"policyComponent\":\"PDP\",\"policyType\":\"Optimization\",\"pdpGroup\":\"default\",\"policyName\":\"${NAME}\"}"
+ rescode=`curl --silent --output /dev/null --write-out %{http_code} -k -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'ClientAuth: cHl0aG9uOnRlc3Q=' -H 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' -H 'Environment: TEST' -X DELETE -d $BODY https://pdp:8081/pdp/api/deletePolicy`
+ if [ "$rescode" == "200" ]; then
+ echo "delete $NAME in PDP success"
+ else
+ echo "delete $NAME in PDP FAIL with rescode $rescode"
+ fi
+
+ BODY="{\"policyName\":\"${NAME}\",\"policyComponent\":\"PAP\",\"policyType\":\"Optimization\",\"deleteCondition\":\"ALL\"}"
+ rescode=`curl --silent --output /dev/null --write-out %{http_code} -k -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'ClientAuth: cHl0aG9uOnRlc3Q=' -H 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' -H 'Environment: TEST' -X DELETE -d $BODY https://pdp:8081/pdp/api/deletePolicy`
+ if [ "$rescode" == "200" ]; then
+ echo "delete $NAME in PAP success"
+ else
+ echo "delete $NAME in PAP FAIL with rescode $rescode"
+ fi
+done
+
diff --git a/s3p/list_failed_policy.sh b/s3p/list_failed_policy.sh
new file mode 100755
index 00000000..042dcf34
--- /dev/null
+++ b/s3p/list_failed_policy.sh
@@ -0,0 +1,49 @@
+#!/bin/bash
+
+function print_usage_and_exit {
+ echo "Usage: $0 <type> <log file name or rule name>"
+ echo " - <type>: s for stability log , p for perf log , or other for simple policy name"
+ echo " - <log file name or rule>"
+ exit 1
+}
+
+[ "$#" -ne 2 ] && print_usage_and_exit
+case $1 in
+[sS])
+ type='s'
+ ;;
+[pP])
+ type='p'
+ ;;
+*)
+ type='simple'
+ ;;
+esac
+
+rules=()
+if [ -f $2 ] && [ $type == 's' ]; then
+ resids=(`grep -o "get policy failed for resource [0-9]\+" $2 | cut -d ' ' -f 6`)
+ for i in ${resids[@]}; do
+ rules+=("oofCasablanca.Config_OOF_Optimization_s3p_$i.*")
+ done
+elif [ -f $2 ] && [ $type == 'p' ]; then
+ idx=`grep -o "Fail at idx [0-9]\+" $2 | cut -d ' ' -f 4`
+ total=`cat perf_data.csv | wc -l`
+ while [ "s$idx" > "s" ] && [ $idx -lt $total ]; do
+ rules+=("oofCasablanca.Config_OOF_Optimization_s3p_$idx.*")
+ idx=$((idx+1))
+ done
+else
+ rules+=($2)
+fi
+
+for NAME in ${rules[@]}; do
+ BODY="{\"policyName\":\"${NAME}\"}"
+ rescode=`curl --silent --write-out %{http_code} -k -H 'Content-Type: application/json' -H 'Accept: application/json' -H 'ClientAuth: cHl0aG9uOnRlc3Q=' -H 'Authorization: Basic dGVzdHBkcDphbHBoYTEyMw==' -H 'Environment: TEST' -X POST -d $BODY --output /dev/null https://pdp:8081/pdp/api/listConfig`
+ if [ "$rescode" == '200' ]; then
+ echo "list policy $NAME in PDP success"
+ else
+ echo "list policy $NAME in PDP FAIL with rescode $rescode"
+ fi
+done
+