After neutron change master code, some tricircle unit test cannot passed like this
python3.6 tricircle gate log:
t1.4: tricircle.tests.unit.network.test_central_plugin.PluginTest.test_create_security_group_ruletesttools.testresult.real._StringException: Traceback (most recent call last):
File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/lower-constraints/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1236, in _execute_context
cursor, statement, parameters, context
File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/lower-constraints/lib/python3.6/site-packages/sqlalchemy/engine/default.py", line 536, in do_execute
cursor.execute(statement, parameters)
sqlite3.OperationalError: no such table: securitygrouprules
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/lower-constraints/lib/python3.6/site-packages/mock/mock.py", line 1305, in patched
return func(*args, **keywargs)
File "/home/zuul/src/opendev.org/openstack/tricircle/tricircle/tests/unit/network/test_central_plugin.py", line 3191, in test_create_security_group_rule
'pod_id_1', TOP_SGS, BOTTOM1_SGS)
File "/home/zuul/src/opendev.org/openstack/tricircle/tricircle/tests/unit/network/test_security_groups.py", line 76, in _test_create_security_group_rule
plugin.create_security_group_rule(q_ctx, rule)
File "/home/zuul/src/opendev.org/openstack/tricircle/tricircle/network/security_groups.py", line 59, in create_security_group_rule
sg = self.get_security_group(q_context, sg_id)
File "/home/zuul/src/opendev.org/openstack/tricircle/tricircle/network/security_groups.py", line 114, in get_security_group
get_security_group(context, sg_id)
File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/lower-constraints/lib/python3.6/site-packages/neutron_lib/db/api.py", line 233, in wrapped
return method(*args, **kwargs)
File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/lower-constraints/lib/python3.6/site-packages/neutron/db/securitygroups_db.py", line 195, in get_security_group
{'security_group_id': [id]})
File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/lower-constraints/lib/python3.6/site-packages/neutron_lib/db/api.py", line 233, in wrapped
return method(*args, **kwargs)
File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/lower-constraints/lib/python3.6/site-packages/neutron_lib/db/api.py", line 139, in wrapped
setattr(e, '_RETRY_EXCEEDED', True)
File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/lower-constraints/lib/python3.6/site-packages/oslo_utils/excutils.py", line 220, in __exit__
self.force_reraise()
File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/lower-constraints/lib/python3.6/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
six.reraise(self.type_, self.value, self.tb)
File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/lower-constraints/lib/python3.6/site-packages/six.py", line 693, in reraise
raise value
File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/lower-constraints/lib/python3.6/site-packages/neutron_lib/db/api.py", line 135, in wrapped
return f(*args, **kwargs)
File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/lower-constraints/lib/python3.6/site-packages/oslo_db/api.py", line 154, in wrapper
ectxt.value = e.inner_exc
File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/lower-constraints/lib/python3.6/site-packages/oslo_utils/excutils.py", line 220, in __exit__
self.force_reraise()
File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/lower-constraints/lib/python3.6/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
six.reraise(self.type_, self.value, self.tb)
File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/lower-constraints/lib/python3.6/site-packages/six.py", line 693, in reraise
raise value
File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/lower-constraints/lib/python3.6/site-packages/oslo_db/api.py", line 142, in wrapper
return f(*args, **kwargs)
File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/lower-constraints/lib/python3.6/site-packages/neutron_lib/db/api.py", line 183, in wrapped
LOG.debug("Retry wrapper got retriable exception: %s", e)
File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/lower-constraints/lib/python3.6/site-packages/oslo_utils/excutils.py", line 220, in __exit__
self.force_reraise()
File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/lower-constraints/lib/python3.6/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
six.reraise(self.type_, self.value, self.tb)
File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/lower-constraints/lib/python3.6/site-packages/six.py", line 693, in reraise
raise value
File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/lower-constraints/lib/python3.6/site-packages/neutron_lib/db/api.py", line 179, in wrapped
return f(*dup_args, **dup_kwargs)
File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/lower-constraints/lib/python3.6/site-packages/neutron/db/securitygroups_db.py", line 677, in get_security_group_rules
context, _pager=pager, validate_filters=False, **filters
File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/lower-constraints/lib/python3.6/site-packages/neutron/objects/base.py", line 640, in get_objects
cls, context, _pager=_pager, **cls.modify_fields_to_db(kwargs))
File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/lower-constraints/lib/python3.6/site-packages/neutron/objects/db/api.py", line 52, in get_objects
**(_pager.to_kwargs(context, obj_cls) if _pager else {}))
File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/lower-constraints/lib/python3.6/site-packages/neutron_lib/db/model_query.py", line 308, in get_collection
for c in query
File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/lower-constraints/lib/python3.6/site-packages/sqlalchemy/orm/query.py", line 3081, in __iter__
return self._execute_and_instances(context)
File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/lower-constraints/lib/python3.6/site-packages/sqlalchemy/orm/query.py", line 3106, in _execute_and_instances
result = conn.execute(querycontext.statement, self._params)
File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/lower-constraints/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 980, in execute
return meth(self, multiparams, params)
File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/lower-constraints/lib/python3.6/site-packages/sqlalchemy/sql/elements.py", line 273, in _execute_on_connection
return connection._execute_clauseelement(self, multiparams, params)
File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/lower-constraints/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1099, in _execute_clauseelement
distilled_params,
File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/lower-constraints/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1240, in _execute_context
e, statement, parameters, cursor, context
File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/lower-constraints/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1456, in _handle_dbapi_exception
util.raise_from_cause(newraise, exc_info)
File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/lower-constraints/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 296, in raise_from_cause
reraise(type(exception), exception, tb=exc_tb, cause=cause)
File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/lower-constraints/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 276, in reraise
raise value.with_traceback(tb)
File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/lower-constraints/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1236, in _execute_context
cursor, statement, parameters, context
File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/lower-constraints/lib/python3.6/site-packages/sqlalchemy/engine/default.py", line 536, in do_execute
cursor.execute(statement, parameters)
oslo_db.exception.DBNonExistentTable: (sqlite3.OperationalError) no such table: securitygrouprules [SQL: 'SELECT securitygrouprules.project_id AS securitygrouprules_project_id, securitygrouprules.id AS securitygrouprules_id, securitygrouprules.security_group_id AS securitygrouprules_security_group_id, securitygrouprules.remote_group_id AS securitygrouprules_remote_group_id, securitygrouprules.direction AS securitygrouprules_direction, securitygrouprules.ethertype AS securitygrouprules_ethertype, securitygrouprules.protocol AS securitygrouprules_protocol, securitygrouprules.port_range_min AS securitygrouprules_port_range_min, securitygrouprules.port_range_max AS securitygrouprules_port_range_max, securitygrouprules.remote_ip_prefix AS securitygrouprules_remote_ip_prefix, securitygrouprules.standard_attr_id AS securitygrouprules_standard_attr_id, standardattributes_1.id AS standardattributes_1_id, standardattributes_1.resource_type AS standardattributes_1_resource_type, standardattributes_1.description AS standardattributes_1_description, standardattributes_1.revision_number AS standardattributes_1_revision_number, standardattributes_1.created_at AS standardattributes_1_created_at, standardattributes_1.updated_at AS standardattributes_1_updated_at \nFROM securitygrouprules LEFT OUTER JOIN standardattributes AS standardattributes_1 ON standardattributes_1.id = securitygrouprules.standard_attr_id \nWHERE securitygrouprules.security_group_id IN (?)'] [parameters: ('8df50a3a-6cb5-44bb-8e96-e2bf7a6f49b8',)] (Background on this error at: http://sqlalche.me/e/e3q8)
python2.7 log
{2} tricircle.tests.unit.network.test_central_plugin.PluginTest.test_create_security_group_rule_exception [0.038931s] ... FAILED
2019-06-06 01:57:28.096232 | ubuntu-bionic |
2019-06-06 01:57:28.096286 | ubuntu-bionic | Captured traceback:
2019-06-06 01:57:28.096339 | ubuntu-bionic | ~~~~~~~~~~~~~~~~~~~
2019-06-06 01:57:28.096417 | ubuntu-bionic | Traceback (most recent call last):
2019-06-06 01:57:28.096627 | ubuntu-bionic | File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/py27/local/lib/python2.7/site-packages/mock/mock.py", line 1330, in patched
2019-06-06 01:57:28.096705 | ubuntu-bionic | return func(*args, **keywargs)
2019-06-06 01:57:28.096901 | ubuntu-bionic | File "tricircle/tests/unit/network/test_central_plugin.py", line 3232, in test_create_security_group_rule_exception
2019-06-06 01:57:28.097023 | ubuntu-bionic | fake_plugin, q_ctx, t_ctx, 'pod_id_1', TOP_SGS, BOTTOM1_SGS)
2019-06-06 01:57:28.097211 | ubuntu-bionic | File "tricircle/tests/unit/network/test_security_groups.py", line 186, in _test_create_security_group_rule_exception
2019-06-06 01:57:28.097327 | ubuntu-bionic | plugin.create_security_group_rule, q_ctx, rule)
2019-06-06 01:57:28.097475 | ubuntu-bionic | File "/usr/lib/python2.7/unittest/case.py", line 473, in assertRaises
2019-06-06 01:57:28.097555 | ubuntu-bionic | callableObj(*args, **kwargs)
2019-06-06 01:57:28.097699 | ubuntu-bionic | File "tricircle/network/security_groups.py", line 59, in create_security_group_rule
2019-06-06 01:57:28.097797 | ubuntu-bionic | sg = self.get_security_group(q_context, sg_id)
2019-06-06 01:57:28.097945 | ubuntu-bionic | File "tricircle/network/security_groups.py", line 114, in get_security_group
2019-06-06 01:57:28.098033 | ubuntu-bionic | get_security_group(context, sg_id)
2019-06-06 01:57:28.098255 | ubuntu-bionic | File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/py27/local/lib/python2.7/site-packages/neutron_lib/db/api.py", line 233, in wrapped
2019-06-06 01:57:28.098334 | ubuntu-bionic | return method(*args, **kwargs)
2019-06-06 01:57:28.098583 | ubuntu-bionic | File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/py27/local/lib/python2.7/site-packages/neutron/db/securitygroups_db.py", line 195, in get_security_group
2019-06-06 01:57:28.098658 | ubuntu-bionic | {'security_group_id': [id]})
2019-06-06 01:57:28.098888 | ubuntu-bionic | File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/py27/local/lib/python2.7/site-packages/neutron_lib/db/api.py", line 233, in wrapped
2019-06-06 01:57:28.098971 | ubuntu-bionic | return method(*args, **kwargs)
2019-06-06 01:57:28.099196 | ubuntu-bionic | File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/py27/local/lib/python2.7/site-packages/neutron_lib/db/api.py", line 139, in wrapped
2019-06-06 01:57:28.099281 | ubuntu-bionic | setattr(e, '_RETRY_EXCEEDED', True)
2019-06-06 01:57:28.099505 | ubuntu-bionic | File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/py27/local/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__
2019-06-06 01:57:28.099569 | ubuntu-bionic | self.force_reraise()
2019-06-06 01:57:28.099807 | ubuntu-bionic | File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/py27/local/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
2019-06-06 01:57:28.099908 | ubuntu-bionic | six.reraise(self.type_, self.value, self.tb)
2019-06-06 01:57:28.100130 | ubuntu-bionic | File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/py27/local/lib/python2.7/site-packages/neutron_lib/db/api.py", line 135, in wrapped
2019-06-06 01:57:28.100200 | ubuntu-bionic | return f(*args, **kwargs)
2019-06-06 01:57:28.100418 | ubuntu-bionic | File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/py27/local/lib/python2.7/site-packages/oslo_db/api.py", line 154, in wrapper
2019-06-06 01:57:28.100488 | ubuntu-bionic | ectxt.value = e.inner_exc
2019-06-06 01:57:28.100720 | ubuntu-bionic | File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/py27/local/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__
2019-06-06 01:57:28.100789 | ubuntu-bionic | self.force_reraise()
2019-06-06 01:57:28.101019 | ubuntu-bionic | File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/py27/local/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
2019-06-06 01:57:28.101115 | ubuntu-bionic | six.reraise(self.type_, self.value, self.tb)
2019-06-06 01:57:28.101327 | ubuntu-bionic | File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/py27/local/lib/python2.7/site-packages/oslo_db/api.py", line 142, in wrapper
2019-06-06 01:57:28.101397 | ubuntu-bionic | return f(*args, **kwargs)
2019-06-06 01:57:28.101632 | ubuntu-bionic | File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/py27/local/lib/python2.7/site-packages/neutron_lib/db/api.py", line 183, in wrapped
2019-06-06 01:57:28.101757 | ubuntu-bionic | LOG.debug("Retry wrapper got retriable exception: %s", e)
2019-06-06 01:57:28.101985 | ubuntu-bionic | File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/py27/local/lib/python2.7/site-packages/oslo_utils/excutils.py", line 220, in __exit__
2019-06-06 01:57:28.102050 | ubuntu-bionic | self.force_reraise()
2019-06-06 01:57:28.102280 | ubuntu-bionic | File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/py27/local/lib/python2.7/site-packages/oslo_utils/excutils.py", line 196, in force_reraise
2019-06-06 01:57:28.102383 | ubuntu-bionic | six.reraise(self.type_, self.value, self.tb)
2019-06-06 01:57:28.102608 | ubuntu-bionic | File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/py27/local/lib/python2.7/site-packages/neutron_lib/db/api.py", line 179, in wrapped
2019-06-06 01:57:28.102694 | ubuntu-bionic | return f(*dup_args, **dup_kwargs)
2019-06-06 01:57:28.102961 | ubuntu-bionic | File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/py27/local/lib/python2.7/site-packages/neutron/db/securitygroups_db.py", line 677, in get_security_group_rules
2019-06-06 01:57:28.103076 | ubuntu-bionic | context, _pager=pager, validate_filters=False, **filters
2019-06-06 01:57:28.103304 | ubuntu-bionic | File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/py27/local/lib/python2.7/site-packages/neutron/objects/base.py", line 640, in get_objects
2019-06-06 01:57:28.103425 | ubuntu-bionic | cls, context, _pager=_pager, **cls.modify_fields_to_db(kwargs))
2019-06-06 01:57:28.103655 | ubuntu-bionic | File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/py27/local/lib/python2.7/site-packages/neutron/objects/db/api.py", line 52, in get_objects
2019-06-06 01:57:28.103780 | ubuntu-bionic | **(_pager.to_kwargs(context, obj_cls) if _pager else {}))
2019-06-06 01:57:28.104077 | ubuntu-bionic | File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/py27/local/lib/python2.7/site-packages/neutron_lib/db/model_query.py", line 308, in get_collection
2019-06-06 01:57:28.104183 | ubuntu-bionic | for c in query
2019-06-06 01:57:28.104415 | ubuntu-bionic | File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/py27/local/lib/python2.7/site-packages/sqlalchemy/orm/query.py", line 3081, in __iter__
2019-06-06 01:57:28.104513 | ubuntu-bionic | return self._execute_and_instances(context)
2019-06-06 01:57:28.104760 | ubuntu-bionic | File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/py27/local/lib/python2.7/site-packages/sqlalchemy/orm/query.py", line 3106, in _execute_and_instances
2019-06-06 01:57:28.104876 | ubuntu-bionic | result = conn.execute(querycontext.statement, self._params)
2019-06-06 01:57:28.105116 | ubuntu-bionic | File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/py27/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 980, in execute
2019-06-06 01:57:28.105210 | ubuntu-bionic | return meth(self, multiparams, params)
2019-06-06 01:57:28.105489 | ubuntu-bionic | File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/py27/local/lib/python2.7/site-packages/sqlalchemy/sql/elements.py", line 273, in _execute_on_connection
2019-06-06 01:57:28.105622 | ubuntu-bionic | return connection._execute_clauseelement(self, multiparams, params)
2019-06-06 01:57:28.105870 | ubuntu-bionic | File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/py27/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1099, in _execute_clauseelement
2019-06-06 01:57:28.105932 | ubuntu-bionic | distilled_params,
2019-06-06 01:57:28.106184 | ubuntu-bionic | File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/py27/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1240, in _execute_context
2019-06-06 01:57:28.106281 | ubuntu-bionic | e, statement, parameters, cursor, context
2019-06-06 01:57:28.106531 | ubuntu-bionic | File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/py27/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1456, in _handle_dbapi_exception
2019-06-06 01:57:28.106623 | ubuntu-bionic | util.raise_from_cause(newraise, exc_info)
2019-06-06 01:57:28.106862 | ubuntu-bionic | File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/py27/local/lib/python2.7/site-packages/sqlalchemy/util/compat.py", line 296, in raise_from_cause
2019-06-06 01:57:28.106978 | ubuntu-bionic | reraise(type(exception), exception, tb=exc_tb, cause=cause)
2019-06-06 01:57:28.107230 | ubuntu-bionic | File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/py27/local/lib/python2.7/site-packages/sqlalchemy/engine/base.py", line 1236, in _execute_context
2019-06-06 01:57:28.107323 | ubuntu-bionic | cursor, statement, parameters, context
2019-06-06 01:57:28.107557 | ubuntu-bionic | File "/home/zuul/src/opendev.org/openstack/tricircle/.tox/py27/local/lib/python2.7/site-packages/sqlalchemy/engine/default.py", line 536, in do_execute
2019-06-06 01:57:28.107654 | ubuntu-bionic | cursor.execute(statement, parameters)
2019-06-06 01:57:28.109826 | ubuntu-bionic | oslo_db.exception.DBNonExistentTable: (sqlite3.OperationalError) no such table: securitygrouprules [SQL: u'SELECT securitygrouprules.project_id AS securitygrouprules_project_id, securitygrouprules.id AS securitygrouprules_id, securitygrouprules.security_group_id AS securitygrouprules_security_group_id, securitygrouprules.remote_group_id AS securitygrouprules_remote_group_id, securitygrouprules.direction AS securitygrouprules_direction, securitygrouprules.ethertype AS securitygrouprules_ethertype, securitygrouprules.protocol AS securitygrouprules_protocol, securitygrouprules.port_range_min AS securitygrouprules_port_range_min, securitygrouprules.port_range_max AS securitygrouprules_port_range_max, securitygrouprules.remote_ip_prefix AS securitygrouprules_remote_ip_prefix, securitygrouprules.standard_attr_id AS securitygrouprules_standard_attr_id, standardattributes_1.id AS standardattributes_1_id, standardattributes_1.resource_type AS standardattributes_1_resource_type, standardattributes_1.description AS standardattributes_1_description, standardattributes_1.revision_number AS standardattributes_1_revision_number, standardattributes_1.created_at AS standardattributes_1_created_at, standardattributes_1.updated_at AS standardattributes_1_updated_at \nFROM securitygrouprules LEFT OUTER JOIN standardattributes AS standardattributes_1 ON standardattributes_1.id = securitygrouprules.standard_attr_id \nWHERE securitygrouprules.security_group_id IN (?)'] [parameters: ('06a7ff4b-6c14-4c1b-97ef-41cfdf907b7f',)] (Background on this error at: http://sqlalche.me/e/e3q8)
2019-06-06 01:57:28.109874 | ubuntu-bionic |