Public bug reported:

when passing an empty dict body {} to add_router_interface[1], internal server 
will be raised.
There is argument check in the cli which checks either subnet or port id is 
needed, but not in the server side.


2017-03-19 16:20:04.416 ERROR neutron.api.v2.resource 
[req-1aa5a367-a153-4634-8075-704f8ef9cfaf demo admin] add_router_interface 
failed: No details.
2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource Traceback (most recent 
call last):
2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource   File 
"/opt/stack/neutron/neutron/api/v2/resource.py", line 79, in resource
2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource     result = 
method(request=request, **args)
2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource   File 
"/opt/stack/neutron/neutron/db/api.py", line 92, in wrapped
2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource     setattr(e, 
'_RETRY_EXCEEDED', True)
2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource   File 
"/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in 
__exit__
2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource     self.force_reraise()
2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource   File 
"/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in 
force_reraise
2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource     
six.reraise(self.type_, self.value, self.tb)
2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource   File 
"/opt/stack/neutron/neutron/db/api.py", line 88, in wrapped
2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource     return f(*args, 
**kwargs)
2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource   File 
"/usr/local/lib/python2.7/dist-packages/oslo_db/api.py", line 151, in wrapper
2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource     ectxt.value = 
e.inner_exc
2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource   File 
"/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in 
__exit__
2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource     self.force_reraise()
2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource   File 
"/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in 
force_reraise
2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource     
six.reraise(self.type_, self.value, self.tb)
2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource   File 
"/usr/local/lib/python2.7/dist-packages/oslo_db/api.py", line 139, in wrapper
2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource     return f(*args, 
**kwargs)
2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource   File 
"/opt/stack/neutron/neutron/db/api.py", line 128, in wrapped
2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource     
traceback.format_exc())
2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource   File 
"/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in 
__exit__
2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource     self.force_reraise()
2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource   File 
"/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in 
force_reraise
2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource     
six.reraise(self.type_, self.value, self.tb)
2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource   File 
"/opt/stack/neutron/neutron/db/api.py", line 123, in wrapped
2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource     return f(*dup_args, 
**dup_kwargs)
2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource   File 
"/opt/stack/neutron/neutron/api/v2/base.py", line 258, in _handle_action
2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource     ret_value = 
getattr(self._plugin, name)(*arg_list, **kwargs)
2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource TypeError: 
add_router_interface() takes exactly 4 arguments (3 given)
2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource
2017-03-19 16:20:04.426 INFO neutron.wsgi 
[req-1aa5a367-a153-4634-8075-704f8ef9cfaf demo admin] 172.16.46.129 - - 
[19/Mar/2017 16:20:04] "PUT 
/v2.0/routers/d68763bd-6a93-4262-9e50-b9da7e4256f8/add_router_interface.json 
HTTP/1.1" 500 368 0.097819

[1]: https://developer.openstack.org/api-ref/networking/v2/?expanded
=add-interface-to-router-detail

** Affects: neutron
     Importance: Undecided
     Assignee: Liyingjun (liyingjun)
         Status: New

** Changed in: neutron
     Assignee: (unassigned) => Liyingjun (liyingjun)

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1674069

Title:
  TypeError: add_router_interface() takes exactly 4 arguments (3 given)

Status in neutron:
  New

Bug description:
  when passing an empty dict body {} to add_router_interface[1], internal 
server will be raised.
  There is argument check in the cli which checks either subnet or port id is 
needed, but not in the server side.

  
  2017-03-19 16:20:04.416 ERROR neutron.api.v2.resource 
[req-1aa5a367-a153-4634-8075-704f8ef9cfaf demo admin] add_router_interface 
failed: No details.
  2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource Traceback (most recent 
call last):
  2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource   File 
"/opt/stack/neutron/neutron/api/v2/resource.py", line 79, in resource
  2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource     result = 
method(request=request, **args)
  2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource   File 
"/opt/stack/neutron/neutron/db/api.py", line 92, in wrapped
  2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource     setattr(e, 
'_RETRY_EXCEEDED', True)
  2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource   File 
"/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in 
__exit__
  2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource     self.force_reraise()
  2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource   File 
"/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in 
force_reraise
  2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource     
six.reraise(self.type_, self.value, self.tb)
  2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource   File 
"/opt/stack/neutron/neutron/db/api.py", line 88, in wrapped
  2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource     return f(*args, 
**kwargs)
  2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource   File 
"/usr/local/lib/python2.7/dist-packages/oslo_db/api.py", line 151, in wrapper
  2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource     ectxt.value = 
e.inner_exc
  2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource   File 
"/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in 
__exit__
  2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource     self.force_reraise()
  2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource   File 
"/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in 
force_reraise
  2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource     
six.reraise(self.type_, self.value, self.tb)
  2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource   File 
"/usr/local/lib/python2.7/dist-packages/oslo_db/api.py", line 139, in wrapper
  2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource     return f(*args, 
**kwargs)
  2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource   File 
"/opt/stack/neutron/neutron/db/api.py", line 128, in wrapped
  2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource     
traceback.format_exc())
  2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource   File 
"/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 220, in 
__exit__
  2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource     self.force_reraise()
  2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource   File 
"/usr/local/lib/python2.7/dist-packages/oslo_utils/excutils.py", line 196, in 
force_reraise
  2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource     
six.reraise(self.type_, self.value, self.tb)
  2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource   File 
"/opt/stack/neutron/neutron/db/api.py", line 123, in wrapped
  2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource     return f(*dup_args, 
**dup_kwargs)
  2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource   File 
"/opt/stack/neutron/neutron/api/v2/base.py", line 258, in _handle_action
  2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource     ret_value = 
getattr(self._plugin, name)(*arg_list, **kwargs)
  2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource TypeError: 
add_router_interface() takes exactly 4 arguments (3 given)
  2017-03-19 16:20:04.416 TRACE neutron.api.v2.resource
  2017-03-19 16:20:04.426 INFO neutron.wsgi 
[req-1aa5a367-a153-4634-8075-704f8ef9cfaf demo admin] 172.16.46.129 - - 
[19/Mar/2017 16:20:04] "PUT 
/v2.0/routers/d68763bd-6a93-4262-9e50-b9da7e4256f8/add_router_interface.json 
HTTP/1.1" 500 368 0.097819

  [1]: https://developer.openstack.org/api-ref/networking/v2/?expanded
  =add-interface-to-router-detail

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1674069/+subscriptions

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : yahoo-eng-team@lists.launchpad.net
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to