Tempest test test_show_non_existent_security_group_rule can fail at times

Bug #1425898 reported by Vedamurthy Joshi
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Juniper Openstack
Fix Committed
Medium
Prakash Bailkeri
R2.1
Fix Committed
Undecided
Prakash Bailkeri

Bug Description

master branch Single node setup

In this CI tempest run , https://jenkins.opencontrail.org/job/ci-contrail-controller-systest-ubuntu-precise-pangolin-icehouse/3779/console, the test test_show_non_existent_security_group_rule which does a show on a non-existing SG rule failed.

All logs will be in http://10.204.216.51/Docs/bugs/#

2015-02-24 19:56:46 <testcase classname="tempest.api.network.test_security_groups_negative.NegativeSecGroupTest" name="test_show_non_existent_security_group_rule" time="0.131">
2015-02-24 19:56:46 <failure type="testtools.testresult.real._StringException">_StringException: pythonlogging:'': {{{2015-02-24 19:56:41,649 Request (NegativeSecGroupTest:test_show_non_existent_security_group_rule): 500 GET http://192.168.0.81:9696/v2.0/security-group-rules/92dee7a0-3a52-4b39-88a5-ba1fa9a2df09 0.122s}}}
2015-02-24 19:56:46
2015-02-24 19:56:46 Traceback (most recent call last):
2015-02-24 19:56:46 File "/root/tempest/tempest/api/network/test_security_groups_negative.py", line 44, in test_show_non_existent_security_group_rule
2015-02-24 19:56:46 non_exist_id)
2015-02-24 19:56:46 File "/root/tempest/.venv/local/lib/python2.7/site-packages/testtools/testcase.py", line 420, in assertRaises
2015-02-24 19:56:46 self.assertThat(our_callable, matcher)
2015-02-24 19:56:46 File "/root/tempest/.venv/local/lib/python2.7/site-packages/testtools/testcase.py", line 431, in assertThat
2015-02-24 19:56:46 mismatch_error = self._matchHelper(matchee, matcher, message, verbose)
2015-02-24 19:56:46 File "/root/tempest/.venv/local/lib/python2.7/site-packages/testtools/testcase.py", line 481, in _matchHelper
2015-02-24 19:56:46 mismatch = matcher.match(matchee)
2015-02-24 19:56:46 File "/root/tempest/.venv/local/lib/python2.7/site-packages/testtools/matchers/_exception.py", line 108, in match
2015-02-24 19:56:46 mismatch = self.exception_matcher.match(exc_info)
2015-02-24 19:56:46 File "/root/tempest/.venv/local/lib/python2.7/site-packages/testtools/matchers/_higherorder.py", line 62, in match
2015-02-24 19:56:46 mismatch = matcher.match(matchee)
2015-02-24 19:56:46 File "/root/tempest/.venv/local/lib/python2.7/site-packages/testtools/testcase.py", line 412, in match
2015-02-24 19:56:46 reraise(*matchee)
2015-02-24 19:56:46 File "/root/tempest/.venv/local/lib/python2.7/site-packages/testtools/matchers/_exception.py", line 101, in match
2015-02-24 19:56:46 result = matchee()
2015-02-24 19:56:46 File "/root/tempest/.venv/local/lib/python2.7/site-packages/testtools/testcase.py", line 965, in __call__
2015-02-24 19:56:46 return self._callable_object(*self._args, **self._kwargs)
2015-02-24 19:56:46 File "/root/tempest/tempest/services/network/network_client_base.py", line 133, in _show
2015-02-24 19:56:46 resp, body = self.get(uri)
2015-02-24 19:56:46 File "/root/tempest/tempest/services/network/network_client_base.py", line 77, in get
2015-02-24 19:56:46 return self.rest_client.get(uri, headers)
2015-02-24 19:56:46 File "/root/tempest/tempest/common/rest_client.py", line 212, in get
2015-02-24 19:56:46 return self.request('GET', url, extra_headers, headers)
2015-02-24 19:56:46 File "/root/tempest/tempest/common/rest_client.py", line 419, in request
2015-02-24 19:56:46 resp, resp_body)
2015-02-24 19:56:46 File "/root/tempest/tempest/common/rest_client.py", line 515, in _error_checker
2015-02-24 19:56:46 raise exceptions.ServerFault(message)
2015-02-24 19:56:46 ServerFault: Got server fault
2015-02-24 19:56:46 /usr/local/jenkins/slave_scripts/contrail-systest-job.rb:982:in `main'() /usr/local/jenkins/slave_scripts/contrail-systest-job.rb:1009() cat /home/jenkins/workspace/ci-contrail-controller-systest-ubuntu-precise-pangolin-icehouse/result.xml
2015-02-24 19:56:46 Details: An unknown exception occurred.
2015-02-24 19:56:46 Traceback (most recent call last):
2015-02-24 19:56:46 _StringException: Empty attachments:
2015-02-24 19:56:46 stderr
2015-02-24 19:56:46 stdout
2015-02-24 19:56:46
2015-02-24 19:56:46 pythonlogging:'': {{{2015-02-24 19:56:41,649 Request (NegativeSecGroupTest:test_show_non_existent_security_group_rule): 500 GET http://192.168.0.81:9696/v2.0/security-group-rules/92dee7a0-3a52-4b39-88a5-ba1fa9a2df09 0.122s}}}
2015-02-24 19:56:46
2015-02-24 19:56:46 Traceback (most recent call last):
2015-02-24 19:56:46 File "/root/tempest/tempest/api/network/test_security_groups_negative.py", line 44, in test_show_non_existent_security_group_rule
2015-02-24 19:56:46 non_exist_id)
2015-02-24 19:56:46 File "/root/tempest/.venv/local/lib/python2.7/site-packages/testtools/testcase.py", line 420, in assertRaises
2015-02-24 19:56:46 self.assertThat(our_callable, matcher)
2015-02-24 19:56:46 File "/root/tempest/.venv/local/lib/python2.7/site-packages/testtools/testcase.py", line 431, in assertThat
2015-02-24 19:56:46 mismatch_error = self._matchHelper(matchee, matcher, message, verbose)
2015-02-24 19:56:46 File "/root/tempest/.venv/local/lib/python2.7/site-packages/testtools/testcase.py", line 481, in _matchHelper
2015-02-24 19:56:46 mismatch = matcher.match(matchee)
2015-02-24 19:56:46 File "/root/tempest/.venv/local/lib/python2.7/site-packages/testtools/matchers/_exception.py", line 108, in match
2015-02-24 19:56:46 mismatch = self.exception_matcher.match(exc_info)
2015-02-24 19:56:46 File "/root/tempest/.venv/local/lib/python2.7/site-packages/testtools/matchers/_higherorder.py", line 62, in match
2015-02-24 19:56:46 mismatch = matcher.match(matchee)
2015-02-24 19:56:46 File "/root/tempest/.venv/local/lib/python2.7/site-packages/testtools/testcase.py", line 412, in match
2015-02-24 19:56:46 reraise(*matchee)
2015-02-24 19:56:46 File "/root/tempest/.venv/local/lib/python2.7/site-packages/testtools/matchers/_exception.py", line 101, in match
2015-02-24 19:56:46 result = matchee()
2015-02-24 19:56:46 File "/root/tempest/.venv/local/lib/python2.7/site-packages/testtools/testcase.py", line 965, in __call__
2015-02-24 19:56:46 return self._callable_object(*self._args, **self._kwargs)
2015-02-24 19:56:46 File "/root/tempest/tempest/services/network/network_client_base.py", line 133, in _show
2015-02-24 19:56:46 resp, body = self.get(uri)
2015-02-24 19:56:46 File "/root/tempest/tempest/services/network/network_client_base.py", line 77, in get
2015-02-24 19:56:46 return self.rest_client.get(uri, headers)
2015-02-24 19:56:46 File "/root/tempest/tempest/common/rest_client.py", line 212, in get
2015-02-24 19:56:46 return self.request('GET', url, extra_headers, headers)
2015-02-24 19:56:46 File "/root/tempest/tempest/common/rest_client.py", line 419, in request
2015-02-24 19:56:46 resp, resp_body)
2015-02-24 19:56:46 File "/root/tempest/tempest/common/rest_client.py", line 515, in _error_checker
2015-02-24 19:56:46 raise exceptions.ServerFault(message)
2015-02-24 19:56:46 ServerFault: Got server fault
2015-02-24 19:56:46 Details: An unknown exception occurred.
2015-02-24 19:56:46
2015-02-24 19:56:46 Traceback (most recent call last):
2015-02-24 19:56:46 _StringException: Empty attachments:
2015-02-24 19:56:46 stderr
2015-02-24 19:56:46 stdout
2015-02-24 19:56:46
2015-02-24 19:56:46 pythonlogging:'': {{{2015-02-24 19:56:41,649 Request (NegativeSecGroupTest:test_show_non_existent_security_group_rule): 500 GET http://192.168.0.81:9696/v2.0/security-group-rules/92dee7a0-3a52-4b39-88a5-ba1fa9a2df09 0.122s}}}
2015-02-24 19:56:46
2015-02-24 19:56:46 Traceback (most recent call last):
2015-02-24 19:56:46 File "/root/tempest/tempest/api/network/test_security_groups_negative.py", line 44, in test_show_non_existent_security_group_rule
2015-02-24 19:56:46 non_exist_id)
2015-02-24 19:56:46 File "/root/tempest/.venv/local/lib/python2.7/site-packages/testtools/testcase.py", line 420, in assertRaises
2015-02-24 19:56:46 self.assertThat(our_callable, matcher)
2015-02-24 19:56:46 File "/root/tempest/.venv/local/lib/python2.7/site-packages/testtools/testcase.py", line 431, in assertThat
2015-02-24 19:56:46 mismatch_error = self._matchHelper(matchee, matcher, message, verbose)
2015-02-24 19:56:46 File "/root/tempest/.venv/local/lib/python2.7/site-packages/testtools/testcase.py", line 481, in _matchHelper
2015-02-24 19:56:46 mismatch = matcher.match(matchee)
2015-02-24 19:56:46 File "/root/tempest/.venv/local/lib/python2.7/site-packages/testtools/matchers/_exception.py", line 108, in match
2015-02-24 19:56:46 mismatch = self.exception_matcher.match(exc_info)
2015-02-24 19:56:46 File "/root/tempest/.venv/local/lib/python2.7/site-packages/testtools/matchers/_higherorder.py", line 62, in match
2015-02-24 19:56:46 mismatch = matcher.match(matchee)
2015-02-24 19:56:46 File "/root/tempest/.venv/local/lib/python2.7/site-packages/testtools/testcase.py", line 412, in match
2015-02-24 19:56:46 reraise(*matchee)
2015-02-24 19:56:46 File "/root/tempest/.venv/local/lib/python2.7/site-packages/testtools/matchers/_exception.py", line 101, in match
2015-02-24 19:56:46 result = matchee()
2015-02-24 19:56:46 File "/root/tempest/.venv/local/lib/python2.7/site-packages/testtools/testcase.py", line 965, in __call__
2015-02-24 19:56:46 return self._callable_object(*self._args, **self._kwargs)
2015-02-24 19:56:46 File "/root/tempest/tempest/services/network/network_client_base.py", line 133, in _show
2015-02-24 19:56:46 resp, body = self.get(uri)
2015-02-24 19:56:46 File "/root/tempest/tempest/services/network/network_client_base.py", line 77, in get
2015-02-24 19:56:46 return self.rest_client.get(uri, headers)
2015-02-24 19:56:46 File "/root/tempest/tempest/common/rest_client.py", line 212, in get
2015-02-24 19:56:46 return self.request('GET', url, extra_headers, headers)
2015-02-24 19:56:46 File "/root/tempest/tempest/common/rest_client.py", line 419, in request
2015-02-24 19:56:46 resp, resp_body)
2015-02-24 19:56:46 File "/root/tempest/tempest/common/rest_client.py", line 515, in _error_checker
2015-02-24 19:56:46 raise exceptions.ServerFault(message)
2015-02-24 19:56:46 ServerFault: Got server fault
2015-02-24 19:56:46 Details: An unknown exception occurred.
2015-02-24 19:56:46
2015-02-24 19:56:46 </failure>
2015-02-24 19:56:46 </testcase>

neutron/server.log :
==================
2015-02-24 19:56:41.646 ERROR [neutron.api.v2.resource] show failed
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/neutron/api/v2/resource.py", line 87, in resource
    result = method(request=request, **args)
  File "/usr/lib/python2.7/dist-packages/neutron/api/v2/base.py", line 304, in show
    parent_id=parent_id),
  File "/usr/lib/python2.7/dist-packages/neutron/api/v2/base.py", line 267, in _item
    obj = obj_getter(request.context, id, **kwargs)
  File "/usr/lib/python2.7/dist-packages/neutron_plugin_contrail/plugins/opencontrail/contrail_plugin.py", line 695, in get_security_group_rule
    sg_rule_id, fields)
  File "/usr/lib/python2.7/dist-packages/neutron_plugin_contrail/plugins/opencontrail/contrail_plugin.py", line 281, in _get_resource
    fields=fields, obj_name=res_type)
  File "/usr/lib/python2.7/dist-packages/neutron_plugin_contrail/plugins/opencontrail/contrail_plugin.py", line 233, in _transform_response
    self._raise_contrail_error(info, obj_name)
  File "/usr/lib/python2.7/dist-packages/neutron_plugin_contrail/plugins/opencontrail/contrail_plugin.py", line 248, in _raise_contrail_error
    raise exc.NeutronException(**info)
NeutronException: An unknown exception occurred.

contrail-api log :
===============
<class 'cfgm_common.exceptions.NoIdError'>
Python 2.7.3: /usr/bin/python
Tue Feb 24 19:56:41 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/python2.7/dist-packages/vnc_openstack/neutron_plugin_interface.py in plugin_get_sec_group_rule(self=<vnc_openstack.neutron_plugin_interface.NeutronPluginInterface object>, context={u'is_admin': False, u'operation': u'READ', u'roles': [u'_member_'], u'tenant': u'589312a65f6346b988252667af77141d', u'tenant_id': u'589312a65f6346b988252667af77141d', u'type': u'security_group_rule', u'user_id': u'b91f8c68412e437b85660cb91e5d3e44'}, sg_rule={u'fields': [], u'filters': None, u'id': u'92dee7a0-3a52-4b39-88a5-ba1fa9a2df09'})
  683 try:
  684 cfgdb = self._get_user_cfgdb(context)
  685 sg_rule_info = cfgdb.security_group_rule_read(sg_rule['id'])
  686 return sg_rule_info
  687 except Exception as e:
sg_rule_info undefined
cfgdb = <vnc_openstack.neutron_plugin_db.DBInterface object>
cfgdb.security_group_rule_read = <bound method DBInterface.security_group_rule_re..._openstack.neutron_plugin_db.DBInterface object>>
sg_rule = {u'fields': [], u'filters': None, u'id': u'92dee7a0-3a52-4b39-88a5-ba1fa9a2df09'}

 /usr/lib/python2.7/dist-packages/vnc_openstack/neutron_plugin_db.py in security_group_rule_read(self=<vnc_openstack.neutron_plugin_db.DBInterface object>, sgr_id=u'92dee7a0-3a52-4b39-88a5-ba1fa9a2df09')
 3895
 3896 def security_group_rule_read(self, sgr_id):
 3897 sg_obj, sg_rule = self._security_group_rule_find(sgr_id)
 3898 if sg_obj and sg_rule:
 3899 return self._security_group_rule_vnc_to_neutron(sg_obj.uuid,
sg_obj undefined
sg_rule undefined
self = <vnc_openstack.neutron_plugin_db.DBInterface object>
self._security_group_rule_find = <bound method DBInterface._security_group_rule_f..._openstack.neutron_plugin_db.DBInterface object>>
sgr_id = u'92dee7a0-3a52-4b39-88a5-ba1fa9a2df09'

 /usr/lib/python2.7/dist-packages/vnc_openstack/neutron_plugin_db.py in _security_group_rule_find(self=<vnc_openstack.neutron_plugin_db.DBInterface object>, sgr_id=u'92dee7a0-3a52-4b39-88a5-ba1fa9a2df09')
  221 for project in dom_projects:
  222 proj_id = project['uuid']
  223 project_sgs = self._security_group_list_project(proj_id)
  224
  225 for sg_obj in project_sgs:
project_sgs = [<vnc_api.gen.resource_client.SecurityGroup object>]
self = <vnc_openstack.neutron_plugin_db.DBInterface object>
self._security_group_list_project = <bound method DBInterface._security_group_list_p..._openstack.neutron_plugin_db.DBInterface object>>
proj_id = u'2f28abd2-9dbb-49ea-b48a-26c6974889f7'

 /usr/lib/python2.7/dist-packages/vnc_openstack/neutron_plugin_db.py in _security_group_list_project(self=<vnc_openstack.neutron_plugin_db.DBInterface object>, project_id=u'2f28abd2-9dbb-49ea-b48a-26c6974889f7')
  483 project_uuid = str(uuid.UUID(project_id))
  484 # Trigger a project read to ensure project sync
  485 project_obj = self._project_read(proj_id=project_uuid)
  486 except Exception:
  487 raise
project_obj undefined
self = <vnc_openstack.neutron_plugin_db.DBInterface object>
self._project_read = <bound method DBInterface._project_read of <vnc_openstack.neutron_plugin_db.DBInterface object>>
proj_id undefined
project_uuid = '2f28abd2-9dbb-49ea-b48a-26c6974889f7'

 /usr/lib/python2.7/dist-packages/vnc_openstack/neutron_plugin_db.py in _project_read(self=<vnc_openstack.neutron_plugin_db.DBInterface object>, proj_id='2f28abd2-9dbb-49ea-b48a-26c6974889f7', fq_name=None)
  172
  173 def _project_read(self, proj_id=None, fq_name=None):
  174 proj_obj = self._vnc_lib.project_read(id=proj_id, fq_name=fq_name)
  175 return proj_obj
  176 #end _project_read
proj_obj undefined
self = <vnc_openstack.neutron_plugin_db.DBInterface object>
self._vnc_lib = <vnc_api.vnc_api.VncApi object>
self._vnc_lib.project_read = <bound method VncApi.project_read of <vnc_api.vnc_api.VncApi object>>
builtinid = <built-in function id>
proj_id = '2f28abd2-9dbb-49ea-b48a-26c6974889f7'
fq_name = None

 /usr/lib/python2.7/dist-packages/vnc_api/gen/vnc_api_client_gen.py in project_read(self=<vnc_api.vnc_api.VncApi object>, fq_name=None, fq_name_str=None, id='2f28abd2-9dbb-49ea-b48a-26c6974889f7', ifmap_id=None, fields=None)
 5616 query_params = {'exclude_back_refs':True,
 5617 'exclude_children':True,}
 5618 content = self._request_server(rest.OP_GET, uri, query_params)
 5619
 5620 obj_dict = json.loads(content)['project']
content undefined
self = <vnc_api.vnc_api.VncApi object>
self._request_server = <bound method VncApi._request_server of <vnc_api.vnc_api.VncApi object>>
global rest = <module 'cfgm_common.rest' from '/usr/lib/python2.7/dist-packages/cfgm_common/rest.pyc'>
rest.OP_GET = 2
uri = u'/project/2f28abd2-9dbb-49ea-b48a-26c6974889f7'
query_params = {'exclude_back_refs': True, 'exclude_children': True}

 /usr/lib/python2.7/dist-packages/vnc_api/vnc_api.py in _request_server(self=<vnc_api.vnc_api.VncApi object>, op=2, url=u'/project/2f28abd2-9dbb-49ea-b48a-26c6974889f7', data={'exclude_back_refs': True, 'exclude_children': True}, retry_on_error=True, retry_after_authn=False, retry_count=30)
  344 return self._request(op, url, data=data, retry_on_error=retry_on_error,
  345 retry_after_authn=retry_after_authn,
  346 retry_count=retry_count)
  347
  348 def _request(self, op, url, data=None, retry_on_error=True,
retry_count = 30

 /usr/lib/python2.7/dist-packages/vnc_api/vnc_api.py in _request(self=<vnc_api.vnc_api.VncApi object>, op=2, url=u'/project/2f28abd2-9dbb-49ea-b48a-26c6974889f7', data={'exclude_back_refs': True, 'exclude_children': True}, retry_on_error=True, retry_after_authn=False, retry_count=30)
  385 elif status == 404:
  386 raise NoIdError('Error: oper %s url %s body %s response %s'
  387 % (op, url, data, content))
  388 elif status == 403:
  389 raise PermissionDenied(content)
op = 2
url = u'/project/2f28abd2-9dbb-49ea-b48a-26c6974889f7'
data = {'exclude_back_refs': True, 'exclude_children': True}
<class 'cfgm_common.exceptions.NoIdError'>: Unknown id: Error: oper 2 url /project/2f28abd2-9dbb-49ea-b48a-26c6974889f7 body {'exclude_back_refs': True, 'exclude_children': True} response No project object found for id 2f28abd2-9dbb-49ea-b48a-26c6974889f7
    __class__ = <class 'cfgm_common.exceptions.NoIdError'>
    __delattr__ = <method-wrapper '__delattr__' of NoIdError object>
    __dict__ = {'_unknown_id': u"Error: oper 2 url /project/2f28abd2-9dbb-49ea-...ound for id 2f28abd2-9dbb-49ea-b48a-26c6974889f7"}
    __doc__ = None
    __format__ = <built-in method __format__ of NoIdError object>
    __getattribute__ = <method-wrapper '__getattribute__' of NoIdError object>
    __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.exceptions'
    __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()>
    __subclasshook__ = <built-in method __subclasshook__ of type object>
    __unicode__ = <built-in method __unicode__ of NoIdError object>
    __weakref__ = None
    _unknown_id = u"Error: oper 2 url /project/2f28abd2-9dbb-49ea-...ound for id 2f28abd2-9dbb-49ea-b48a-26c6974889f7"
    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/python2.7/dist-packages/vnc_openstack/neutron_plugin_interface.py", line 685, in plugin_get_sec_group_rule
    sg_rule_info = cfgdb.security_group_rule_read(sg_rule['id'])
  File "/usr/lib/python2.7/dist-packages/vnc_openstack/neutron_plugin_db.py", line 3897, in security_group_rule_read
    sg_obj, sg_rule = self._security_group_rule_find(sgr_id)
  File "/usr/lib/python2.7/dist-packages/vnc_openstack/neutron_plugin_db.py", line 223, in _security_group_rule_find
    project_sgs = self._security_group_list_project(proj_id)
  File "/usr/lib/python2.7/dist-packages/vnc_openstack/neutron_plugin_db.py", line 485, in _security_group_list_project
    project_obj = self._project_read(proj_id=project_uuid)
  File "/usr/lib/python2.7/dist-packages/vnc_openstack/neutron_plugin_db.py", line 174, in _project_read
    proj_obj = self._vnc_lib.project_read(id=proj_id, fq_name=fq_name)
  File "/usr/lib/python2.7/dist-packages/vnc_api/gen/vnc_api_client_gen.py", line 5618, in project_read
    content = self._request_server(rest.OP_GET, uri, query_params)
  File "/usr/lib/python2.7/dist-packages/vnc_api/vnc_api.py", line 346, in _request_server
    retry_count=retry_count)
  File "/usr/lib/python2.7/dist-packages/vnc_api/vnc_api.py", line 387, in _request
    % (op, url, data, content))
NoIdError: Unknown id: Error: oper 2 url /project/2f28abd2-9dbb-49ea-b48a-26c6974889f7 body {'exclude_back_refs': True, 'exclude_children': True} response No project object found for id 2f28abd2-9dbb-49ea-b48a-26c6974889f7

Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/bottle.py", line 764, in _handle
    return route.call(**args)
  File "/usr/lib/python2.7/dist-packages/bottle.py", line 1625, in wrapper
    rv = callback(*a, **ka)
  File "/usr/lib/python2.7/dist-packages/bottle.py", line 1575, in wrapper
    rv = callback(*a, **ka)
  File "/usr/lib/python2.7/dist-packages/vnc_openstack/neutron_plugin_interface.py", line 741, in plugin_http_post_securitygrouprule
    return self.plugin_get_sec_group_rule(context, sg_rule)
  File "/usr/lib/python2.7/dist-packages/vnc_openstack/neutron_plugin_interface.py", line 689, in plugin_get_sec_group_rule
    raise e
NoIdError: Unknown id: Error: oper 2 url /project/2f28abd2-9dbb-49ea-b48a-26c6974889f7 body {'exclude_back_refs': True, 'exclude_children': True} response No project object found for id 2f28abd2-9dbb-49ea-b48a-26c6974889f7
192.168.0.81 - - [2015-02-24 19:56:41] "POST /neutron/security_group_rule HTTP/1.1" 500 156 0.107041

Tags: config neutron
Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : master

Review in progress for https://review.opencontrail.org/8391
Submitter: Prakash Bailkeri (<email address hidden>)

Changed in juniperopenstack:
assignee: Sachin Bansal (sbansal) → Prakash Bailkeri (prakashmb)
Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/8391
Committed: http://github.org/Juniper/contrail-controller/commit/5a4427d17bb9587c89f315c0622d9b6057c72fa2
Submitter: Zuul
Branch: master

commit 5a4427d17bb9587c89f315c0622d9b6057c72fa2
Author: Prakash Bailkeri <email address hidden>
Date: Mon Mar 16 23:10:32 2015 -0700

security group rule find tries to access deleted project.

During _security_group_rule_find, project list is queried and looped to get all
security groups belonging to it. In the meanwhile if the project is deleted,
exception will be thrown and loop is aborted

Fix is to query the list of security group beloging to a
project(for not adming context) or all security groups in the system
(for admin context)

Change-Id: Ic3e3dddb8c082d563b0bf5b43f57afbe41d8ef73
Closes-Bug: 1425898

Changed in juniperopenstack:
status: New → Fix Committed
Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : R2.1

Review in progress for https://review.opencontrail.org/8476
Submitter: Prakash Bailkeri (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/8476
Committed: http://github.org/Juniper/contrail-controller/commit/1424bc23d11fa1659f1861214e292803cd7381d6
Submitter: Zuul
Branch: R2.1

commit 1424bc23d11fa1659f1861214e292803cd7381d6
Author: Prakash Bailkeri <email address hidden>
Date: Mon Mar 16 23:10:32 2015 -0700

security group rule find tries to access deleted project.

During _security_group_rule_find, project list is queried and looped to get all
security groups belonging to it. In the meanwhile if the project is deleted,
exception will be thrown and loop is aborted

Fix is to query the list of security group beloging to a
project(for not adming context) or all security groups in the system
(for admin context)

Change-Id: Ic3e3dddb8c082d563b0bf5b43f57afbe41d8ef73
Closes-Bug: 1425898

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.