Tempest SG rule test sometimes fails due to project not synced

Bug #1383024 reported by Vedamurthy Joshi
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Juniper Openstack
Incomplete
Medium
Vedamurthy Joshi

Bug Description

R1.20 build 60 Ubuntu Single node running Icehouse

http://anamika.englab.juniper.net:8080/job/Contrail_Tempest/264/testReport/tempest.api.network.test_security_groups/SecGroupTestXML/test_create_show_delete_security_group_rule_gate_smoke_/

The test tempest.api.network.test_security_groups.SecGroupTestXML.test_create_show_delete_security_group_rule[gate,smoke] sometimes fails due to project_read from keystone failing

_StringException: pythonlogging:'': {{{
2014-10-20 00:32:28,842 Request (SecGroupTestXML:test_create_show_delete_security_group_rule): 201 POST http://10.204.216.60:9696/v2.0/security-groups 0.106s
2014-10-20 00:32:28,877 Request (SecGroupTestXML:test_create_show_delete_security_group_rule): 201 POST http://10.204.216.60:9696/v2.0/security-group-rules 0.030s
2014-10-20 00:32:29,052 Request (SecGroupTestXML:test_create_show_delete_security_group_rule): 200 GET http://10.204.216.60:9696/v2.0/security-group-rules/26bb5a8f-2c74-4f43-9725-2243389cb982 0.173s
2014-10-20 00:32:29,091 Request (SecGroupTestXML:test_create_show_delete_security_group_rule): 200 GET http://10.204.216.60:9696/v2.0/security-group-rules 0.035s
2014-10-20 00:32:29,146 Request (SecGroupTestXML:test_create_show_delete_security_group_rule): 201 POST http://10.204.216.60:9696/v2.0/security-group-rules 0.051s
2014-10-20 00:32:29,313 Request (SecGroupTestXML:test_create_show_delete_security_group_rule): 500 GET http://10.204.216.60:9696/v2.0/security-group-rules/8e72f40a-dc0c-4704-a438-785607fdc36b 0.164s
2014-10-20 00:32:29,396 Request (SecGroupTestXML:_run_cleanups): 204 DELETE http://10.204.216.60:9696/v2.0/security-groups/dda9cd03-60e4-403a-baaf-4c905655d557 0.078s
2014-10-20 00:32:29,420 Request (SecGroupTestXML:_run_cleanups): 200 GET http://10.204.216.60:9696/v2.0/security-groups 0.020s
}}}

Traceback (most recent call last):
  File "/home/ubuntu/jenkins/workspace/Contrail_Tempest/tempest/api/network/test_security_groups.py", line 92, in test_create_show_delete_security_group_rule
    rule_create_body['security_group_rule']['id']
  File "/home/ubuntu/jenkins/workspace/Contrail_Tempest/tempest/services/network/network_client_base.py", line 133, in _show
    resp, body = self.get(uri)
  File "/home/ubuntu/jenkins/workspace/Contrail_Tempest/tempest/services/network/network_client_base.py", line 77, in get
    return self.rest_client.get(uri, headers)
  File "/home/ubuntu/jenkins/workspace/Contrail_Tempest/tempest/common/rest_client.py", line 212, in get
    return self.request('GET', url, extra_headers, headers)
  File "/home/ubuntu/jenkins/workspace/Contrail_Tempest/tempest/common/rest_client.py", line 419, in request
    resp, resp_body)
  File "/home/ubuntu/jenkins/workspace/Contrail_Tempest/tempest/common/rest_client.py", line 515, in _error_checker
    raise exceptions.ServerFault(message)
ServerFault: Got server fault
Details: Request Failed: internal server error while processing your request.
Traceback (most recent call last):
_StringException: Empty attachments:
  stderr
  stdout

contrail-api-0.log:
================

