Bug 1949048 - unable to unplug vNIC based port-mirroring from running VM
Summary: unable to unplug vNIC based port-mirroring from running VM
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: vdsm
Classification: oVirt
Component: Core
Version: 4.40.60.3
Hardware: Unspecified
OS: Linux
high
urgent
Target Milestone: ovirt-4.4.6
: 4.40.60.4
Assignee: Ales Musil
QA Contact: Guy
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-04-13 10:23 UTC by Guy
Modified: 2021-11-04 19:28 UTC (History)
3 users (show)

Fixed In Version: vdsm-4.40.60.4
Doc Type: No Doc Update
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-05-05 05:36:23 UTC
oVirt Team: Network
Embargoed:
pm-rhel: ovirt-4.4+
pm-rhel: blocker?


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
oVirt gerrit 114249 0 master MERGED net: Skip empty lines when parsing tc output 2021-04-13 14:38:51 UTC

Description Guy 2021-04-13 10:23:25 UTC
Description of problem:

given a running VM with two virtual NICs based on port-mirroring vNIC profile, 
its impossible to unplug them ending in this error in the UI:

Error while executing action Edit VM Interface properties: General Exception

VDSM log shows the following traceback:

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 301, in destroy
    res = self.vm.destroy(gracefulAttempts)
  File "/usr/lib/python3.6/site-packages/vdsm/virt/vm.py", line 5169, in destroy
    result = self.doDestroy(gracefulAttempts, reason)
  File "/usr/lib/python3.6/site-packages/vdsm/virt/vm.py", line 5188, in doDestroy
    return self.releaseVm(gracefulAttempts)
  File "/usr/lib/python3.6/site-packages/vdsm/virt/vm.py", line 5070, in releaseVm
    nic.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 unsetPortMirroring
  File "/usr/lib64/python3.6/multiprocessing/managers.py", line 772, in _callmethod
    raise convert_to_error(kind, result)
vdsm.network.tc._parser.TCParseError: Found 0, expected ('qdisc', 'class', 'filter')


Version-Release number of selected component (if applicable): 

vdsm-4.40.60.3-1.el8ev.x86_64


How reproducible:

always 

Steps to Reproduce:
1. create a network
2. attach network to one of the hosts.
3. start the VM.
4. create a vNIC profile based on port-mirroring for network.
5. create 2 VNICs with the port-mirroring vNIC profile for that VM.
6. try to unplug any of those 2 vNICs.
7. UI gives error: Error while executing action Edit VM Interface properties: General Exception

Actual results:

unable to unplug a vNIC based on port-mirroring.


Expected results:

vNIC is unplugged successfully.

Comment 3 Ales Musil 2021-04-13 12:59:37 UTC
Found the root cause. For some reason tc output format has changed between el8.3 and el8.4. 

It produces only "/n" instead of " /n" for some output lines. 
Patch fixing should be available soon.

Comment 4 RHEL Program Management 2021-04-13 13:04:54 UTC
This bug report has Keywords: Regression or TestBlocker.
Since no regressions or test blockers are allowed between releases, it is also being identified as a blocker for this release. Please resolve ASAP.

Comment 5 Guy 2021-04-20 09:16:24 UTC
Verified in vdsm-4.40.60.4-1.el8ev.x86_64

Comment 6 Sandro Bonazzola 2021-05-05 05:36:23 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.


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