#!/bin/bash

if [ ! $1 ]; then
	echo "IP Address of iSNS Server not provided"
        exit 1
fi

ALIAS=0
RET=0
SYSFS=0

if [ -f /etc/iscsi.alias ]; then
	ALIAS=$(cat /etc/iscsi.alias)
	echo "iSCSI Alias: $ALIAS"
	/sbin/isnsc -s $1 -t -p 3205 -i 308 -a "$ALIAS"
	RET=$?
else
	/sbin/isnsc -s $1 -t -p 3205 -i 308
	RET=$?
fi

if [ $RET != 0 ]; then
	 echo "iSNS Initiator Registration failed"
	 exit 1
fi

if [ -d /sys/class/iscsi_initiator_core ]; then
	SYSFS=1
fi

if [ $SYSFS == 0 ]; then
	INIT=$(cat /proc/iscsi_initiator/initiator_nodename | grep "iSCSI InitiatorName: " | cut -d " " -f3)
else
	INIT=$(cat /sys/class/iscsi_initiator_core/initiator_nodename | grep "iSCSI InitiatorName: " | cut -d " " -f3)
fi

echo "[$INIT]:"
echo "	iSNS Initiator registration successful";
	
if [ -f /etc/iscsi.alias ]; then
	ALIAS=$(cat /etc/iscsi.alias)
	/sbin/isnsc -s $1 -t -p 3205 -i 310 -a "$ALIAS"
else
	/sbin/isnsc -s $1 -t -p 3205 -i 310 
fi
		
RET=$?
if [ $RET != 0 ]; then
	echo "	Unable to start iSNS Network Portal query daemon"	
	exit 1
else
	echo "	iSNS Network Portal Daemon started successfully"
	exit 0
fi