127.0.0.1 - - [2014-10-20 00:42:57] "GET /project/e72ee618-99f3-4a24-9cba-528deef496ad?exclude_back_refs=True&exclude_children=True HTTP/1.1" 200 968 0.002036
127.0.0.1 - - [2014-10-20 00:42:57] "GET /security-groups?count=False&parent_id=e72ee618-99f3-4a24-9cba-528deef496ad&detail=True HTTP/1.1" 200 2067 0.001394
ERROR:stevedore.extension:error calling 'xxx': Could not find project, 5aa903475bde49be9dc6859602078121. (HTTP 404)
ERROR:stevedore.extension:Could not find project, 5aa903475bde49be9dc6859602078121. (HTTP 404)
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/stevedore/extension.py", line 247, in _invoke_one_plugin
    response_callback(func(e, *args, **kwds)) File "/usr/lib/python2.7/dist-packages/stevedore/extension.py", line 221, in _call_extension_method
    return getattr(extension.obj, method_name)(*args, **kwds)
  File "/usr/lib/python2.7/dist-packages/vnc_openstack/__init__.py", line 668, in pre_project_read
    self._openstack_drv.sync_project_to_vnc(id)
  File "/usr/lib/python2.7/dist-packages/vnc_openstack/__init__.py", line 174, in _ksv2_sync_project_to_vnc
    ks_project = self._ks_project_get(id=id.replace('-', ''))
  File "/usr/lib/python2.7/dist-packages/vnc_openstack/__init__.py", line 168, in _ksv2_project_get
    return {'name': self._ks.tenants.get(id).name}
  File "/usr/lib/python2.7/dist-packages/keystoneclient/v2_0/tenants.py", line 76, in get return self._get("/tenants/%s" % tenant_id, "tenant") File "/usr/lib/python2.7/dist-packages/keystoneclient/base.py", line 128, in _get resp, body = self.client.get(url) File "/usr/lib/python2.7/dist-packages/keystoneclient/httpclient.py", line 590, in get
    return self._cs_request(url, 'GET', **kwargs)
  File "/usr/lib/python2.7/dist-packages/keystoneclient/httpclient.py", line 582, in _cs_request
    return self.request(url, method, **kwargs)
  File "/usr/lib/python2.7/dist-packages/keystoneclient/httpclient.py", line 564, in request
    resp = super(HTTPClient, self).request(url, method, **kwargs)
  File "/usr/lib/python2.7/dist-packages/keystoneclient/baseclient.py", line 21, in request
    return self.session.request(url, method, **kwargs)
  File "/usr/lib/python2.7/dist-packages/keystoneclient/utils.py", line 318, in inner
    return func(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/keystoneclient/session.py", line 251, in request
    raise exceptions.from_response(resp, method, url)
NotFound: Could not find project, 5aa903475bde49be9dc6859602078121. (HTTP 404)
127.0.0.1 - - [2014-10-20 00:42:57] "GET /project/5aa90347-5bde-49be-9dc6-859602078121?exclude_back_refs=True&exclude_children=True HTTP/1.1" 404 190 0.007957
<class 'cfgm_common.exceptions.NoIdError'>
Python 2.7.3: /usr/bin/python
Mon Oct 20 00:42:57 2014

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'1f248a14d9854cf6a98020ceb81481cf', u'tenant_id': u'1f248a14d9854cf6a98020ceb81481cf', u'type': u'security_group_rule', u'user_id': u'51ad295ed3ce4228bfd9e9c2a55faaf6'}, sg_rule={u'fields': [], u'filters': None, u'id': u'003e5ecc-3123-4f53-a929-83803759fe16'})
  676 try:
  677 cfgdb = self._get_user_cfgdb(context)
  678 sg_rule_info = cfgdb.security_group_rule_read(sg_rule['id'])
  679 return sg_rule_info
  680 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'003e5ecc-3123-4f53-a929-83803759fe16'}

 /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'003e5ecc-3123-4f53-a929-83803759fe16')
 4116
 4117 def security_group_rule_read(self, sgr_id):
 4118 sg_obj, sg_rule = self._security_group_rule_find(sgr_id)
 4119 if sg_obj and sg_rule:
 4120 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'003e5ecc-3123-4f53-a929-83803759fe16'

 /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'003e5ecc-3123-4f53-a929-83803759fe16')
  514 for project in dom_projects:
  515 proj_id = project['uuid']
  516 project_sgs = self._security_group_list_project(proj_id)
  517
  518 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'5aa90347-5bde-49be-9dc6-859602078121'

 /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'5aa90347-5bde-49be-9dc6-859602078121')
  877 project_uuid = str(uuid.UUID(project_id))
  878 # Trigger a project read to ensure project sync
  879 project_obj = self._project_read(proj_id=project_uuid)
  880 except Exception:
  881 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 = '5aa90347-5bde-49be-9dc6-859602078121'

 /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='5aa90347-5bde-49be-9dc6-859602078121', fq_name=None)
  454 #return self._db_cache['vnc_projects'][proj_id]
  455 except KeyError:
  456 proj_obj = self._vnc_lib.project_read(id=proj_id)
  457 fq_name_str = json.dumps(proj_obj.get_fq_name())
  458 self._db_cache['vnc_projects'][proj_id] = proj_obj
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 = '5aa90347-5bde-49be-9dc6-859602078121'

 /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='5aa90347-5bde-49be-9dc6-859602078121', ifmap_id=None, fields=None)
 4988 query_params = {'exclude_back_refs':True,
 4989 'exclude_children':True,}
 4990 content = self._request_server(rest.OP_GET, uri, query_params)
 4991
 4992 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/5aa90347-5bde-49be-9dc6-859602078121'
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/5aa90347-5bde-49be-9dc6-859602078121', data={'exclude_back_refs': True, 'exclude_children': True}, retry_on_error=True, retry_after_authn=False)
  362 elif status == 404:
  363 raise NoIdError('Error: oper %s url %s body %s response %s'
  364 % (op, url, data, content))
  365 elif status == 403:
  366 raise PermissionDenied(content)
