Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.

Bug 1457359

Summary: iscsiuio service does not get started
Product: Red Hat Enterprise Linux 7 Reporter: Martin Hoyer <mhoyer>
Component: iscsi-initiator-utilsAssignee: Chris Leech <cleech>
Status: CLOSED ERRATA QA Contact: Martin Hoyer <mhoyer>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.4CC: agrover, cleech, mhoyer
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: iscsi-initiator-utils-6.2.0.874-6.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-04-10 18:34:54 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:    
Bug Blocks: 1469559    

Description Martin Hoyer 2017-05-31 14:49:33 UTC
Description of problem:
After converting one of our system from ibft to local boot, iscsiuio does not get started while trying to do discovery with bnx2i iface.

# iscsiadm -m discovery -I bnx2i.MAC -p target_IP -t st
iscsiadm: can not connect to iSCSI daemon (111)!
iscsiadm: uIP daemon is not up
iscsiadm: Could not set host net params (err 20)
iscsiadm: Connection to discovery portal 10.16.41.222 failed: internal error

Discovery works well with iscsiuio service started manually.

Version-Release number of selected component (if applicable):
RHEL-7.4 BETA
Not reproducible on RHEL-7.3
Not reproducible with RHEL-7.3GA and iscsi-initiator-utils updated to 6.2.0.874-3.el7

NetXtreme II BCM5709
driver: bnx2
version: 2.2.6
firmware-version: bc 5.2.3 NCSI 2.0.12

How reproducible:
100%

Steps to Reproduce:
1.Try to discovery LUN with bnx2i interface and iscsid, iscsiuio services stopped
2.iscsiuio service will not get started

Actual results:
iscsiuio service started with bnx2i iface

Expected results:
iscsiuio service not started
iscsiadm: can not connect to iSCSI daemon (111)!

Comment 3 Chris Leech 2017-06-01 00:03:16 UTC
Can you check the status of the iscsid and iscsiuio service and socket units?

# systemctl status iscsid.service iscsid.socket iscsiuio.service iscsiuio.socket

Are there any signs of SELinux issues?

# grep "denied" /var/log/audit/audit.log

