Bug 1392346

Summary: [RFE] [ceph-iscsi-ansible]: Creation of multiple target IQN's on the same gateway nodes should be blocked through ansible
Product: Red Hat Ceph Storage Reporter: Tejas <tchandra>
Component: iSCSIAssignee: Paul Cuzner <pcuzner>
Status: CLOSED WONTFIX QA Contact: ceph-qe-bugs <ceph-qe-bugs>
Severity: high Docs Contact:
Priority: unspecified    
Version: 3.0CC: adeza, anharris, aschoen, ceph-eng-bugs, ceph-qe-bugs, gmeno, jdillama, kdreyer, nthomas, pcuzner, sankarshan, tchandra
Target Milestone: rcKeywords: FutureFeature
Target Release: 4.0   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-11-06 18:58:26 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:

Description Tejas 2016-11-07 09:39:48 UTC
Description of problem:
      Using ceph-iscsi-ansible if we change the target iqn and run the iscsi playbook, it will create a new target with the new IQN, along with the ols target.
This will result in 2 targets using the same gateway nodes.
I fell that this should not be allowed.

Version-Release number of selected component (if applicable):
ceph-iscsi-ansible-1.5-1.el7scon.noarch
ansible-1.9.4-1.el7aos.noarch
ceph-ansible-1.0.5-39.el7scon.noarch

How reproducible:
Always

Steps to Reproduce:
1. Create a Iscsi target setup with one IQN.
2. Change the IQN in group_vars/ceph-iscsi-gw and rerun the playbook.




Additional info:

