Bug 1738429 - [SR-IOV] [rhel8.1] Can't enable VFs on rhel8.1 host - driver=igb
Summary: [SR-IOV] [rhel8.1] Can't enable VFs on rhel8.1 host - driver=igb
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: vdsm
Classification: oVirt
Component: Core
Version: 4.40.0
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ovirt-4.4.0
: ---
Assignee: Bell Levin
QA Contact: Michael Burman
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-08-07 07:09 UTC by Michael Burman
Modified: 2020-05-20 19:59 UTC (History)
6 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2020-05-20 19:59:29 UTC
oVirt Team: Network
Embargoed:
dfediuck: ovirt-4.4?
dfediuck: planning_ack?
dfediuck: devel_ack+
dfediuck: testing_ack?


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
oVirt gerrit 102510 0 master MERGED net, py3: Write number of vfs file in binary mode 2021-02-11 15:44:47 UTC

Description Michael Burman 2019-08-07 07:09:02 UTC
Description of problem:
[SR-IOV] [rhel8.1] Can't enable VFs on rhel8.1 host - driver=igb

Trying to enable VFs on a rhel8.1 host using RHV d/s 4.4 and vdsm 4.4 and get:

2019-08-07 01:48:49,219-0400 ERROR (jsonrpc/1) [jsonrpc.JsonRpcServer] Internal server error (__init__:350)
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/yajsonrpc/__init__.py", line 345, in _handle_request
    res = method(**params)
  File "/usr/lib/python3.6/site-packages/vdsm/rpc/Bridge.py", line 198, in _dynamicMethod
    result = fn(*methodArgs)
  File "<decorator-gen-436>", line 2, in hostdevChangeNumvfs
  File "/usr/lib/python3.6/site-packages/vdsm/common/api.py", line 50, in method
    ret = func(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/vdsm/API.py", line 1380, in hostdevChangeNumvfs
    hostdev.change_numvfs(deviceName, numvfs)
  File "/usr/lib/python3.6/site-packages/vdsm/common/hostdev.py", line 708, in change_numvfs
    net_name)
  File "/usr/lib/python3.6/site-packages/vdsm/common/supervdsm.py", line 56, in __call__
    return callMethod()
  File "/usr/lib/python3.6/site-packages/vdsm/common/supervdsm.py", line 54, in <lambda>
    **kwargs)
  File "<string>", line 2, in change_numvfs
  File "/usr/lib64/python3.6/multiprocessing/managers.py", line 772, in _callmethod
    raise convert_to_error(kind, result)
ValueError: can't have unbuffered text I/O
2019-08-07 01:48:49,285-0400 INFO  (jsonrpc/1) [jsonrpc.JsonRpcServer] RPC call Host.hostdevChangeNumvfs failed (error -32603) in 0.11 seconds (__init__:312)

Version-Release number of selected component (if applicable):
RHV 4.4.0-0.1.master.el7
vdsm-4.40.0-720.git619700644.el8ev.x86_64
Red Hat Enterprise Linux release 8.1 Beta (Ootpa)
ProLiant DL170e G6

04:00.1 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
        Subsystem: Intel Corporation Ethernet Server Adapter I350-T2
                Product Name: Intel Ethernet Server Adapter I350-T2
                        [V1] Vendor specific: Intel Ethernet Server Adapter I350-T2
        Capabilities: [160 v1] Single Root I/O Virtualization (SR-IOV)
05:00.0 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01)
        Capabilities: [160 v1] Single Root I/O Virtualization (SR-IOV)

driver=igb driverversion=5.6.0-k

How reproducible:
100%

Steps to Reproduce:
1. Try to enable VF on a rhel8.1 host using 4.4 RHV and vdsm

Actual results:
Fail to enable VF

Expected results:
Should work

Additional info:
I'm not sure if this is a vdsm bug or a rhel8.1 issue with this specific driver or card. Might be not supported on rhel8.1
I will do the same test with 'i40e' driver host

Comment 2 Michael Burman 2019-08-07 08:38:17 UTC
Same issue with 'i40e' driver HW

Comment 3 Dan Kenigsberg 2019-08-07 13:25:31 UTC
As usual, the interesting log is in supervdsm.log

MainProcess|jsonrpc/2::ERROR::2019-08-06 11:42:01,156::supervdsm_server::103::SuperVdsm.ServerCallback::(wrapper) Error in change_numvfs
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/vdsm/supervdsm_server.py", line 101, in wrapper
    res = func(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/vdsm/network/api.py", line 74, in change_numvfs
    sriov.update_numvfs(pci_path, numvfs)
  File "/usr/lib/python3.6/site-packages/vdsm/network/link/sriov.py", line 43, in update_numvfs
    with open(_SYSFS_SRIOV_NUMVFS.format(pci_path), 'w', 0) as f:
ValueError: can't have unbuffered text I/O


seems like a vdsm-side unicode bug.

Comment 4 Michael Burman 2019-10-23 07:55:36 UTC
Verified on vdsm-4.40.0-127.gitc628cce.el8ev.x86_64
Red Hat Enterprise Linux release 8.1 (Ootpa)

Comment 5 Sandro Bonazzola 2020-05-20 19:59:29 UTC
This bugzilla is included in oVirt 4.4.0 release, published on May 20th 2020.

Since the problem described in this bug report should be
resolved in oVirt 4.4.0 release, it has been closed with a resolution of CURRENT RELEASE.

If the solution does not work for you, please open a new bug report.


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