Bug 922270

Summary: unable to pass "--iscsi portal=..." args to tgtd
Product: Red Hat Enterprise Linux 6 Reporter: Adam Thompson <athompso>
Component: scsi-target-utilsAssignee: Andy Grover <agrover>
Status: CLOSED ERRATA QA Contact: Bruno Goncalves <bgoncalv>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: 6.4CC: bgoncalv
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
tgtd now supports setting tgtd options in the TGTD_OPTIONS variable in /etc/sysconfig/tgtd.
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-11-21 22:30:25 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 996009    
Bug Blocks:    

Description Adam Thompson 2013-03-15 21:38:02 UTC
Description of problem:
/etc/init.d/tgtd does not support command-line arguments to tgtd

Version-Release number of selected component (if applicable):
scsi-target-utils-1.0.24-2.el6.x86_64


How reproducible:
Need to include "--iscsi portal=x.x.x.x:3260" args to restrict socket binding on multi-homed system.

Steps to Reproduce:
1. have a multi-homed system
2. require iscsi to only bind to one NIC
3. fail :-)
  
Actual results:
tgtd binds to 0.0.0.0:3260 by default.

Expected results:
tgtd binds only to a specific IP.

Additional info:
Adding support is trivial:

***BEGIN PATCH***
--- tgtd	2012-03-20 14:22:28.000000000 -0500
+++ tgtd.local	2013-03-15 16:24:57.298215576 -0500
@@ -31,7 +31,7 @@
 	[ -x /usr/sbin/$exec ] || exit 5
 	echo -n $"Starting $prog: "
 	# Note /dev/null redirection to silence rdma not found messages
-	daemon $exec >/dev/null 2>&1
+	daemon $exec ${TGTD_OPTIONS} >/dev/null 2>&1
 	retval=$?
 	if [ $retval -ne 0 ] ; then
 		failure
***END PATCH***

and since /etc/sysconfig/tgtd does not contain a TGTD_OPTIONS line, default behaviour remains unchanged.

The workaround is obvious, but this needs to get into an errata pkg so I'm not customizing initscripts to support a fully-documented feature (see http://stgt.sourceforge.net/manpages/tgtd.8.html).
Should be possible to include in errata since default behaviour does not change.

Comment 6 Bruno Goncalves 2013-09-03 08:57:50 UTC
Verified on scsi-target-utils-1.0.24-7.el6.x86_64

cat /etc/sysconfig/tgtd
# configuration file
#TGTD_CONFIG=/etc/tgt/targets.conf


# iscsiadm -m discovery -p <iscsi_target> -t st
10.16.42.32:3260,1 iqn.2009-10.com.redhat:storage-1

-----
cat /etc/sysconfig/tgtd
# configuration file
#TGTD_CONFIG=/etc/tgt/targets.conf
TGTD_OPTIONS="--iscsi portal=127.0.0.1:3260"

service tgtd restart
Stopping SCSI target daemon: [  OK  ]
Starting SCSI target daemon: [  OK  ]

# iscsiadm -m discovery -p <iscsi_target> -t st
iscsiadm: cannot make connection to 10.16.42.32: Connection refused
iscsiadm: cannot make connection to 10.16.42.32: Connection refused
iscsiadm: cannot make connection to 10.16.42.32: Connection refused
iscsiadm: cannot make connection to 10.16.42.32: Connection refused
iscsiadm: cannot make connection to 10.16.42.32: Connection refused
iscsiadm: cannot make connection to 10.16.42.32: Connection refused
iscsiadm: connection login retries (reopen_max) 5 exceeded

Comment 7 errata-xmlrpc 2013-11-21 22:30:25 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2013-1684.html