root@mustang ~]# targetcli ls
o- / ......................................................................................................................... [...]
  o- backstores .............................................................................................................. [...]
  | o- block .................................................................................................. [Storage Objects: 4]
  | | o- pool1.ansible1 ................................................ [/dev/mapper/1-1125216231b (100.0GiB) write-thru activated]
  | | o- rbd.ansible1 .................................................. [/dev/mapper/0-1057216231b (300.0GiB) write-thru activated]
  | | o- rbd.ansible2 .................................................. [/dev/mapper/0-107612200854 (15.0GiB) write-thru activated]
  | | o- rbd.ansible4 .................................................. [/dev/mapper/0-10b4216231b (500.0GiB) write-thru activated]
  | o- fileio ................................................................................................. [Storage Objects: 0]
  | o- pscsi .................................................................................................. [Storage Objects: 0]
  | o- ramdisk ................................................................................................ [Storage Objects: 0]
  o- iscsi ............................................................................................................ [Targets: 2]
  | o- iqn.2003-01.com.redhat.iscsi-gw:ceph-igw1 ......................................................................... [TPGs: 4]
  | | o- tpg1 .......................................................................................... [no-gen-acls, auth per-acl]   <-------------
  | | | o- acls .......................................................................................................... [ACLs: 0]
  | | | o- luns .......................................................................................................... [LUNs: 4]
  | | | | o- lun0 ................................................................. [block/rbd.ansible1 (/dev/mapper/0-1057216231b)]
  | | | | o- lun1 ................................................................ [block/rbd.ansible2 (/dev/mapper/0-107612200854)]
  | | | | o- lun3 ................................................................. [block/rbd.ansible4 (/dev/mapper/0-10b4216231b)]
  | | | | o- lun4 ............................................................... [block/pool1.ansible1 (/dev/mapper/1-1125216231b)]
  | | | o- portals .................................................................................................... [Portals: 1]
  | | |   o- 10.70.39.16:3260 ................................................................................................. [OK]
  | | o- tpg2 ........................................................................................................... [disabled]
  | | | o- acls .......................................................................................................... [ACLs: 0]
  | | | o- luns .......................................................................................................... [LUNs: 4]
  | | | | o- lun0 ................................................................. [block/rbd.ansible1 (/dev/mapper/0-1057216231b)]
  | | | | o- lun1 ................................................................ [block/rbd.ansible2 (/dev/mapper/0-107612200854)]
  | | | | o- lun3 ................................................................. [block/rbd.ansible4 (/dev/mapper/0-10b4216231b)]
  | | | | o- lun4 ............................................................... [block/pool1.ansible1 (/dev/mapper/1-1125216231b)]
  | | | o- portals .................................................................................................... [Portals: 1]
  | | |   o- 10.70.39.17:3260 ................................................................................................. [OK]
  | | o- tpg3 ........................................................................................................... [disabled]
  | | | o- acls .......................................................................................................... [ACLs: 0]
  | | | o- luns .......................................................................................................... [LUNs: 4]
  | | | | o- lun0 ................................................................. [block/rbd.ansible1 (/dev/mapper/0-1057216231b)]
  | | | | o- lun1 ................................................................ [block/rbd.ansible2 (/dev/mapper/0-107612200854)]
  | | | | o- lun3 ................................................................. [block/rbd.ansible4 (/dev/mapper/0-10b4216231b)]
  | | | | o- lun4 ............................................................... [block/pool1.ansible1 (/dev/mapper/1-1125216231b)]
  | | | o- portals .................................................................................................... [Portals: 1]
  | | |   o- 10.70.39.13:3260 ................................................................................................. [OK]
  | | o- tpg4 ........................................................................................................... [disabled]
  | |   o- acls .......................................................................................................... [ACLs: 0]
  | |   o- luns .......................................................................................................... [LUNs: 4]
  | |   | o- lun0 ................................................................. [block/rbd.ansible1 (/dev/mapper/0-1057216231b)]
  | |   | o- lun1 ................................................................ [block/rbd.ansible2 (/dev/mapper/0-107612200854)]
  | |   | o- lun3 ................................................................. [block/rbd.ansible4 (/dev/mapper/0-10b4216231b)]
  | |   | o- lun4 ............................................................... [block/pool1.ansible1 (/dev/mapper/1-1125216231b)]
  | |   o- portals .................................................................................................... [Portals: 1]
  | |     o- 10.70.39.18:3260 ................................................................................................. [OK]
  | o- iqn.2003-01.com.redhat.iscsi-gw:ceph-igw12 ........................................................................ [TPGs: 4]   <----------------------
  |   o- tpg1 .......................................................................................... [no-gen-acls, auth per-acl]
  |   | o- acls .......................................................................................................... [ACLs: 1]
  |   | | o- iqn.1991-05.com.microsoft:w2k12r2 ........................................................ [1-way auth, Mapped LUNs: 0]
  |   | o- luns .......................................................................................................... [LUNs: 4]
  |   | | o- lun0 ................................................................. [block/rbd.ansible1 (/dev/mapper/0-1057216231b)]
  |   | | o- lun1 ................................................................ [block/rbd.ansible2 (/dev/mapper/0-107612200854)]
  |   | | o- lun3 ................................................................. [block/rbd.ansible4 (/dev/mapper/0-10b4216231b)]
  |   | | o- lun4 ............................................................... [block/pool1.ansible1 (/dev/mapper/1-1125216231b)]
  |   | o- portals .................................................................................................... [Portals: 1]
  |   |   o- 10.70.39.16:3260 ................................................................................................. [OK]
  |   o- tpg2 ........................................................................................................... [disabled]
  |   | o- acls .......................................................................................................... [ACLs: 0]
  |   | o- luns .......................................................................................................... [LUNs: 4]
  |   | | o- lun0 ................................................................. [block/rbd.ansible1 (/dev/mapper/0-1057216231b)]
  |   | | o- lun1 ................................................................ [block/rbd.ansible2 (/dev/mapper/0-107612200854)]
  |   | | o- lun3 ................................................................. [block/rbd.ansible4 (/dev/mapper/0-10b4216231b)]
  |   | | o- lun4 ............................................................... [block/pool1.ansible1 (/dev/mapper/1-1125216231b)]
  |   | o- portals .................................................................................................... [Portals: 1]
  |   |   o- 10.70.39.17:3260 ................................................................................................. [OK]
  |   o- tpg3 ........................................................................................................... [disabled]
  |   | o- acls .......................................................................................................... [ACLs: 0]
  |   | o- luns .......................................................................................................... [LUNs: 4]
  |   | | o- lun0 ................................................................. [block/rbd.ansible1 (/dev/mapper/0-1057216231b)]
  |   | | o- lun1 ................................................................ [block/rbd.ansible2 (/dev/mapper/0-107612200854)]
  |   | | o- lun3 ................................................................. [block/rbd.ansible4 (/dev/mapper/0-10b4216231b)]
  |   | | o- lun4 ............................................................... [block/pool1.ansible1 (/dev/mapper/1-1125216231b)]
  |   | o- portals .................................................................................................... [Portals: 1]
  |   |   o- 10.70.39.13:3260 ................................................................................................. [OK]
  |   o- tpg4 ........................................................................................................... [disabled]
  |     o- acls .......................................................................................................... [ACLs: 0]
  |     o- luns .......................................................................................................... [LUNs: 4]
  |     | o- lun0 ................................................................. [block/rbd.ansible1 (/dev/mapper/0-1057216231b)]
  |     | o- lun1 ................................................................ [block/rbd.ansible2 (/dev/mapper/0-107612200854)]
  |     | o- lun3 ................................................................. [block/rbd.ansible4 (/dev/mapper/0-10b4216231b)]
  |     | o- lun4 ............................................................... [block/pool1.ansible1 (/dev/mapper/1-1125216231b)]
  |     o- portals .................................................................................................... [Portals: 1]
  |       o- 10.70.39.18:3260 ................................................................................................. [OK]
  o- loopback ......................................................................................................... [Targets: 0]
