Bug 1002300

Summary: UpdateVmDevice doesn't update the network bandwidth of the vnic
Product: Red Hat Enterprise Virtualization Manager Reporter: Moti Asayag <masayag>
Component: vdsmAssignee: Dan Kenigsberg <danken>
Status: CLOSED ERRATA QA Contact: Martin Pavlik <mpavlik>
Severity: medium Docs Contact:
Priority: high    
Version: 3.3.0CC: acathrow, bazulay, danken, eedri, gklein, iheim, knesenko, lpeer, yeylon
Target Milestone: ---   
Target Release: 3.3.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: network
Fixed In Version: is20 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-01-21 16:14:26 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:
Bug Depends On: 1014198    
Bug Blocks: 1026487    
Attachments:
Description Flags
downstream-only patch that fixed the issue. none

Description Moti Asayag 2013-08-28 20:34:42 UTC
Description of problem:
When vdsm receives a requestion for updating a vnic device (either on the same network or by rewiring the nic to a new network)

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


How reproducible:
100%

Steps to Reproduce:
1. From ovirt-engine webadmin, edit vm network interface and replaces its current profile to other profile which has different network qos settings (either vnic profile on the same network or on other network)

Actual results:
The previous network qos definition remains for the vnic

Expected results:
The network qos of the vnic should be updated accordingly to the new configuration.

Additional info:
Here is a part of the vdsm.log which shows the received parameters aren't being used for creating the libvirt dom element of the vnic device:

Thread-4299::DEBUG::2013-08-28 18:46:42,161::BindingXMLRPC::974::vds::(wrapper) client [10.35.7.221]::call vmUpdateDevice with ('1170b2f9-6046-4d03-ab46-9e39e0606706', {'linkActive': 'true'
, 'network': 'vlan100', 'specParams': {'inbound': {'average': '128', 'peak': '128', 'burst': '1024'}, 'outbound': {'average': '128', 'peak': '128', 'burst': '1024'}}, 'custom': {}, 'alias':
 'net0', 'deviceType': 'interface'}) {}
Thread-4299::DEBUG::2013-08-28 18:46:42,207::vm::3098::vm.Vm::(setLinkAndNetwork) vmId=`1170b2f9-6046-4d03-ab46-9e39e0606706`::Nic has been updated:
 <interface type="bridge">
        <address bus="0x00" domain="0x0000" function="0x0" slot="0x03" type="pci"/>
        <mac address="00:1a:4a:c2:64:7c"/>
        <model type="e1000"/>
        <source bridge="vlan100"/>
        <filterref filter="vdsm-no-mac-spoofing"/>
        <link state="up"/>
        <bandwidth>
                <inbound average="128000" burst="102400" peak="128000"/>
                <outbound average="1280" burst="102400" peak="1280"/>
        </bandwidth>
</interface>

Comment 2 Dan Kenigsberg 2013-09-15 22:01:43 UTC
vm.Vm.setLinkAndNetwork() creates a devxml from the device's old conf, patching it up with changed bits and pieces[*], and then passes it to libvirt. If libvirt-side updated has succeeded, the device and its conf are updated in vdsm memory.

Essentially, the stage marked by [*] above is a partial re-write of dev.getXML, that misses changes to QoS.

Comment 3 Eyal Edri 2013-10-23 11:36:36 UTC
Created attachment 815340 [details]
downstream-only patch that fixed the issue.

Comment 5 Martin Pavlik 2013-10-29 10:53:10 UTC
works in is20, change in QoS is applied properly on running VM

Comment 7 Charlie 2013-11-28 00:27:13 UTC
This bug is currently attached to errata RHBA-2013:15291. If this change is not to be documented in the text for this errata please either remove it from the errata, set the requires_doc_text flag to 
minus (-), or leave a "Doc Text" value of "--no tech note required" if you do not have permission to alter the flag.

Otherwise to aid in the development of relevant and accurate release documentation, please fill out the "Doc Text" field above with these four (4) pieces of information:

* Cause: What actions or circumstances cause this bug to present.
* Consequence: What happens when the bug presents.
* Fix: What was done to fix the bug.
* Result: What now happens when the actions or circumstances above occur. (NB: this is not the same as 'the bug doesn't present anymore')

Once filled out, please set the "Doc Type" field to the appropriate value for the type of change made and submit your edits to the bug.

For further details on the Cause, Consequence, Fix, Result format please refer to:

https://bugzilla.redhat.com/page.cgi?id=fields.html#cf_release_notes 

Thanks in advance.

Comment 8 Dan Kenigsberg 2013-12-02 17:38:00 UTC
This bug has popped during the devel cycle for rhev-3.3. No need to document separately from the vNIC QoS feature (aka vNIC profiles).

Comment 9 errata-xmlrpc 2014-01-21 16:14:26 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/RHBA-2014-0040.html