|
|
- #!/bin/sh
- #
- # /sbin/iscsi-gen-initiatorname
- #
- # Generate a default iSCSI Initiatorname for SUSE installations.
- #
- # Copyright (c) 2011 Hannes Reinecke, SUSE Labs
- # This script is licensed under the GPL.
- #
-
- if [ "$1" ] ; then
- if [ "$1" = "-f" ] ; then
- FORCE=1
- else
- echo "Invalid option $1"
- echo "Usage: $0 [-f]"
- exit 1
- fi
- fi
-
- if [ -d /sys/firmware/ibft/initiator ] ; then
- read iSCSI_INITIATOR_NAME < /sys/firmware/ibft/initiator/initiator-name
- fi
-
- if [ -f /etc/iscsi/initiatorname.iscsi -a -z "$FORCE" ] ; then
- if [ "$iSCSI_INITIATOR_NAME" ] ; then
- eval $(cat /etc/iscsi/initiatorname.iscsi | sed -e '/^#/d')
- if [ "$iSCSI_INITIATOR_NAME" != "$InitiatorName" ] ; then
- echo "iSCSI Initiatorname from iBFT is different from the current setting."
- echo "Please call '/sbin/iscsi-gen-initiatorname -f' to update the iSCSI Initiatorname."
- exit 1
- fi
- fi
- fi
-
- if [ "$iSCSI_INITIATOR_NAME" ] ; then
- cat << EOF >> /etc/iscsi/initiatorname.iscsi
- ##
- ## /etc/iscsi/iscsi.initiatorname
- ##
- ## iSCSI Initiatorname taken from iBFT BIOS tables.
- ##
- ## DO NOT EDIT OR REMOVE THIS FILE!
- ## If you remove this file, the iSCSI daemon will not start.
- ## Any change here will not be reflected to the iBFT BIOS tables.
- ## If a different initiatorname is required please change the
- ## initiatorname in the BIOS setup and call
- ## /sbin/iscsi-gen-initiatorname -f
- ## to recreate an updated version of this file.
- ##
- InitiatorName=$iSCSI_INITIATOR_NAME
- EOF
- fi
-
- if [ ! -f /etc/iscsi/initiatorname.iscsi ] ; then
- cat << EOF >> /etc/iscsi/initiatorname.iscsi
- ##
- ## /etc/iscsi/iscsi.initiatorname
- ##
- ## Default iSCSI Initiatorname.
- ##
- ## DO NOT EDIT OR REMOVE THIS FILE!
- ## If you remove this file, the iSCSI daemon will not start.
- ## If you change the InitiatorName, existing access control lists
- ## may reject this initiator. The InitiatorName must be unique
- ## for each iSCSI initiator. Do NOT duplicate iSCSI InitiatorNames.
- EOF
- YEAR=$(date +"%Y")
- MONTH=$(date +"%m")
- ISSUEDATE="$YEAR$MONTH"
- INAME=$(iscsi-iname -p iqn.$ISSUEDATE.local.openwrt:01)
- printf "InitiatorName=$INAME\n" >>/etc/iscsi/initiatorname.iscsi
- chmod 0600 /etc/iscsi/initiatorname.iscsi
- fi
-
|