X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/xvm-iscsi-config.git/blobdiff_plain/66b072d7d3901696a4b4a581f4b300401761d07c..f2ecd4a06abd4893abafebe4d7d2913b9cf3f3ff:/debian/xvm-iscsi-config.postinst diff --git a/debian/xvm-iscsi-config.postinst b/debian/xvm-iscsi-config.postinst index e7e9faf..6182942 100755 --- a/debian/xvm-iscsi-config.postinst +++ b/debian/xvm-iscsi-config.postinst @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # postinst script for xvm-iscsi-config # # see: dh_installdeb(1) @@ -25,33 +25,68 @@ set -e #DEBHELPER# +get_current_sessions() { + for i in $(cd /sys/class/iscsi_session/ && ls); do + echo $(cat /sys/class/iscsi_connection/connection${i#session}:0/persistent_address) \ +$(cat /sys/class/iscsi_host/$(readlink /sys/class/iscsi_session/$i/device | perl -ne '/host\d+/ && print $&')/netdev) + done | sort +} + +get_new_sessions() { + for i in $(invirt-getconf --ls iscsi.targets); do + echo $(invirt-getconf iscsi.targets.$i.ip) $(invirt-getconf iscsi.targets.$i.iface) + done | sort +} + case "$1" in configure) - db_get xvm-iscsi-config/address - ADDRESS="$RET" db_get xvm-iscsi-config/username USERNAME="$RET" db_get xvm-iscsi-config/password PASSWORD="$RET" db_stop + OLD_USERNAME=$(invirt-getconf iscsi.username 2>/dev/null) + OLD_PASSWORD=$(invirt-getconf iscsi.password 2>/dev/null) + + 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 </dev/null; then + if [ -z "$safe" ]; then + for i in $(invirt-getconf --ls iscsi.targets); do + iscsiadm -m discovery -t st -p $(invirt-getconf iscsi.targets.$i.ip):3260 -I $(invirt-getconf iscsi.targets.$i.iface) + iscsiadm -m node -p $(invirt-getconf iscsi.targets.$i.ip):3260 -I $(invirt-getconf iscsi.targets.$i.iface) -l + done + else + for i in $(invirt-getconf --ls iscsi.targets); do + echo " "iscsiadm -m discovery -t st -p $(invirt-getconf iscsi.targets.$i.ip):3260 -I $(invirt-getconf iscsi.targets.$i.iface) + echo " "iscsiadm -m node -p $(invirt-getconf iscsi.targets.$i.ip):3260 -I $(invirt-getconf iscsi.targets.$i.iface) -l + done + fi + cat <