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
Same issue with 'i40e' driver HW
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.
Verified on vdsm-4.40.0-127.gitc628cce.el8ev.x86_64 Red Hat Enterprise Linux release 8.1 (Ootpa)
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.