From 27fe42d294021b1eaf12397a8ca44bf20a7198ad Mon Sep 17 00:00:00 2001 From: Arshad Hussain Date: Sun, 24 Mar 2024 06:27:22 -0400 Subject: [PATCH] LU-17667 tests: Handle more than 1 IP returned by 'ip' cmd An interface could have more than one IP address. This may be not normal and is a corner case. This patch handles case where 'ip' command returns more than single IP and also adds new info/debug messages. Corner Case: ip -o -4 a s enp0s8 | awk '{print $4}' | sed 's/\/.*//' 192.168.50.188 192.168.1.12 Before patch: sanity-lnet.sh line 1174: ((: 188 12: syntax error in expression (error token is "12") After patch: ... IP for enp0s8 found [2] Interface:IP are enp0s8:192.168.50.188 enp0s8:192.168.1.12 Using GW_NID:192.168.50.189@tcp ... Test-Parameters: trivial testlist=sanity-lnet Signed-off-by: Arshad Hussain Change-Id: I783a6b67508a4497d18db94b5d2bdab616b4ade5 Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/54547 Tested-by: jenkins Tested-by: Maloo Reviewed-by: James Simmons Reviewed-by: Andreas Dilger Reviewed-by: Serguei Smirnov Reviewed-by: Oleg Drokin --- lustre/tests/sanity-lnet.sh | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/lustre/tests/sanity-lnet.sh b/lustre/tests/sanity-lnet.sh index 9369723..614cca9 100755 --- a/lustre/tests/sanity-lnet.sh +++ b/lustre/tests/sanity-lnet.sh @@ -1164,8 +1164,14 @@ append_net_tunables() { awk '/^\s+tunables:$/,/^\s+CPT:/' >> $TMP/sanity-lnet-$testnum-expected.yaml } -IF0_IP=$(ip -o -4 a s ${INTERFACES[0]} | - awk '{print $4}' | sed 's/\/.*//') +ARR_IF0_IP=($(ip -o -4 a s ${INTERFACES[0]} | + awk '{print $4}' | sed 's/\/.*//')) +echo "Total IP for ${INTERFACES[0]} found [${#ARR_IF0_IP[@]}]" +echo "Interface:IP are" +for i in ${ARR_IF0_IP[@]}; do + echo "${INTERFACES[0]}:$i" +done +IF0_IP=${ARR_IF0_IP[0]} IF0_NET=$(awk -F. '{print $1"."$2"."$3}'<<<"${IF0_IP}") IF0_HOSTNUM=$(awk -F. '{print $4}'<<<"${IF0_IP}") if (((IF0_HOSTNUM + 5) > 254)); then @@ -1174,6 +1180,8 @@ else GW_HOSTNUM=$((IF0_HOSTNUM + 1)) fi GW_NID="${IF0_NET}.${GW_HOSTNUM}@${NETTYPE}" +echo "Using GW_NID:$GW_NID" + test_100() { [[ ${NETTYPE} == tcp* ]] || skip "Need tcp NETTYPE" -- 1.8.3.1