op = 2
url = u'/project/5aa90347-5bde-49be-9dc6-859602078121'
data = {'exclude_back_refs': True, 'exclude_children': True}
content = u'No project object found for id 5aa90347-5bde-49be-9dc6-859602078121'
<class 'cfgm_common.exceptions.NoIdError'>: Unknown id: Error: oper 2 url /project/5aa90347-5bde-49be-9dc6-859602078121 body {'exclude_back_refs': True, 'exclude_children': True} response No project object found for id 5aa90347-5bde-49be-9dc6-859602078121
    __class__ = <class 'cfgm_common.exceptions.NoIdError'>
    __delattr__ = <method-wrapper '__delattr__' of NoIdError object>
    __dict__ = {'_unknown_id': u"Error: oper 2 url /project/5aa90347-5bde-49be-...ound for id 5aa90347-5bde-49be-9dc6-859602078121"}
    __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/5aa90347-5bde-49be-...ound for id 5aa90347-5bde-49be-9dc6-859602078121"
    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 678, 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 4118, 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 516, 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 879, 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 456, in _project_read
    proj_obj = self._vnc_lib.project_read(id=proj_id)
  File "/usr/lib/python2.7/dist-packages/vnc_api/gen/vnc_api_client_gen.py", line 4990, 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 364, in _request_server
    % (op, url, data, content))
NoIdError: Unknown id: Error: oper 2 url /project/5aa90347-5bde-49be-9dc6-859602078121 body {'exclude_back_refs': True, 'exclude_children': True} response No project object found for id 5aa90347-5bde-49be-9dc6-859602078121

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 1575, in wrapper
    rv = callback(*a, **ka)
  File "/usr/lib/python2.7/dist-packages/vnc_openstack/neutron_plugin_interface.py", line 734, 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 682, in plugin_get_sec_group_rule
    raise e
NoIdError: Unknown id: Error: oper 2 url /project/5aa90347-5bde-49be-9dc6-859602078121 body {'exclude_back_refs': True, 'exclude_children': True} response No project object found for id 5aa90347-5bde-49be-9dc6-859602078121
10.204.216.60 - - [2014-10-20 00:42:57] "POST /neutron/security_group_rule HTTP/1.1" 500 156 0.157465
127.0.0.1 - - [2014-10-20 00:42:57] "GET /security-group/438b107d-c375-4ff9-bb56-b6eaebb0101e?exclude_back_refs=True&exclude_children=True HTTP/1.1" 200 2523 0.002469

Sachin Bansal (sbansal)
Changed in juniperopenstack:
status: New → Incomplete
assignee: Hampapur Ajay (hajay) → Vedamurthy Joshi (vedujoshi)
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.