Bug 867806

Summary: Hotplug NIC should fail when an action of enabling port mirroring on the VM fails
Product: Red Hat Enterprise Linux 6 Reporter: GenadiC <gcheresh>
Component: vdsmAssignee: Igor Lvovsky <ilvovsky>
Status: CLOSED ERRATA QA Contact: GenadiC <gcheresh>
Severity: unspecified Docs Contact:
Priority: high    
Version: 6.3CC: abaron, bazulay, danken, iheim, ilvovsky, jbiddle, lpeer, myakove, ykaul
Target Milestone: rcKeywords: ZStream
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard: network
Fixed In Version: vdsm-4.9.6-40.0 Doc Type: Bug Fix
Doc Text:
Previously, if the "port mirroring enable" action on a virtual machine failed, it remained configured in the VDSM. This patch corrects the error so that if enabling port mirroring fails it is properly reflected in the VDSM.
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-12-04 19:12:57 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description GenadiC 2012-10-18 10:27:32 UTC
Description of problem:
If an action of "port mirroring enable" on VM fails for some reason, it is still configured on VDSM

How reproducible:
Always

Steps to Reproduce:
1. Install RHEVH with 20121005.0.rhev31.el6_3 version (in this version you couldn't enable port mirroring because of the BZ 867387)
2. Try to enable port mirroring
3. 
  
Actual results:
Action fails, but vdsClient 0 list shows you VM with port mirroring enabled 

Expected results:
vdsm shouldn't enable port mirroring as an action fails

Additional info:

vdsClient -s 0 list                                                                                                                                                       

51037cbc-7c54-4b21-9243-f085404a7f53
        Status = Up                 
        acpiEnable = true           
        emulatedMachine = rhel6.3.0
        timeOffset = -43200
        displaySecurePort = 5901
        spiceSslCipherSuite = DEFAULT
        cpuType = Conroe
        smp = 1
        pauseCode = NOERR
        custom = {}
        vmType = kvm
        memSize = 1024
        smpCoresPerSocket = 1
        vmName = RH
        nice = 0
        pid = 21514
        displayIp = 0
        displayPort = 5900
        spiceSecureChannels = smain,sinputs,scursor,splayback,srecord,sdisplay,susbredir,ssmartcard
        nicModel = rtl8139,pv
        keyboardLayout = en-us
        kvmEnable = true
        transparentHugePages = true
        devices = [{'specParams': {'vram': '65536'}, 'alias': 'video0', 'deviceId': '451765c4-715b-47bf-a647-a4d5d97ffad5', 'address': {'slot': '0x02', 'bus': '0x00', 'domain': '0x0000', 'type': 'pci', 'function': '0x0'}, 'device': 'qxl', 'type': 'video'}, {'nicModel': 'pv', 'macAddr': '00:1a:4a:23:46:c0', 'network': 'rhevm', 'alias': 'net1', 'filter': 'vdsm-no-mac-spoofing', 'specParams': {}, 'deviceId': '262c2816-d16b-4c87-be59-226220b295c9', 'address': {'slot': '0x04', 'bus': '0x00', 'domain': '0x0000', 'type': 'pci', 'function': '0x0'}, 'device': 'bridge', 'type': 'interface'}, {'specParams': {'model': 'virtio'}, 'alias': 'balloon0', 'deviceId': 'ea15edba-fad1-4220-945a-fd874dda22d7', 'address': {'slot': '0x08', 'bus': '0x00', 'domain': '0x0000', 'type': 'pci', 'function': '0x0'}, 'device': 'memballoon', 'type': 'balloon'}, {'index': '2', 'iface': 'ide', 'name': 'hdc', 'alias': 'ide0-1-0', 'shared': 'false', 'specParams': {'path': ''}, 'readonly': 'True', 'deviceId': '62f72104-98f4-4217-9f1e-e73c1382d74d', 'address': {'bus': '1', 'controller': '0', 'type': 'drive', 'target': '0', 'unit': '0'}, 'device': 'cdrom', 'path': '', 'type': 'disk'}, {'address': {'slot': '0x06', 'bus': '0x00', 'domain': '0x0000', 'type': 'pci', 'function': '0x0'}, 'needExtend': False, 'index': 0, 'iface': 'virtio', 'apparentsize': '21474836480', 'specParams': {}, 'imageID': '056f69e2-3e40-4da3-b212-dfd590c1aa4e', 'readonly': 'False', 'shared': 'false', 'truesize': '1773629440', 'type': 'disk', 'domainID': '5332bfbf-da83-4398-a8d3-256c78b7fc51', 'reqsize': '0', 'format': 'raw', 'deviceId': '056f69e2-3e40-4da3-b212-dfd590c1aa4e', 'poolID': 'c9e9b491-7784-4ff7-94e2-462efd7f79c2', 'device': 'disk', 'path': '/rhev/data-center/c9e9b491-7784-4ff7-94e2-462efd7f79c2/5332bfbf-da83-4398-a8d3-256c78b7fc51/images/056f69e2-3e40-4da3-b212-dfd590c1aa4e/8c5e4354-678c-4d9c-97f7-df5c9655e2db', 'propagateErrors': 'off', 'optional': 'false', 'name': 'vda', 'bootOrder': '1', 'volumeID': '8c5e4354-678c-4d9c-97f7-df5c9655e2db', 'alias': 'virtio-disk0', 'volumeChain': [{'path': '/rhev/data-center/c9e9b491-7784-4ff7-94e2-462efd7f79c2/5332bfbf-da83-4398-a8d3-256c78b7fc51/images/056f69e2-3e40-4da3-b212-dfd590c1aa4e/8c5e4354-678c-4d9c-97f7-df5c9655e2db', 'domainID': '5332bfbf-da83-4398-a8d3-256c78b7fc51', 'volumeID': '8c5e4354-678c-4d9c-97f7-df5c9655e2db', 'imageID': '056f69e2-3e40-4da3-b212-dfd590c1aa4e'}]}, {'device': 'usb', 'alias': 'usb0', 'type': 'controller', 'address': {'slot': '0x01', 'bus': '0x00', 'domain': '0x0000', 'type': 'pci', 'function': '0x2'}}, {'device': 'ide', 'alias': 'ide0', 'type': 'controller', 'address': {'slot': '0x01', 'bus': '0x00', 'domain': '0x0000', 'type': 'pci', 'function': '0x1'}}, {'device': 'virtio-serial', 'alias': 'virtio-serial0', 'type': 'controller', 'address': {'slot': '0x05', 'bus': '0x00', 'domain': '0x0000', 'type': 'pci', 'function': '0x0'}}, {'device': 'unix', 'alias': 'channel0', 'type': 'channel', 'address': {'bus': '0', 'controller': '0', 'type': 'virtio-serial', 'port': '1'}}, {'device': 'unix', 'alias': 'channel1', 'type': 'channel', 'address': {'bus': '0', 'controller': '0', 'type': 'virtio-serial', 'port': '2'}}, {'device': 'spicevmc', 'alias': 'channel2', 'type': 'channel', 'address': {'bus': '0', 'controller': '0', 'type': 'virtio-serial', 'port': '3'}}, {'nicModel': 'pv', 'macAddr': '00:1a:4a:23:46:17', 'network': 'VM_NET30_VLAN0', 'alias': 'net3', 'filter': 'vdsm-no-mac-spoofing', 'specParams': {}, 'deviceId': '075035b9-ee6f-45fd-b145-343e762c9d16', 'address': {'slot': '0x09', 'bus': '0x00', 'domain': '0x0000', 'type': 'pci', 'function': '0x0'}, 'device': 'bridge', 'type': 'interface', 'portMirroring': ['VM_NET30_VLAN0']}, {'nicModel': 'pv', 'macAddr': '00:1a:4a:23:46:18', 'network': 'rhevm', 'alias': 'net5', 'filter': 'vdsm-no-mac-spoofing', 'specParams': {}, 'deviceId': 'e8c473ed-7732-4722-9f2a-37665a6e5ba6', 'address': {'slot': '0x0b', 'bus': '0x00', 'domain': '0x0000', 'type': 'pci', 'function': '0x0'}, 'device': 'bridge', 'type': 'interface', 'portMirroring': ['rhevm']}]

Comment 2 Dan Kenigsberg 2012-10-19 20:26:00 UTC
(In reply to comment #0)

> 2. Try to enable port mirroring

how do you do that? by starting a fresh vm with a target nic, or by hot-plugging?

(verification of this bug should be done for both means, btw)

Comment 3 GenadiC 2012-10-21 07:16:53 UTC
In the specific scenario, that the logs are attached for I was using hotplug with port mirroring

Comment 4 Meni Yakove 2012-10-23 12:59:44 UTC
When an action of hotplug fails because of port mirroring failure the engine report the hotplug is failed but on the host and also on the VM the new nic created.
When trying to start VM with port mirroring enable and if set port mirroring fails the VM will not start. 

Steps to Reproduce: (On rhel host)
1. mv /sbin/tc /sbin/tc.bak
2. Create VM and start it.
3. Add hotplug nic with port mirroring enabled.


Actual results:
Hotplug fail on backend but VDSM add the nic to the VM. 

Expected results:
Hotplug should fail.

Comment 5 Igor Lvovsky 2012-10-23 13:21:44 UTC
http://gerrit.ovirt.org/#/c/8742

Comment 7 GenadiC 2012-11-12 10:16:37 UTC
Verified in SI24

Comment 9 errata-xmlrpc 2012-12-04 19:12:57 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.

http://rhn.redhat.com/errata/RHSA-2012-1508.html