Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1952369

Summary: [SR-IOV] [Failover] Can't unplug VM's vNIC if the failover vNIC profile has been changed
Product: [oVirt] ovirt-engine Reporter: Michael Burman <mburman>
Component: BLL.NetworkAssignee: Ales Musil <amusil>
Status: CLOSED CURRENTRELEASE QA Contact: Michael Burman <mburman>
Severity: medium Docs Contact:
Priority: medium    
Version: 4.4.6.4CC: bugs, dfodor, mperina
Target Milestone: ovirt-4.4.6Flags: pm-rhel: ovirt-4.4+
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: ovirt-engine-4.4.6.6 Doc Type: No Doc Update
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-05-05 05:36:24 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Network RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Michael Burman 2021-04-22 07:21:38 UTC
Description of problem:
[SR-IOV] [Failover] Can't unplug VM's vNIC if the failover vNIC profile has been changed.

With the new sr-iov failover feature, user can start a VM with failover vNIC and then change the failover vNIC profile to another network, this will trigger the new out of sync indication introduced in BZ 1113630, that will suggest the user to unplug and replug the vNIC for the changes to apply.
When user trying to unplug the vNIC he fail with:
"
Error while executing action Edit VM Interface properties: General Exception
Close
"

ERROR FINISH hotunplugNic error=macAddr
                                                              Traceback (most recent call last):
                                                                File "/usr/lib/python3.6/site-packages/vdsm/common/api.py", line 124, in method
                                                                  ret = func(*args, **kwargs)
                                                                File "/usr/lib/python3.6/site-packages/vdsm/API.py", line 393, in hotunplugNic
                                                                  return self.vm.hotunplugNic(params)
                                                                File "<decorator-gen-249>", line 2, in hotunplugNic
                                                                File "/usr/lib/python3.6/site-packages/vdsm/common/api.py", line 101, in method
                                                                  return func(*args, **kwargs)
                                                                File "/usr/lib/python3.6/site-packages/vdsm/virt/vm.py", line 3256, in hotunplugNic
                                                                  nicParams = {'macAddr': nic.macAddr}
                                                              AttributeError: macAddr


2021-04-22 10:16:12,516+0300 ERROR (jsonrpc/5) [api] FINISH hotunplugNic error=macAddr (api:134)
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/vdsm/common/api.py", line 124, in method
    ret = func(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/vdsm/API.py", line 393, in hotunplugNic
    return self.vm.hotunplugNic(params)
  File "<decorator-gen-249>", line 2, in hotunplugNic
  File "/usr/lib/python3.6/site-packages/vdsm/common/api.py", line 101, in method
    return func(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/vdsm/virt/vm.py", line 3256, in hotunplugNic
    nicParams = {'macAddr': nic.macAddr}
AttributeError: macAddr
2021-04-22 10:16:12,517+0300 INFO  (jsonrpc/5) [api.virt] FINISH hotunplugNic return={'status': {'code': 100, 'message': "General Exception: ('macAddr',)"}} from=::ffff:x
.x.x.x,48816, flow_id=da0214c, vmId=3a9aa726-40d0-4332-be1a-feb3f2e0702e (api:54)
2021-04-22 10:16:12,517+0300 INFO  (jsonrpc/5) [jsonrpc.JsonRpcServer] RPC call VM.hotunplugNic failed (error 100) in 0.00 seconds (__init__:312)

Version-Release number of selected component (if applicable):
rhvm-4.4.6.5-447.gd80dda7.9.el8ev.noarch

How reproducible:
100%

Steps to Reproduce:
1. Start VM with sr-iov failover vNIC
2. Change the failover vNIC profile to another network
3. Try to unplug the vNIC for the changes to apply

Actual results:
Failed with error

Expected results:
1. Should work
2. Or maybe we should block such operation?

Comment 1 Michael Burman 2021-04-22 11:30:50 UTC
We decided to Block the update of vnic profile failover for used profiles and gray out this possibility, also to add tooltip.

Comment 2 Michael Burman 2021-05-02 14:42:41 UTC
Verified on - rhvm-4.4.6.6-0.10.el8ev.noarch

Comment 3 Sandro Bonazzola 2021-05-05 05:36:24 UTC
This bugzilla is included in oVirt 4.4.6 release, published on May 4th 2021.

Since the problem described in this bug report should be resolved in oVirt 4.4.6 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.