xvm-iscsi-config: print restart message only if settings actually changed
[invirt/packages/xvm-iscsi-config.git] / debian / xvm-iscsi-config.postinst
index 12226e3..1722daa 100755 (executable)
@@ -35,15 +35,31 @@ 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
  username: $USERNAME
  password: $PASSWORD
 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
+        if [ -z "$2" ]; then
+            invoke-rc.d xvm-iscsi-config restart
+            invoke-rc.d open-iscsi restart
+            iscsiadm -m discovery -t st -p $(invirt-getconf iscsi.address):3260
+        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
+  lvchange -a ln /dev/xenvg && lvchange -a y /dev/xenvg
+This will leave VMs unable to access their disks, so migrate them first.
+
+EOF
+        fi
     ;;
 
     abort-upgrade|abort-remove|abort-deconfigure)