1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- #!/bin/sh
- #
- # This script does the required startup checks before the iSCSI
- # daemon should be started. It also generates a name if that
- # hadn't been done before.
- #
- PATH=/sbin:/bin
- NAMEFILE=/etc/iscsi/initiatorname.iscsi
- CONFIGFILE=/etc/iscsi/iscsid.conf
- if [ ! -e "$CONFIGFILE" ]; then
- echo >&2
- echo "Error: configuration file $CONFIGFILE is missing!" >&2
- echo "The iSCSI driver has not been correctly installed and cannot start." >&2
- echo >&2
- exit 1
- fi
- if [ ! -f $NAMEFILE ]; then
- echo >&2
- echo "Error: InitiatorName file $NAMEFILE is missing!" >&2
- echo "The iSCSI driver has not been correctly installed and cannot start." >&2
- echo >&2
- exit 1
- fi
- # see if we need to generate a unique iSCSI InitiatorName
- if grep -q "^GenerateName=yes" $NAMEFILE ; then
- if [ ! -x /sbin/iscsi-iname ] ; then
- echo "Error: /sbin/iscsi-iname does not exist, driver was not successfully installed" >&2
- exit 1
- fi
- # Generate a unique InitiatorName and save it
- INAME=`/sbin/iscsi-iname -p iqn.1993-08.org.debian:01`
- if [ "$INAME" != "" ] ; then
- echo "## DO NOT EDIT OR REMOVE THIS FILE!" > $NAMEFILE
- echo "## If you remove this file, the iSCSI daemon will not start." >> $NAMEFILE
- echo "## If you change the InitiatorName, existing access control lists" >> $NAMEFILE
- echo "## may reject this initiator. The InitiatorName must be unique">> $NAMEFILE
- echo "## for each iSCSI initiator. Do NOT duplicate iSCSI InitiatorNames." >> $NAMEFILE
- printf "InitiatorName=$INAME\n" >> $NAMEFILE
- chmod 600 $NAMEFILE
- else
- echo "Error: failed to generate an iSCSI InitiatorName, driver cannot start." >&2
- echo >&2
- exit 1
- fi
- fi
- # make sure there is a valid InitiatorName for the driver
- if ! grep -q "^InitiatorName=[^ \t\n]" $NAMEFILE ; then
- echo >&2
- echo "Error: $NAMEFILE does not contain a valid InitiatorName." >&2
- echo "The iSCSI driver has not been correctly installed and cannot start." >&2
- echo >&2
- exit 1
- fi
|