Bug 1147458 - JSONRPC | hotplug/hotunplug NIC to VM fail
Summary: JSONRPC | hotplug/hotunplug NIC to VM fail
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Enterprise Virtualization Manager
Classification: Red Hat
Component: vdsm
Version: 3.5.0
Hardware: Unspecified
OS: Unspecified
unspecified
urgent
Target Milestone: ---
: 3.5.0
Assignee: Barak
QA Contact: Martin Pavlik
URL:
Whiteboard: network
: 1147505 (view as bug list)
Depends On:
Blocks: rhev35betablocker rhev35rcblocker rhev35gablocker
TreeView+ depends on / blocked
 
Reported: 2014-09-29 09:42 UTC by Meni Yakove
Modified: 2016-02-10 19:49 UTC (History)
13 users (show)

Fixed In Version: v4.16.6
Doc Type: Bug Fix
Doc Text:
Cause: There was a typo in the JSONRPC mapping for vNIC plugging. Consequence: The call to hotunplug would fail. Fix: Use the proper internal api call. Result: Normal operation when under JSONRPC.
Clone Of:
Environment:
Last Closed: 2015-02-16 13:39:26 UTC
oVirt Team: Network
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
engine and vdsm logs (1.16 MB, application/zip)
2014-09-29 09:42 UTC, Meni Yakove
no flags Details


Links
System ID Private Priority Status Summary Last Updated
oVirt gerrit 33484 0 master MERGED jsonrpc: hotunplug spelling issue Never
oVirt gerrit 33532 0 ovirt-3.5 MERGED jsonrpc: hotunplug spelling issue Never

Description Meni Yakove 2014-09-29 09:42:30 UTC
Created attachment 942245 [details]
engine and vdsm logs

Description of problem:
hotplug/hotunplug NIC to VM fail with error:

Thread-9547::DEBUG::2014-09-28 13:56:17,249::vm::3684::vm.Vm::(hotunplugNic) vmId=`55b9e89a-d5b8-4984-8ab7-72009aba9edb`::Hotunplug NIC xml: <interface type="bridge">
        <address bus="0x00" domain="0x0000" function="0x0" slot="0x09" type="pci"/>
        <mac address="00:1a:4a:16:88:52"/>
        <model type="virtio"/>
        <source bridge="sw163"/>
        <filterref filter="vdsm-no-mac-spoofing"/>
        <link state="up"/>
        <bandwidth/>
</interface>

GuestMonitor-Global_vm_1::DEBUG::2014-09-28 13:56:17,293::vm::486::vm.Vm::(_getUserCpuTuneInfo) vmId=`8e64da17-1d6b-460f-bd35-5710eb0160a2`::Domain Metadata is not set
GuestMonitor-Global_vm_1::DEBUG::2014-09-28 13:56:17,294::vm::486::vm.Vm::(_getUserCpuTuneInfo) vmId=`8e64da17-1d6b-460f-bd35-5710eb0160a2`::Domain Metadata is not set
GuestMonitor-Global_vm_1::DEBUG::2014-09-28 13:56:17,295::vm::486::vm.Vm::(_getUserCpuTuneInfo) vmId=`8e64da17-1d6b-460f-bd35-5710eb0160a2`::Domain Metadata is not set
Thread-9547::ERROR::2014-09-28 13:56:17,530::__init__::491::jsonrpc.JsonRpcServer::(_serveRequest) Internal server error
Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/yajsonrpc/__init__.py", line 486, in _serveRequest
    res = method(**params)
  File "/usr/share/vdsm/rpc/Bridge.py", line 286, in _dynamicMethod
    ret = retfield(result)
  File "/usr/share/vdsm/rpc/Bridge.py", line 236, in _fixupRet
    continue
  File "/usr/share/vdsm/rpc/Bridge.py", line 216, in _typeFixup
    logging.warn("Fixing up type %s", symTypeName)
TypeError: argument of type 'NoneType' is not iterable 

Version-Release number of selected component (if applicable):
vdsm-4.16.5-2.el6ev.x86_64

How reproducible:
100%

Steps to Reproduce:
1. hotplug/hotunplug NIC to/from VM


Actual results:
hotplug/hotunplug NIC fail


Additional info:
When running with XML-RPC I don't have this issue

Comment 2 Piotr Kliczewski 2014-09-29 12:54:13 UTC
It looks like ret value of hotunplugNic us None.

Comment 3 Oved Ourfali 2014-09-30 05:42:18 UTC
Antoni - does that require an additional fix, or can we move that to POST?
Thanks

Comment 4 Oved Ourfali 2014-09-30 05:56:12 UTC
*** Bug 1147505 has been marked as a duplicate of this bug. ***

Comment 5 Dan Kenigsberg 2014-09-30 08:15:12 UTC
Piotr's patch only converts the TypeError to a hand-crafted exception. It does not solve the underlying problem (how come does hotunplug return None for vmList), which is still being researched.

Comment 6 Martin Pavlik 2014-10-07 14:55:30 UTC
works in vt5 (vdsm-4.16.6-1.el6ev.x86_64)

hot plug/unplug with JSON enabled is fine


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