[root@mustang ~]# ll /dev/mapper/
total 0
lrwxrwxrwx. 1 root root       7 Nov  7 11:10 0-1057216231b -> ../dm-3
lrwxrwxrwx. 1 root root       7 Nov  7 10:47 0-107612200854 -> ../dm-4
lrwxrwxrwx. 1 root root       7 Nov  7 10:47 0-10b4216231b -> ../dm-6
lrwxrwxrwx. 1 root root       7 Nov  7 11:10 1-1125216231b -> ../dm-7




root@skymaster ~]# iscsiadm -m discovery -t st -p 10.70.39.13
10.70.39.16:3260,1 iqn.2003-01.com.redhat.iscsi-gw:ceph-igw12
10.70.39.17:3260,2 iqn.2003-01.com.redhat.iscsi-gw:ceph-igw12
10.70.39.13:3260,3 iqn.2003-01.com.redhat.iscsi-gw:ceph-igw12
10.70.39.18:3260,4 iqn.2003-01.com.redhat.iscsi-gw:ceph-igw12
10.70.39.16:3260,1 iqn.2003-01.com.redhat.iscsi-gw:ceph-igw1
10.70.39.17:3260,2 iqn.2003-01.com.redhat.iscsi-gw:ceph-igw1
10.70.39.13:3260,3 iqn.2003-01.com.redhat.iscsi-gw:ceph-igw1
10.70.39.18:3260,4 iqn.2003-01.com.redhat.iscsi-gw:ceph-igw1

Comment 2 Paul Cuzner 2016-11-08 03:38:24 UTC
This is a known issue.

It's possible the LIO instance already has a target defined - which may be a valid customer scenario.

Are you saying that the gateway creation should abort if it finds an existing target entry?

Comment 4 Tejas 2017-08-31 09:36:16 UTC
Hi Paul,

    Yes I fell we need to have a check if an IQN already exists on the target, and fail with a similar error.

Thanks,
Tejas

Comment 5 Jason Dillaman 2017-09-12 01:31:35 UTC
This seems like an RFE instead of a bug since it's just asking for additional guards -- priority / severity at a minimum should be lowered to medium priority / low severity.

Comment 7 Jason Dillaman 2018-11-06 18:58:26 UTC
Future direction of the upstream project will incorporate support for multiple target IQNs per gateway, so adding a restriction would run counter to this.