Exception in neutron port-list with simultaneous VM delete
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Juniper Openstack | Status tracked in Trunk | |||||
R2.0 |
Fix Committed
|
High
|
Prakash Bailkeri | |||
R2.1 |
Fix Committed
|
High
|
Prakash Bailkeri | |||
Trunk |
Fix Committed
|
High
|
Prakash Bailkeri |
Bug Description
Exception in seen in nova while executing neutron port-list after VM delete.
127.0.0.1 - - [2015-03-18 09:24:35] "DELETE /virtual-
192.168.0.101 - - [2015-03-18 09:24:35] "POST /neutron/port HTTP/1.1" 200 115 0.066042
192.168.0.101 - - [2015-03-18 09:24:35] "GET /virtual-
192.168.0.101 - - [2015-03-18 09:24:35] "GET /virtual-
192.168.0.101 - - [2015-03-18 09:24:35] "GET /virtual-
127.0.0.1 - - [2015-03-18 09:24:35] "GET /logical-
<class 'cfgm_common.
Python 2.7.3: /usr/bin/python
Wed Mar 18 09:24:35 2015
A problem occurred in a Python script. Here is the sequence of
function calls leading up to the error, in the order they occurred.
/usr/lib/
433 try:
434 cfgdb = self._get_
435 ports_info = cfgdb.port_
436 return json.dumps(
437 except Exception as e:
ports_info undefined
cfgdb = <vnc_openstack.
cfgdb.port_list = <bound method DBInterface.
context = {u'is_admin': True, u'operation': u'READALL', u'roles': [u'admin'], u'tenant': u'a929311426664
filters = {u'device_id': [u'9516c312-
/usr/lib/
3659 # port has a back_ref to LR, so need to read in LRs based on device id
3660 device_ids = filters[
3661 router_objs = self._logical_
3662 more_ports = []
3663 for router_obj in router_objs:
router_objs undefined
self = <vnc_openstack.
self._logical_
obj_uuids undefined
device_ids = [u'9516c312-
/usr/lib/
543 obj_uuids=
544 detail=True,
545 fields=fields)
546 return rtr_obj
547 #end _logical_
fields = None
/usr/lib/
6824 content = self._request_
6825 vnc_api.
6826 data = query_params)
6827
6828 if not detail:
data undefined
query_params = {'count': False, 'detail': True, 'obj_uuids': u'9516c312-
/usr/lib/
361 return self._request(op, url, data=data, retry_on_
362 retry_after_
363 retry_count=
364
365 def _request(self, op, url, data=None, retry_on_
retry_count = 30
/usr/lib/
402 elif status == 404:
403 raise NoIdError('Error: oper %s url %s body %s response %s'
404 % (op, url, data, content))
405 elif status == 403:
406 raise PermissionDenie
op = 2
url = u'/logical-routers'
data = {'count': False, 'detail': True, 'obj_uuids': u'9516c312-
content = u'Unknown id: 9516c312-
<class 'cfgm_common.
__class__ = <class 'cfgm_common.
__delattr__ = <method-wrapper '__delattr__' of NoIdError object>
__dict__ = {'_unknown_id': u"Error: oper 2 url /logical-routers body {'coun...Unknown id: 9516c312-
__doc__ = None
__format__ = <built-in method __format__ of NoIdError object>
__getattrib
__getitem__ = <method-wrapper '__getitem__' of NoIdError object>
__getslice__ = <method-wrapper '__getslice__' of NoIdError object>
__hash__ = <method-wrapper '__hash__' of NoIdError object>
__init__ = <bound method NoIdError.__init__ of NoIdError()>
__module__ = 'cfgm_common.
__new__ = <built-in method __new__ of type object>
__reduce__ = <built-in method __reduce__ of NoIdError object>
__reduce_ex__ = <built-in method __reduce_ex__ of NoIdError object>
__repr__ = <method-wrapper '__repr__' of NoIdError object>
__setattr__ = <method-wrapper '__setattr__' of NoIdError object>
__setstate__ = <built-in method __setstate__ of NoIdError object>
__sizeof__ = <built-in method __sizeof__ of NoIdError object>
__str__ = <bound method NoIdError.__str__ of NoIdError()>
__subclassh
__unicode__ = <built-in method __unicode__ of NoIdError object>
__weakref__ = None
_unknown_id = u"Error: oper 2 url /logical-routers body {'coun...Unknown id: 9516c312-
args = ()
message = ''
The above is a description of an error in a Python program. Here is
the original traceback:
Traceback (most recent call last):
File "/usr/lib/
ports_info = cfgdb.port_
File "/usr/lib/
router_objs = self._logical_
File "/usr/lib/
fields=fields)
File "/usr/lib/
data = query_params)
File "/usr/lib/
retry_
File "/usr/lib/
% (op, url, data, content))
NoIdError: Unknown id: Error: oper 2 url /logical-routers body {'count': False, 'obj_uuids': u'9516c312-
Traceback (most recent call last):
File "/usr/lib/
return route.call(**args)
File "/usr/lib/
rv = callback(*a, **ka)
File "/usr/lib/
rv = callback(*a, **ka)
File "/usr/lib/
return self.plugin_
File "/usr/lib/
raise e
NoIdError: Unknown id: Error: oper 2 url /logical-routers body {'count': False, 'obj_uuids': u'9516c312-
neutron/server.log
===============
2015-03-18 09:24:35.908 ERROR [neutron.
Traceback (most recent call last):
File "/usr/lib/
result = method(
File "/usr/lib/
return self._items(
File "/usr/lib/
obj_list = obj_getter(
File "/usr/lib/
for p in self._list_
File "/usr/lib/
fields=fields, obj_name=res_type)
File "/usr/lib/
self.
File "/usr/lib/
raise exc.NeutronExce
NeutronException: An unknown exception occurred.
nova/nova-api.log
==============
2015-03-18 09:24:30.829 6525 INFO nova.osapi_
2015-03-18 09:24:35.911 6525 ERROR nova.api.openstack [req-afdbfca5-
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack Traceback (most recent call last):
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack File "/usr/lib/
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack return req.get_
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack File "/usr/local/
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack application, catch_exc_
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack File "/usr/local/
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack app_iter = application(
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack File "/usr/local/
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack return resp(environ, start_response)
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack File "/usr/lib/
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack return self.app(env, start_response)
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack File "/usr/local/
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack return resp(environ, start_response)
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack File "/usr/local/
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack return resp(environ, start_response)
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack File "/usr/lib/
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack response = self.app(environ, start_response)
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack File "/usr/local/
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack return resp(environ, start_response)
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack File "/usr/local/
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack resp = self.call_func(req, *args, **self.kwargs)
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack File "/usr/local/
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack return self.func(req, *args, **kwargs)
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack File "/usr/lib/
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack content_type, body, accept)
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack File "/usr/lib/
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack request, action_args)
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack File "/usr/lib/
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack **action_args)
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack File "/usr/lib/
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack self._extend_
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack File "/usr/lib/
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack servers[0]['id']))
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack File "/usr/lib/
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack ports = neutron.
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack File "/usr/lib/
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack ret = self.function(
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack File "/usr/lib/
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack **_params)
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack File "/usr/lib/
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack for r in self._paginatio
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack File "/usr/lib/
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack res = self.get(path, params=params)
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack File "/usr/lib/
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack headers=headers, params=params)
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack File "/usr/lib/
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack headers=headers, params=params)
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack File "/usr/lib/
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack self._handle_
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack File "/usr/lib/
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack exception_
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack File "/usr/lib/
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack message=msg)
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack NeutronClientEx
2015-03-18 09:24:35.911 6525 TRACE nova.api.openstack
2015-03-18 09:24:35.917 6525 INFO nova.api.openstack [req-afdbfca5-
2015-03-18 09:24:35.919 6525 INFO nova.osapi_
no longer affects: | ubuntu |
Review in progress for https:/ /review. opencontrail. org/8479
Submitter: Prakash Bailkeri (<email address hidden>)