From 893acaf7878f48614f98e7e6439863ef7549bd1d Mon Sep 17 00:00:00 2001 From: Mark Syms Date: Fri, 9 Oct 2020 17:50:38 +0100 Subject: [PATCH] CA-346583: make set-iscsi-initiator idempotent Signed-off-by: Mark Syms --- scripts/set-iscsi-initiator | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/scripts/set-iscsi-initiator b/scripts/set-iscsi-initiator index 3619efb4b..a8098e11c 100644 --- a/scripts/set-iscsi-initiator +++ b/scripts/set-iscsi-initiator @@ -33,11 +33,21 @@ trap ecleanup TERM mkdir -p /var/lock/sm/iscsiadm INITIATORFILE=/etc/iscsi/initiatorname.iscsi -TMPFILE=$TMPDIR/initiatorname.iscsi + +INITIATORNAME=$1 +INITIATORALIAS=$2 ( flock -s 200 + CURRENT_INITATOR=$(awk 'BEGIN { FS = "=" } /InitiatorName/ {print $2}' $INITIATORFILE) + CURRENT_ALIAS=$(awk 'BEGIN { FS = "=" } /InitiatorAlias/ {print $2}' $INITIATORFILE) + + if [ "$CURRENT_INITATOR" == "$INITIATORNAME" -a "$CURRENT_ALIAS" == "$INITIATORALIAS" ] + then + exit 0 + fi + iscsiadm -m session > /dev/null 2>&1 if [ $? -eq 0 ] then @@ -46,18 +56,8 @@ TMPFILE=$TMPDIR/initiatorname.iscsi exit 1 fi - echo "InitiatorName=$1" > $TMPFILE - echo "InitiatorAlias=$2" >> $TMPFILE - - diff $INITIATORFILE $TMPFILE > /dev/null 2>&1 - if [ $? -eq 0 ] - then - # unchanged so remove the tmp file - rm $TMPFILE - exit 0 - fi - - mv $TMPFILE $INITIATORFILE + echo "InitiatorName=$INITIATORNAME" > $INITIATORFILE + echo "InitiatorAlias=$INITIATORALIAS" >> $INITIATORFILE systemctl is-active -q iscsid if [ $? -eq 0 ]