Bug 1396996

Summary: Update vNIC profile on running VM failed when try to change the network profile
Product: [oVirt] ovirt-engine Reporter: Ori Ben Sasson <obensass>
Component: BLL.NetworkAssignee: Milan Zamazal <mzamazal>
Status: CLOSED CURRENTRELEASE QA Contact: Meni Yakove <myakove>
Severity: high Docs Contact:
Priority: high    
Version: 4.1.0CC: bugs, danken, mburman, mzamazal
Target Milestone: ovirt-4.1.0-alphaKeywords: Automation, Regression
Target Release: 4.1.0.2Flags: rule-engine: ovirt-4.1+
rule-engine: blocker+
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-02-01 14:44:59 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:
Attachments:
Description Flags
logs none

Description Ori Ben Sasson 2016-11-21 11:05:26 UTC
Created attachment 1222360 [details]
logs

Description of problem:
Update vNIC profile failed when try to change the network profile while VM running.
Look like that the problem started when this patch https://gerrit.ovirt.org/#/c/58190/ merged

2016-11-21 12:28:07,223 ERROR (jsonrpc/7) [jsonrpc.JsonRpcServer] Internal server error (__init__:552)
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/yajsonrpc/__init__.py", line 547, in _handle_request
    res = method(**params)
  File "/usr/lib/python2.7/site-packages/vdsm/rpc/Bridge.py", line 202, in _dynamicMethod
    result = fn(*methodArgs)
  File "/usr/share/vdsm/API.py", line 391, in updateDevice
    return v.updateDevice(params)
  File "/usr/share/vdsm/virt/vm.py", line 2311, in updateDevice
    return self._updateInterfaceDevice(params)
  File "/usr/share/vdsm/virt/vm.py", line 2197, in _updateInterfaceDevice
    custom, specParams):
  File "/usr/lib64/python2.7/contextlib.py", line 17, in __enter__
    return self.gen.next()
  File "/usr/share/vdsm/virt/vm.py", line 2233, in setLinkAndNetwork
    vnicXML.replaceChild(newBandwidth, oldBandwidth)
  File "/usr/share/vdsm/virt/vmxml.py", line 316, in __getattr__
    return getattr(self._elem, name)
AttributeError: 'Element' object has no attribute 'replaceChild

Version-Release number of selected component (if applicable):
ovirt-engine-4.1.0-0.0.master.20161119231317.git06d9054.el7.centos.noarch
vdsm-4.18.999-928.git67d33ec.el7.centos.x86_64

How reproducible:
100

Steps to Reproduce:
1. Run vm.
2. Change the vNIC network to another network.

Actual results:
Failed to update vNIC profile network

Expected results:
vNIC profile network should update as expected

Comment 1 Ori Ben Sasson 2016-11-23 09:40:52 UTC
Hi all,
The fix work, we can now update vNIC profile network.

Comment 2 Michael Burman 2016-12-05 07:00:33 UTC
Tested on - 4.1.0-0.2.master.20161204231323.gite9669ad.el7.centos

Comment 3 Red Hat Bugzilla Rules Engine 2016-12-27 16:39:46 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.