Bug 1161053

Summary: libstoragemgmt: fail mapping lun using targetd plugin
Product: Red Hat Enterprise Linux 7 Reporter: Bruno Goncalves <bgoncalv>
Component: libstoragemgmtAssignee: Tony Asleson <tasleson>
Status: CLOSED ERRATA QA Contact: Bruno Goncalves <bgoncalv>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.2CC: tasleson
Target Milestone: rcKeywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-11-19 11:46:19 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:

Description Bruno Goncalves 2014-11-06 09:53:33 UTC
Description of problem:
Traceback when trying to map a lun to specific initiator using targetd plugin.


Version-Release number of selected component (if applicable):
# rpm -qa | grep libstoragemgmt
libstoragemgmt-1.0.0-4.el7.x86_64
libstoragemgmt-python-1.0.0-4.el7.noarch
libstoragemgmt-targetd-plugin-1.0.0-4.el7.noarch


How reproducible:
100%

Steps to Reproduce:
1.Create VG to be used by targetd
# vgcreate vg-targetd /dev/loop0

2. start targetd
service targetd restart
Redirecting to /bin/systemctl restart  targetd.servic

3. start libstoragemgmt
service libstoragemgmt restart
Redirecting to /bin/systemctl restart  libstoragemgmt.service

4. Create a LUN
lsmcli  -u "targetd://admin@localhost" volume-create --name='lsm-basic-test-lun' --size=2G --pool='vg-targetd' --provisioning='DEFAULT'

5. Try to map the LUN to a IQN
# lsmcli  -u "targetd://admin@localhost" list --type VOLUMES
ID                                     | Name               | SCSI VPD 0x83                    | Size       | Disabled | Pool ID    | System ID
-----------------------------------------------------------------------------------------------------------------------------------------------
iIpdhn-s8VZ-Hd1W-UZnd-Ldw3-yEiJ-4MybA2 | lsm-basic-test-lun | 6001405d8d1dd3e4ba20000000000000 | 2147483648 | No       | vg-targetd | targetd  

# lsmcli  -u "targetd://admin@localhost" volume-mask --vol iIpdhn-s8VZ-Hd1W-UZnd-Ldw3-yEiJ-4MybA2 --init iqn.1994-05.com.redhat:cbc17c91e2b
Traceback (most recent call last):
  File "/usr/bin/lsmcli", line 25, in <module>
    cmd_line_wrapper()
  File "/usr/lib/python2.7/site-packages/lsm/lsmcli/cmdline.py", line 53, in cmd_line_wrapper
    cli.process(c)
  File "/usr/lib/python2.7/site-packages/lsm/lsmcli/cmdline.py", line 1433, in process
    self.args.func(self.args)
  File "/usr/lib/python2.7/site-packages/lsm/lsmcli/cmdline.py", line 1253, in volume_mask
    (init_id, init_type) = parse_convert_init(args.init)
  File "/usr/lib/python2.7/site-packages/lsm/lsmcli/cmdline.py", line 86, in parse_convert_init
    valid, init_type, init_id = AccessGroup.initiator_id_verify(init_id)
  File "/usr/lib/python2.7/site-packages/lsm/_data.py", line 513, in initiator_id_verify
    if init_id.startswith('iqn') or init_id.startswith('eui') or\
AttributeError: 'list' object has no attribute 'startswith'

Comment 6 Bruno Goncalves 2015-08-14 08:18:33 UTC
Tested using libstoragemgmt-1.2.3-3.el7, the volume-mask now requires access group ID, the problem is targetd on RHEL-7.2 (targetd-0.7.1-1.el7.noarch) does not support it.

# lsmcli  -u "targetd://admin@localhost" access-group-create --name test --init iqn.1994-05.com.redhat:cbc17c91e2b --sys targetd
NO_SUPPORT(153): Please upgrade your targetd package to support access_group_create() 


Testing using targetd from Fedora (targetd-0.8.3-1.fc22.noarch) works well.

# lsmcli  -u "targetd://admin@localhost" volume-create --name='lsm-basic-test-lun' --size=2G --pool='vg-targetd' --provisioning='DEFAULT'
ID                                     | Name               | SCSI VPD 0x83                    | Size       | Disabled | Pool ID    | System ID
-----------------------------------------------------------------------------------------------------------------------------------------------
YGJer9-Jj63-RySB-ovKa-msRc-uqf6-uH69t0 | lsm-basic-test-lun | 6001405e963bacf66900000000000000 | 2147483648 | No       | vg-targetd | targetd  

# lsmcli  -u "targetd://admin@localhost" access-group-create --name test --init iqn.1994-05.com.redhat:cbc17c91e2b --sys targetd
ID   | Name | Initiator IDs                      | System ID
------------------------------------------------------------
test | test | iqn.1994-05.com.redhat:cbc17c91e2b | targetd  


# lsmcli  -u "targetd://admin@localhost" volume-mask --vol YGJer9-Jj63-RySB-ovKa-msRc-uqf6-uH69t0 --init iqn.1994-05.com.redhat:cbc17c91e2b --ag test
#

# lsmcli  -u "targetd://admin@localhost" volume-access-group --vol YGJer9-Jj63-RySB-ovKa-msRc-uqf6-uH69t0
ID   | Name | Initiator IDs                      | System ID
------------------------------------------------------------
test | test | iqn.1994-05.com.redhat:cbc17c91e2b | targetd

Comment 8 errata-xmlrpc 2015-11-19 11:46:19 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.

https://rhn.redhat.com/errata/RHEA-2015-2342.html