Bug 1687111 - AttributeError: 'USBNetDevice' object has no attribute 'name' when starting redfish-finder service
Summary: AttributeError: 'USBNetDevice' object has no attribute 'name' when starting r...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: redfish-finder
Version: 8.0
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: rc
: 8.1
Assignee: Neil Horman
QA Contact: Rachel Sibley
Jaroslav Klech
URL:
Whiteboard:
: 1702863 (view as bug list)
Depends On:
Blocks: 1660905 1666894 1671421 1717383
TreeView+ depends on / blocked
 
Reported: 2019-03-09 22:04 UTC by Rachel Sibley
Modified: 2023-08-08 02:41 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
.The `redfish-finder` service properly sets up BMC communication Previously, the `redfish-finder` service became unresponsive when it could not find a USB network interface for the baseboard management controller (BMC). Consequently, `redfish-finder` failed to set up BMC communication. This update reverts an early patch that byte-swaps the USB IDs to work around an early firmware issue. As a result, `redfish-finder` now functions as expected.
Clone Of:
: 1717383 (view as bug list)
Environment:
Last Closed: 2019-11-05 20:53:59 UTC
Type: Bug
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2019:3351 0 None None None 2019-11-05 20:54:03 UTC

Description Rachel Sibley 2019-03-09 22:04:40 UTC
Description of problem:
Starting redfish-finder service fails with with the following error: AttributeError: 'USBNetDevice' object has no attribute 'name'

Version-Release number of selected component (if applicable):
~]# rpm -q redfish-finder
redfish-finder-0.2-1.el8.noarch

How reproducible:
Always

Steps to Reproduce:
1. yum info redfish-finder
2. systemctl start redfish-finder
3.

Actual results:
redfish-finder fails to start

Expected results:
redfish-finder starts successfully

Additional info:
~]# dmidecode --type 42
# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 3.2.1 present.
# SMBIOS implementations newer than version 3.2.0 are not
# fully supported by this version of dmidecode.

Handle 0x3532, DMI type 42, 169 bytes
Management Controller Host Interface
	Host Interface Type: Network
	Device Type: USB
		idVendor: 0x04b3
		idProduct: 0x4010
		Protocol ID: 04 (Redfish over IP)
			Service UUID: 868ec9e7-037d-1f46-9519-cb5fe0f45a63
			Host IP Assignment Type: Static
			Host IP Address Format: IPv4
			IPv4 Address: 192.168.1.2
			IPv4 Mask: 255.255.255.0
			Redfish Service IP Discovery Type: Static
			Redfish Service IP Address Format: IPv4
			IPv4 Redfish Service Address: 192.168.1.1
			IPv4 Redfish Service Mask: 255.255.255.0
			Redfish Service Port: 443
			Redfish Service Vlan: 0
			Redfish Service Hostname: redfish-devel-xcc


~]# systemctl status redfish-finder
● redfish-finder.service - Redfish host api discovery service
   Loaded: loaded (/usr/lib/systemd/system/redfish-finder.service; disabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Sat 2019-03-09 16:57:04 EST; 10s ago
  Process: 23811 ExecStart=/usr/bin/redfish-finder (code=exited, status=1/FAILURE)
 Main PID: 23811 (code=exited, status=1/FAILURE)

Mar 09 16:57:04 <redacted> redfish-finder[23811]:   File "/usr/bin/redfish-finder", line 453, in main
Mar 09 16:57:04 <redacted> redfish-finder[23811]:     conn = nmConnection(smbios_info.device)
Mar 09 16:57:04 <redacted> redfish-finder[23811]:   File "/usr/bin/redfish-finder", line 350, in __init__
Mar 09 16:57:04 <redacted> redfish-finder[23811]:     self.cmdlinedown = "nmcli con down id " + self.ifc.getifcname()
Mar 09 16:57:04 <redacted> redfish-finder[23811]:   File "/usr/bin/redfish-finder", line 50, in getifcname
Mar 09 16:57:04 <redacted> redfish-finder[23811]:     return self.name
Mar 09 16:57:04 <redacted> redfish-finder[23811]: AttributeError: 'USBNetDevice' object has no attribute 'name'
Mar 09 16:57:04 <redacted> systemd[1]: redfish-finder.service: Main process exited, code=exited, status=1/FAILURE
Mar 09 16:57:04 <redacted> systemd[1]: redfish-finder.service: Failed with result 'exit-code'.
Mar 09 16:57:04 <redacted> systemd[1]: Failed to start Redfish host api discovery service.

Comment 1 Neil Horman 2019-03-12 14:50:33 UTC
This needs an upstream backport to handle the usb device/vendor id swapping found on the lenovo firmware.  Now that the firmware is updated I can get the latest upstream sources to fix it.  Though your target release is set to 8.0.  Does this need to be a blocker (assuming we have time for that), or an 8.1 target with a z-stream backport

Comment 2 Rachel Sibley 2019-03-12 15:02:17 UTC
@nhorman I am ok with setting to 8.1 with a z-stream backport, I'm not sure how many customers are relying on this feature for 8.0, is there a workaround for this ?

Comment 3 Neil Horman 2019-03-12 16:24:43 UTC
ok, lets do this as an 8.1 fix with a z-stream.  The field workaround would be manual modification of /usr/bin/redfish-finder with a small patch.  Ugly, but workable.  And this will be an early z-stream batch, so I think we're ok.

Comment 4 Neil Horman 2019-04-25 11:34:30 UTC
*** Bug 1702863 has been marked as a duplicate of this bug. ***

Comment 7 Joseph Kachuck 2019-06-05 14:34:22 UTC
Hello,
This bug has been copied as 8.0.0 z-stream bug #1717383

Thank You
Joe Kachuck

Comment 9 Rachel Sibley 2019-09-25 16:14:48 UTC
Verified as fixed with latest redfish-finder rpm, I do see a warning about parsing, but the service started
successfully, a separate bz can be filed if deemed necessary:
redfish-finder: Unexpected error parsing ServiceConfig

Before:
================
~]# rpm -q redfish-finder
redfish-finder-0.2-1.el8.noarch

