Blame utils/iscsi-gen-initiatorname

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