Bug 1067173

Summary: libvirt iscsi targets no longer connect
Product: Red Hat Enterprise Linux 7 Reporter: Alex Williamson <alex.williamson>
Component: libvirtAssignee: Ján Tomko <jtomko>
Status: CLOSED CURRENTRELEASE QA Contact: Virtualization Bugs <virt-bugs>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.0CC: acathrow, agrover, bili, chhu, dyuan, jtomko, lsu, mzhan, shyu
Target Milestone: rcKeywords: Regression
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: libvirt-1.1.1-24.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-06-13 10:05:27 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 Alex Williamson 2014-02-19 21:44:18 UTC
Description of problem:
After upgrading from -18 to -19 iscsi-initiator-utils, my libvirt defined iscsi targets no longer attach.  dmesg shows:

[   33.720502] scsi8 : iSCSI Initiator over TCP/IP
[   33.985890] scsi 8:0:0:0: RAID              IET      Controller       0001 PQ: 0 ANSI: 5
[   33.995617] scsi 8:0:0:1: Direct-Access     IET      VIRTUAL-DISK     0001 PQ: 0 ANSI: 5
[   34.005032] sd 8:0:0:1: [sdc] 104857600 512-byte logical blocks: (53.6 GB/50.0 GiB)
[   34.014147] sd 8:0:0:1: [sdc] Write Protect is off
[   34.019037] sd 8:0:0:1: [sdc] Mode Sense: 49 00 00 08
[   34.019977] sd 8:0:0:1: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[   34.032916] Dev sdc: unable to read RDB block 0
[   34.037516]  sdc: unable to read partition table
[   34.045629] sd 8:0:0:1: [sdc] Attached SCSI disk
[   34.050739] sd 8:0:0:1: [sdc] Synchronizing SCSI cache
[   34.312317]  connection3:0: detected conn error (1020)

Downgrading back to -18 resolves the problem.

Version-Release number of selected component (if applicable):
iscsi-initiator-utils-6.2.0.873-19.el7

How reproducible:
100%

Steps to Reproduce:
1. Have libvirt configured with iscsi luns (my server is a RHEL6 tgtd target)
2. Upgrade 18 -> 19
3.

Actual results:
iSCSI targets are no longer available

Expected results:
Still work

Additional info:

Comment 3 Chris Leech 2014-02-19 23:47:28 UTC
This is caused by a string change included as part of bug 1007388 where extra information has been appended to the end of 'iscsiadm -m session' output.  The libvirt iSCSI backend has a strict regex that parse session information that is no longer matching.

We either need to back this out of iscsi-initiator utils or change libvirt to ignore additional information added to the end of the output line.

Comment 5 Ján Tomko 2014-02-21 10:02:29 UTC
I have proposed an upstream patch loosening the regex:
https://www.redhat.com/archives/libvir-list/2014-February/msg01279.html

Comment 6 Ján Tomko 2014-02-21 11:08:11 UTC
Fixed upstream by:
commit 57e17a74b76fd8f93012d6d0407106e9a2d5c5e3
Author:     Ján Tomko <jtomko>
CommitDate: 2014-02-21 10:35:57 +0100

    Ignore additional fields in iscsiadm output

git describe: v1.2.1-290-g57e17a7

Comment 8 EricLee 2014-02-24 07:02:05 UTC
I can reproduce this bug with packages:
libvirt-1.1.1-23.el7.x86_64
iscsi-initiator-utils-6.2.0.873-18.el7.x86_64

Steps:
1. define a iscsi pool and start it.

2. then update iscsi-initiator-utils-6.2.0.873-18.el7.x86_64 to iscsi-initiator-utils-6.2.0.873-19.el7.x86_64

3. # dmesg
...
[587244.144864] sd 18:0:0:0: [sdb] 62914560 512-byte logical blocks: (32.2 GB/30.0 GiB)
[587244.145440] sd 18:0:0:0: [sdb] Write Protect is off
[587244.145448] sd 18:0:0:0: [sdb] Mode Sense: 91 00 00 00
[587244.145840] sd 18:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[587244.149571] sd 18:0:0:0: Attached scsi generic sg2 type 0
[587244.164337] sd 18:0:0:0: [sdb] 62914560 512-byte logical blocks: (32.2 GB/30.0 GiB)
[587244.164912] sd 18:0:0:0: [sdb] Write Protect is off
[587244.164915] sd 18:0:0:0: [sdb] Mode Sense: 91 00 00 00
[587244.165315] sd 18:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[587244.199675]  sdb: unknown partition table
[587244.227161] sd 18:0:0:0: [sdb] Attached SCSI disk
...

4. # virsh pool-list --all
Name                 State      Autostart 
-----------------------------------------
default              active     yes       
test-iscsi           active     no        

# virsh pool-refresh test-iscsi
error: Failed to refresh pool test-iscsi
error: internal error: cannot find session

# iscsiadm -m session
iscsiadm: No active sessions.

----------------------------------------------------------------
Tested for scratch build:
1. download iscsi-initiator-utils to 18, and upgrade libvirt to https://brewweb.devel.redhat.com/taskinfo?taskID=7089659

2. redo the above steps, dmesg got nothing

3. # virsh pool-refresh test-iscsi
Pool test-iscsi refreshed

# virsh pool-list --all
Name                 State      Autostart 
-----------------------------------------
default              active     yes       
test-iscsi           active     no 

# iscsiadm -m session
tcp: [12] 10.66.90.100:3260,1 iqn.2001-05.com.equallogic:0-8a0906-9951f7d03-34cf49b25f04f94b-libvirt-2-150313 (non-flash)

Works fine, I think the patch fixed problem well.

Comment 10 EricLee 2014-02-26 08:37:07 UTC
Verified pass with libvirt-1.1.1-24.el7, steps as comment #8.

Comment 11 Ludek Smid 2014-06-13 10:05:27 UTC
This request was resolved in Red Hat Enterprise Linux 7.0.

Contact your manager or support representative in case you have further questions about the request.