From 44dbc56c064255c417fffcb78ca6c156717c76c5 Mon Sep 17 00:00:00 2001 From: Vu Tran Date: Fri, 28 Feb 2014 09:11:01 -0500 Subject: Add iscsi-initiator-utils recipe This patch instroduces iscsi-initiator-utils bitbake for building iscsi initiator open-iscsi version 2.0-873 This bitbake iscsi-initiator-utils is based on openembedded: git://github.com/DFE/HIPOS/meta-hidav/recipes-connectivity/open-iscsi * Add hook do_configure for utils/open-isns to support cross compiling. * Follow fedora to install apps to /sbin but not /usr/sbin, to change init.d file to iscsid and change the script's log_daemon_msg to echo as it is not defined by lsb/init-functions. * Completely override default install as bugs in original source's Makefile * Add Fedora patch for changing app's state files from /etc/iscsi to /var/lib/iscsi * Add Fedora patch "dont-use-static". Signed-off-by: Yao Zhao Singed-off-by: Vu Tran Signed-off-by: Bruce Ashfield --- .../iscsi-initiator-utils/files/initd.debian | 119 +++++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 meta-openstack/recipes-extended/iscsi-initiator-utils/files/initd.debian (limited to 'meta-openstack/recipes-extended/iscsi-initiator-utils/files/initd.debian') diff --git a/meta-openstack/recipes-extended/iscsi-initiator-utils/files/initd.debian b/meta-openstack/recipes-extended/iscsi-initiator-utils/files/initd.debian new file mode 100644 index 0000000..eb8eea7 --- /dev/null +++ b/meta-openstack/recipes-extended/iscsi-initiator-utils/files/initd.debian @@ -0,0 +1,119 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: +# Required-Start: +# Required-Stop: +# Default-Start: +# Default-Stop: +# Short-Description: Starts and stops the iSCSI initiator services and logins to default targets +### END INIT INFO +#set -x +PATH=/sbin:/bin:/usr/sbin:/usr/bin +DAEMON=/sbin/iscsid +ADM=/sbin/iscsiadm +PIDFILE=/var/run/iscsid.pid + +[ -x "$DAEMON" ] || exit 0 + +if [ ! -d /sys/class/ ]; then + echo "Failure:" "iSCSI requires a mounted sysfs, not started." + exit 1 +fi + +nodestartup_re='s/^node\.conn\[0]\.startup[ ]*=[ ]*//p' + +RETVAL=0 + +start() { + echo "Starting iSCSI initiator service" "iscsid" + modprobe -q iscsi_tcp 2>/dev/null || : + modprobe -q ib_iser 2>/dev/null || : + if [ ! -f /etc/iscsi/initiatorname.iscsi ]; then + INITIATORNAME=$(iscsi-iname) + cat >/etc/iscsi/initiatorname.iscsi </dev/null + if [ "$?" -ne "0" -a "$?" -ne "1" ]; then + status=1 + fi + modprobe -r iscsi_tcp 2>/dev/null + if [ "$?" -ne "0" -a "$?" -ne "1" ]; then + status=1 + fi +} + +restart() { + stop + if [ $RETVAL -ne 0 ]; then + echo "Failure:" "Stopping iSCSI initiator service failed, not starting" + return $RETVAL + fi + start +} + +restarttargets() { + stoptargets + if [ $RETVAL -ne 0 ]; then + echo "Failure:" "Could not stop all targets, try again later" + return $RETVAL + fi + starttargets +} + +status() { + #XXX FIXME: what to do here? + #status iscsid + # list active sessions + echo Current active iSCSI sessions: + $ADM -m session +} + +case "$1" in + start|starttargets|stop|stoptargets|restart|restarttargets|status) + $1 + ;; + *) + echo "Usage: $0 {start|stop|restart|status}" + exit 1 + ;; +esac +exit $RETVAL -- cgit v1.2.3-54-g00ecf