xvm-iscsi-config: print restart message only if settings actually changed
[invirt/packages/xvm-iscsi-config.git] / debian / xvm-iscsi-config.postinst
index e7e9faf..1722daa 100755 (executable)
@@ -35,6 +35,10 @@ case "$1" in
         PASSWORD="$RET"
         db_stop
         
+        if [ -e /etc/invirt/conf.d/iscsi ]; then
+          # invirt.config.run_parts_list excludes backup filenames.
+          mv -f /etc/invirt/conf.d/iscsi /etc/invirt/conf.d/iscsi~
+        fi
         cat >/etc/invirt/conf.d/iscsi <<EOF
 iscsi:
  address: $ADDRESS
@@ -45,10 +49,9 @@ EOF
             invoke-rc.d xvm-iscsi-config restart
             invoke-rc.d open-iscsi restart
             iscsiadm -m discovery -t st -p $(invirt-getconf iscsi.address):3260
-        else
-            # Don't disrupt an existing installation.
-            cat <<EOF
-xvm-iscsi-config: If the configuration has changed, restart iscsi:
+        elif ! diff /etc/invirt/conf.d/iscsi~ /etc/invirt/conf.d/iscsi >/dev/null; then
+              cat <<EOF
+xvm-iscsi-config: The configuration has changed.  Restart iscsi:
   /etc/init.d/xvm-iscsi-config restart
   /etc/init.d/open-iscsi restart
   iscsiadm -m discovery -t st -p $(invirt-getconf iscsi.address):3260