~]#  systemctl start redfish-finder
Job for redfish-finder.service failed because the control process exited with error code.
See "systemctl status redfish-finder.service" and "journalctl -xe" for details.

~]# systemctl status redfish-finder
● redfish-finder.service - Redfish host api discovery service
   Loaded: loaded (/usr/lib/systemd/system/redfish-finder.service; disabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Wed 2019-09-25 12:09:28 EDT; 13s ago
  Process: 18508 ExecStart=/usr/bin/redfish-finder (code=exited, status=1/FAILURE)
 Main PID: 18508 (code=exited, status=1/FAILURE)

Sep 25 12:09:28 redfish-devel.desktop.lab.eng.rdu2.redhat.com redfish-finder[18508]:   File "/usr/bin/redfish-finder", line 453, in main
Sep 25 12:09:28 redfish-devel.desktop.lab.eng.rdu2.redhat.com redfish-finder[18508]:     conn = nmConnection(smbios_info.device)
Sep 25 12:09:28 redfish-devel.desktop.lab.eng.rdu2.redhat.com redfish-finder[18508]:   File "/usr/bin/redfish-finder", line 350, in __init__
Sep 25 12:09:28 redfish-devel.desktop.lab.eng.rdu2.redhat.com redfish-finder[18508]:     self.cmdlinedown = "nmcli con down id " + self.ifc.getifcname()
Sep 25 12:09:28 redfish-devel.desktop.lab.eng.rdu2.redhat.com redfish-finder[18508]:   File "/usr/bin/redfish-finder", line 50, in getifcname
Sep 25 12:09:28 redfish-devel.desktop.lab.eng.rdu2.redhat.com redfish-finder[18508]:     return self.name
Sep 25 12:09:28 redfish-devel.desktop.lab.eng.rdu2.redhat.com redfish-finder[18508]: AttributeError: 'USBNetDevice' object has no attribute 'name'
Sep 25 12:09:28 redfish-devel.desktop.lab.eng.rdu2.redhat.com systemd[1]: redfish-finder.service: Main process exited, code=exited, status=1/FAILURE
Sep 25 12:09:28 redfish-devel.desktop.lab.eng.rdu2.redhat.com systemd[1]: redfish-finder.service: Failed with result 'exit-code'.
Sep 25 12:09:28 redfish-devel.desktop.lab.eng.rdu2.redhat.com systemd[1]: Failed to start Redfish host api discovery service.

After:
================
~]# rpm -q redfish-finder
redfish-finder-0.3-3.el8.noarch

~]# systemctl stop redfish-finder

~]# systemctl start redfish-finder

~]# systemctl status redfish-finder
● redfish-finder.service - Redfish host api discovery service
   Loaded: loaded (/usr/lib/systemd/system/redfish-finder.service; disabled; vendor preset: disabled)
   Active: active (exited) since Wed 2019-09-25 12:11:33 EDT; 5s ago
  Process: 18913 ExecStart=/usr/bin/redfish-finder (code=exited, status=0/SUCCESS)
 Main PID: 18913 (code=exited, status=0/SUCCESS)

Sep 25 12:11:33 redfish-devel.desktop.lab.eng.rdu2.redhat.com redfish-finder[18913]: Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/A>
Sep 25 12:11:33 redfish-devel.desktop.lab.eng.rdu2.redhat.com redfish-finder[18913]: redfish-finder: Getting dmidecode info
Sep 25 12:11:33 redfish-devel.desktop.lab.eng.rdu2.redhat.com redfish-finder[18913]: redfish-finder: Unexpected error parsing ServiceConfig
Sep 25 12:11:33 redfish-devel.desktop.lab.eng.rdu2.redhat.com redfish-finder[18913]: redfish-finder: Building NetworkManager connection info
Sep 25 12:11:33 redfish-devel.desktop.lab.eng.rdu2.redhat.com redfish-finder[18913]: redfish-finder: Obtaining OS config info
Sep 25 12:11:33 redfish-devel.desktop.lab.eng.rdu2.redhat.com redfish-finder[18913]: redfish-finder: Converting SMBIOS Host Config to NetworkManager Connection info
Sep 25 12:11:33 redfish-devel.desktop.lab.eng.rdu2.redhat.com redfish-finder[18913]: redfish-finder: Applying NetworkManager connection configuration changes
Sep 25 12:11:33 redfish-devel.desktop.lab.eng.rdu2.redhat.com redfish-finder[18913]: redfish-finder: Adding redfish host info to OS config
Sep 25 12:11:33 redfish-devel.desktop.lab.eng.rdu2.redhat.com redfish-finder[18913]: redfish-finder: Done, BMC is now reachable via hostname redfish-localhost
Sep 25 12:11:33 redfish-devel.desktop.lab.eng.rdu2.redhat.com systemd[1]: Started Redfish host api discovery service.

Comment 11 errata-xmlrpc 2019-11-05 20:53:59 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-2019:3351


Note You need to log in before you can comment on or make changes to this bug.