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