Whamcloud - gitweb
LU-16183 tests: sanity-hsm/70 should detect python
authorMinh Diep <mdiep@whamcloud.com>
Thu, 15 Sep 2022 03:41:37 +0000 (20:41 -0700)
committerAndreas Dilger <adilger@whamcloud.com>
Fri, 23 Sep 2022 17:16:42 +0000 (17:16 +0000)
Check for python2 and python3 explicitly, since the
generic python command does not exist in newer distros.

Test-Parameters: env=SLOW=yes,ENABLE_QUOTA=yes \
clientdistro=sles15sp3 testlist=sanity-hsm
Test-Parameters: env=SLOW=yes,ENABLE_QUOTA=yes \
clientdistro=el7.9 testlist=sanity-hsm
Signed-off-by: Minh Diep <mdiep@whamcloud.com>
Change-Id: I2251be461129310868868277bf9d46015545ffe2
Reviewed-on: https://review.whamcloud.com/48577
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
Reviewed-by: Alex Deiter <alex.deiter@gmail.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
lustre/tests/sanity-hsm.sh

index 6981896..a65d698 100755 (executable)
@@ -429,12 +429,20 @@ parse_json_event() {
        local raw_event=$1
 
        # python2.6 in EL6 includes an internal json module
+       local PYTHON='python'
        local json_parser='import json; import fileinput;'
-       json_parser+=' print "\n".join(["local %s=\"%s\"" % tuple for tuple in '
+       json_parser+=' print("\n".join(["local %s=\"%s\"" % tuple for tuple in '
        json_parser+='json.loads([line for line in '
-       json_parser+='fileinput.input()][0]).items()])'
+       json_parser+='fileinput.input()][0]).items()]))'
 
-       echo $raw_event | python -c "$json_parser"
+       # check if python/python2/python3 is available
+       if ! which $PYTHON > /dev/null 2>&1 ; then
+               PYTHON='python2'
+               if ! which $PYTHON > /dev/null 2>&1 ; then
+                       PYTHON='python3'
+               fi
+       fi
+       echo $raw_event | $PYTHON -c "$json_parser"
 }
 
 get_agent_by_uuid_mdt() {