iSCSILogicalUnit resource agent does not correctly configure LIO when using allowed_initiators
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
resource-agents (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Precise |
Won't Fix
|
Undecided
|
Unassigned |
Bug Description
When configuring Pacemaker to set up iSCSI targets using the LIO implementation option, the iSCSILogicalUnit resource agent does not correctly assign the LUN to the ACL within LIO.
This appears to have been fixed in the git repo.
I'd like to request that this fix is backported into the resource-agents package in 12.04, as without it the Pacemaker/iSCSI/LIO combination is effectively broken when setting the allowed_initiators option.
The lines that are required are highlighted here:
https:/
I can provide example configurations for duplication if required (at least, I can on Monday when I have access to the servers I'm having a problem with!)
Changed in resource-agents (Ubuntu Precise): | |
status: | New → Confirmed |
Changed in resource-agents (Ubuntu): | |
status: | Confirmed → Fix Released |
Okay, examples of my configuration (only relevant primitives shown):
primitive iscsi_vip ocf:heartbeat: IPaddr2 \ "/etc/ceph/ ceph.conf" \ iSCSILogicalUni t \ iqn="iqn. 2014-01. net.acme. company: cvstor0" lun="1" path="/ dev/rbd/ rbd/cvstor0" implementation= "lio" iSCSITarget \ 2014-01. net.acme. company: cvstor0" implementation= "lio" allowed_ initiators= "iqn.1991- 05.com. microsoft: mcs-e-comm- man5" portals= "172.28. 196.105: 3260" \ after_vip inf: iscsi_vip g_cvstor0 lun_after_ target inf: p_target_ cvstor0: start p_lun_cvstor0:start target_ after_map inf: p_map_cvstor0:start p_target_ cvstor0: start
params ip="172.28.196.105" cidr_netmask="25" \
op monitor interval="30s" \
primitive p_map_cvstor0 ocf:ceph:rbd \
params user="nfshead" pool="rbd" name="cvstor0" cephconf=
op monitor interval="10s" timeout="20s"
primitive p_lun_cvstor0 ocf:heartbeat:
params target_
primitive p_target_cvstor0 ocf:heartbeat:
params iqn="iqn.
op monitor interval="30s"
colocation c_g_cvstor0_with_ip inf: g_cvstor0 iscsi_vip
order o_g_cvstor0_
order o_cvstor0_
order o_cvstor0_
This will correctly mount the RADOS block device, create the target and LUN and the ACLs, but doesn't perform the last step of mapping the LUN to the ACL, thus the initiator is unable to see the LUN after connecting successfully to the target.
From targetcli (snipped for relevance again):
o- iscsi ....... ....... ....... ....... ....... ....... ....... ....... . [7 Targets] 01.net. ukfast. ecloud: cvstor0 ....... ....... ....... ...... [1 TPG] ....... ....... ....... ....... ....... ....... ...... [enabled] ....... ....... ....... ....... ....... ....... ....... [1 ACL] 05.com. microsoft: mcs-e-comm- man5 .......... [0 Mapped LUN] <---- This is the problem ....... ....... ....... ....... ....... ....... ....... [1 LUN] p_lun_cvstor0 (/dev/rbd/ rbd/cvstor0) ] ....... ....... ....... ....... ....... ....... . [1 Portal] ....... ....... ....... ....... ....... [OK]
| o- iqn.2014-
| | o- tpgt1 .......
| | o- acls .......
| | | o- iqn.1991-
| | o- luns .......
| | | o- lun1 ................ [iblock/
| | o- portals .......
| | o- 172.28.196.105:3260 .......
The code highlighted in my initial report from Github resolves this mapping issue.