From b15b028f061858de71fc98459d562dd76e3aecfe Mon Sep 17 00:00:00 2001 From: Yujun Zhang Date: Tue, 29 Aug 2017 15:11:44 +0800 Subject: Fix bug that start_job script exit unexpectedly When `set -o errexit` is enabled in script, the non-zero return value from `diff` is considered as an error. But actually diff returns 1 when difference is found. The error exit option should be disabled when dealing `diff`. Change-Id: I6270ec8f7036b3d752736a80474468e26a613585 Signed-off-by: Yujun Zhang --- resources/ansible_roles/storperf/files/start_job.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/resources/ansible_roles/storperf/files/start_job.sh b/resources/ansible_roles/storperf/files/start_job.sh index 19ddbd2f..79057298 100755 --- a/resources/ansible_roles/storperf/files/start_job.sh +++ b/resources/ansible_roles/storperf/files/start_job.sh @@ -99,11 +99,15 @@ else curl -s -X GET "${storperf_api}/jobs?id=$JOB&type=status" \ -o $WORKSPACE/status.json JOB_STATUS=`cat $WORKSPACE/status.json | awk '/Status/ {print $2}' | cut -d\" -f2` + + set +o errexit # disable error exit checking for diff diff $WORKSPACE/status.json $WORKSPACE/old-status.json >/dev/null if [ $? -eq 1 ] then cat $WORKSPACE/status.json fi + set -o errexit + done echo -- cgit 1.2.3-korg