Comment 4 Martin Hoyer 2017-06-01 09:20:15 UTC
(In reply to Chris Leech from comment #3)
# systemctl status iscsid.service iscsid.socket iscsiuio.service iscsiuio.socket
● iscsid.service - Open-iSCSI
   Loaded: loaded (/usr/lib/systemd/system/iscsid.service; disabled; vendor preset: disabled)
   Active: active (running) since Thu 2017-06-01 05:05:33 EDT; 4min 59s ago
     Docs: man:iscsid(8)
           man:iscsiadm(8)
  Process: 3084 ExecStop=/sbin/iscsiadm -k 0 2 (code=exited, status=0/SUCCESS)
  Process: 3087 ExecStart=/usr/sbin/iscsid (code=exited, status=0/SUCCESS)
 Main PID: 3089 (iscsid)
   CGroup: /system.slice/iscsid.service
           ├─3088 /usr/sbin/iscsid
           └─3089 /usr/sbin/iscsid

Jun 01 05:05:33 storageqe-11.rhts.eng.bos.redhat.com systemd[1]: Starting Op...
Jun 01 05:05:33 storageqe-11.rhts.eng.bos.redhat.com iscsid[3087]: iSCSI log...
Jun 01 05:05:33 storageqe-11.rhts.eng.bos.redhat.com systemd[1]: Started Ope...
Jun 01 05:05:34 storageqe-11.rhts.eng.bos.redhat.com iscsid[3088]: iSCSI dae...

● iscsid.socket - Open-iSCSI iscsid Socket
   Loaded: loaded (/usr/lib/systemd/system/iscsid.socket; enabled; vendor preset: disabled)
   Active: inactive (dead)
     Docs: man:iscsid(8)
           man:iscsiadm(8)
   Listen: @ISCSIADM_ABSTRACT_NAMESPACE (Stream)

● iscsiuio.service - iSCSI UserSpace I/O driver
   Loaded: loaded (/usr/lib/systemd/system/iscsiuio.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
     Docs: man:iscsiuio(8)

● iscsiuio.socket - Open-iSCSI iscsiuio Socket
   Loaded: loaded (/usr/lib/systemd/system/iscsiuio.socket; enabled; vendor preset: disabled)
   Active: inactive (dead)
     Docs: man:iscsiuio(8)
   Listen: @ISCSID_UIP_ABSTRACT_NAMESPACE (Stream)
Hint: Some lines were ellipsized, use -l to show in full.

No SElinux issues, nothing on dmesg.

Looks like the cause might be somewhere in our test environment setup - just tried to do things manually and it worked well. I will try to find where did it gone wrong.

Comment 5 Chris Leech 2017-06-01 15:26:50 UTC
(In reply to Martin Hoyer from comment #4)
> (In reply to Chris Leech from comment #3)
> # systemctl status iscsid.service iscsid.socket iscsiuio.service
> iscsiuio.socket
> ● iscsid.service - Open-iSCSI
>    Loaded: loaded (/usr/lib/systemd/system/iscsid.service; disabled; vendor
> preset: disabled)
>    Active: active (running) since Thu 2017-06-01 05:05:33 EDT; 4min 59s ago
>      Docs: man:iscsid(8)
>            man:iscsiadm(8)
>   Process: 3084 ExecStop=/sbin/iscsiadm -k 0 2 (code=exited,
> status=0/SUCCESS)
>   Process: 3087 ExecStart=/usr/sbin/iscsid (code=exited, status=0/SUCCESS)
>  Main PID: 3089 (iscsid)
>    CGroup: /system.slice/iscsid.service
>            ├─3088 /usr/sbin/iscsid
>            └─3089 /usr/sbin/iscsid
> 
> Jun 01 05:05:33 storageqe-11.rhts.eng.bos.redhat.com systemd[1]: Starting
> Op...
> Jun 01 05:05:33 storageqe-11.rhts.eng.bos.redhat.com iscsid[3087]: iSCSI
> log...
> Jun 01 05:05:33 storageqe-11.rhts.eng.bos.redhat.com systemd[1]: Started
> Ope...
> Jun 01 05:05:34 storageqe-11.rhts.eng.bos.redhat.com iscsid[3088]: iSCSI
> dae...
> 
> ● iscsid.socket - Open-iSCSI iscsid Socket
>    Loaded: loaded (/usr/lib/systemd/system/iscsid.socket; enabled; vendor
> preset: disabled)
>    Active: inactive (dead)
>      Docs: man:iscsid(8)
>            man:iscsiadm(8)
>    Listen: @ISCSIADM_ABSTRACT_NAMESPACE (Stream)
> 
> ● iscsiuio.service - iSCSI UserSpace I/O driver
>    Loaded: loaded (/usr/lib/systemd/system/iscsiuio.service; disabled;
> vendor preset: disabled)
>    Active: inactive (dead)
>      Docs: man:iscsiuio(8)
> 
> ● iscsiuio.socket - Open-iSCSI iscsiuio Socket
>    Loaded: loaded (/usr/lib/systemd/system/iscsiuio.socket; enabled; vendor
> preset: disabled)
>    Active: inactive (dead)
>      Docs: man:iscsiuio(8)
>    Listen: @ISCSID_UIP_ABSTRACT_NAMESPACE (Stream)
> Hint: Some lines were ellipsized, use -l to show in full.
> 
> No SElinux issues, nothing on dmesg.
> 
> Looks like the cause might be somewhere in our test environment setup - just
> tried to do things manually and it worked well. I will try to find where did
> it gone wrong.

OK, I can possibly see how this happened.  The socket units are enabled but inactive, so I'm guessing that the rpm was installed but the system was not restarted.  Then iscsiadm can use the iscsid.startup setting in iscsid.conf if it fails to connect to iscsid, which we use in el7 to ensure the socket activation units are active.  But if there was no restart, and the iscsid.service was started directly, then the socket activation units don't get started and nothing will start iscsiuio.

We might be able to improve this, but I don't think there's a regression.

Comment 6 Martin Hoyer 2017-06-01 15:36:09 UTC
Chris, thanks for the update. I played did some testing today:

- running any of our tests via beaker fails with this problem | works well with RHEL-7.3
- running it manually in exactly the same environment pass without this issue

I've failed to see the difference between beaker run and manual run.

Comment 7 Martin Hoyer 2017-06-02 14:45:09 UTC
Restarting iscsiuio service resolves this issue. 
Chris, do You want to keep this bz open? I still wonder why we don't see this on RHEL-7.3 though.

Comment 8 Chris Leech 2017-06-13 00:01:00 UTC
(In reply to Martin Hoyer from comment #7)
> Restarting iscsiuio service resolves this issue. 
> Chris, do You want to keep this bz open? I still wonder why we don't see
> this on RHEL-7.3 though.

I think the test scripts are doing somthing like 'systemctl restart iscsid' or 'service iscsid restart'?

There seems to be a timing difference as the next iscsiadm command races against the iscsid restart, and if it's running in time to accept the socket connect but the iscsiuio socket activation unit isn't running this can happen.

The RPM enables the socket activation units by default, but I didn't want to start anything.  But then iscsiadm will try and tell systemd to start the socket activation units if it can't connect to iscsid.  

So in practice there's not much difference and having systemd start the socket activation doesn't start new processes, so I think just starting socket activations on RPM install would fix this.  Seems to in my testing with a spec file change.

Comment 9 Martin Hoyer 2017-06-13 11:11:24 UTC
(In reply to Chris Leech from comment #8)
> I think the test scripts are doing somthing like 'systemctl restart iscsid'
> or 'service iscsid restart'?
Indeed, they are running 'systemctl restart iscsid', followed by some non-iscsi related checks. Than, after ~90s another test is updating iface information and restarting the service again. After this the discovery fails.

Seems like, once this happens, only way to fix it is restart iscsiuio service or stop iscsid and try to do discovery again.

Comment 15 Martin Hoyer 2017-12-18 14:44:13 UTC
Tested with iscsi-initiator-utils-6.2.0.874-6 and -7
The issue is no longer present. No regression found.

Comment 18 errata-xmlrpc 2018-04-10 18:34:54 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://access.redhat.com/errata/RHBA-2018:0993