F5Networks / neutron-lbaas

Clone of the OpenStack project neutron-lbaas
Apache License 2.0
1 stars 10 forks source link

A certain set of tempest api tests fail due to MySQL errors #22

Closed pjbreaux closed 6 years ago

pjbreaux commented 7 years ago

It appears that roughly six tests fail for a similar reason. The failure is represented in the neutron/server.log as follows:

2017-01-30 13:55:57.182 26558 ERROR oslo_db.sqlalchemy.exc_filters [req-e4550486-95ec-4414-b30c-e4c4d93aa2a6 fb1f5d58531c485faf6820bec0d41d26 38bece48d04244b5ae8fa539bfe8b7b0 - - -]
 DBAPIError exception wrapped from (_mysql_exceptions.DataError) (1406, "Data too long for column 'name' at row 1") [SQL: u'UPDATE lbaas_loadbalancers SET name=%s WHERE lbaas_loadba
lancers.id = %s'] [parameters: ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', '43f086f4-2599-45fc-b5e3-cca56d6a9340')]
2017-01-30 13:55:57.182 26558 ERROR oslo_db.sqlalchemy.exc_filters Traceback (most recent call last):
2017-01-30 13:55:57.182 26558 ERROR oslo_db.sqlalchemy.exc_filters   File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/base.py", line 1139, in _execute_context
2017-01-30 13:55:57.182 26558 ERROR oslo_db.sqlalchemy.exc_filters     context)
2017-01-30 13:55:57.182 26558 ERROR oslo_db.sqlalchemy.exc_filters   File "/usr/lib64/python2.7/site-packages/sqlalchemy/engine/default.py", line 450, in do_execute
2017-01-30 13:55:57.182 26558 ERROR oslo_db.sqlalchemy.exc_filters     cursor.execute(statement, parameters)
2017-01-30 13:55:57.182 26558 ERROR oslo_db.sqlalchemy.exc_filters   File "/usr/lib64/python2.7/site-packages/MySQLdb/cursors.py", line 174, in execute
2017-01-30 13:55:57.182 26558 ERROR oslo_db.sqlalchemy.exc_filters     self.errorhandler(self, exc, value)
2017-01-30 13:55:57.182 26558 ERROR oslo_db.sqlalchemy.exc_filters   File "/usr/lib64/python2.7/site-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
2017-01-30 13:55:57.182 26558 ERROR oslo_db.sqlalchemy.exc_filters     raise errorclass, errorvalue
2017-01-30 13:55:57.182 26558 ERROR oslo_db.sqlalchemy.exc_filters DataError: (1406, "Data too long for column 'name' at row 1")
2017-01-30 13:55:57.182 26558 ERROR oslo_db.sqlalchemy.exc_filters
2017-01-30 13:55:57.190 26558 ERROR neutron.api.v2.resource [req-e4550486-95ec-4414-b30c-e4c4d93aa2a6 fb1f5d58531c485faf6820bec0d41d26 38bece48d04244b5ae8fa539bfe8b7b0 - - -] update failed
2017-01-30 13:55:57.190 26558 ERROR neutron.api.v2.resource Traceback (most recent call last):
2017-01-30 13:55:57.190 26558 ERROR neutron.api.v2.resource   File "/usr/lib/python2.7/site-packages/neutron/api/v2/resource.py", line 83, in resource
2017-01-30 13:55:57.190 26558 ERROR neutron.api.v2.resource     result = method(request=request, **args)
2017-01-30 13:55:57.190 26558 ERROR neutron.api.v2.resource   File "/usr/lib/python2.7/site-packages/neutron/api/v2/base.py", line 579, in update
2017-01-30 13:55:57.190 26558 ERROR neutron.api.v2.resource     return self._update(request, id, body, **kwargs)
2017-01-30 13:55:57.190 26558 ERROR neutron.api.v2.resource   File "/usr/lib/python2.7/site-packages/oslo_db/api.py", line 146, in wrapper
2017-01-30 13:55:57.190 26558 ERROR neutron.api.v2.resource     ectxt.value = e.inner_exc
2017-01-30 13:55:57.190 26558 ERROR neutron.api.v2.resource   File "/usr/lib/python2.7/site-packages/oslo_utils/excutils.py", line 195, in __exit__
2017-01-30 13:55:57.190 26558 ERROR neutron.api.v2.resource     six.reraise(self.type_, self.value, self.tb)
2017-01-30 13:55:57.190 26558 ERROR neutron.api.v2.resource   File "/usr/lib/python2.7/site-packages/oslo_db/api.py", line 136, in wrapper
2017-01-30 13:55:57.190 26558 ERROR neutron.api.v2.resource     return f(*args, **kwargs)
2017-01-30 13:55:57.190 26558 ERROR neutron.api.v2.resource   File "/usr/lib/python2.7/site-packages/neutron/api/v2/base.py", line 624, in _update
2017-01-30 13:55:57.190 26558 ERROR neutron.api.v2.resource     obj = obj_updater(request.context, id, **kwargs)
2017-01-30 13:55:57.190 26558 ERROR neutron.api.v2.resource   File "/usr/lib/python2.7/site-packages/neutron_lbaas/services/loadbalancer/plugin.py", line 538, in update_loadbalancer
2017-01-30 13:55:57.190 26558 ERROR neutron.api.v2.resource     raise exc
2017-01-30 13:55:57.190 26558 ERROR neutron.api.v2.resource DBError: (_mysql_exceptions.DataError) (1406, "Data too long for column 'name' at row 1") [SQL: u'UPDATE lbaas_loadbalancers SET name=%s WHERE lbaas_loadbalancers.id = %s'] [parameters: ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', '43f086f4-2599-45fc-b5e3-cca56d6a9340')]
2017-01-30 13:55:57.190 26558 ERROR neutron.api.v2.resource

This tests appear to be expecting a bad request response come back from the REST server, but it fails with a tempest lib exception. Here's the tempest test failure message:

_StringException: pythonlogging:'': {{{
2017-01-30 13:47:31,397 1924 INFO     [tempest.lib.common.rest_client] Request (ListenersTestJSON:test_create_listener_invalid_description): 500 POST http://10.190.4.156:9696/v2.0/lbaas/listeners 0.047s
2017-01-30 13:47:31,398 1924 INFO     [neutron_lbaas.tests.tempest.v2.api.test_listeners_non_admin:ListenersTestJSON] Finished: test_create_listener_invalid_description
}}}

Traceback (most recent call last):
  File "/home/buildbot/neutron-lbaas/neutron_lbaas/tests/tempest/v2/api/test_listeners_non_admin.py", line 237, in test_create_listener_invalid_description
    description='a' * 256)
  File "/home/buildbot/neutron-lbaas/.tox/apiv2/local/lib/python2.7/site-packages/testtools/testcase.py", line 485, in assertRaises
    self.assertThat(our_callable, matcher)
  File "/home/buildbot/neutron-lbaas/.tox/apiv2/local/lib/python2.7/site-packages/testtools/testcase.py", line 496, in assertThat
    mismatch_error = self._matchHelper(matchee, matcher, message, verbose)
  File "/home/buildbot/neutron-lbaas/.tox/apiv2/local/lib/python2.7/site-packages/testtools/testcase.py", line 547, in _matchHelper
    mismatch = matcher.match(matchee)
  File "/home/buildbot/neutron-lbaas/.tox/apiv2/local/lib/python2.7/site-packages/testtools/matchers/_exception.py", line 108, in match
    mismatch = self.exception_matcher.match(exc_info)
  File "/home/buildbot/neutron-lbaas/.tox/apiv2/local/lib/python2.7/site-packages/testtools/matchers/_higherorder.py", line 62, in match
    mismatch = matcher.match(matchee)
  File "/home/buildbot/neutron-lbaas/.tox/apiv2/local/lib/python2.7/site-packages/testtools/testcase.py", line 475, in match
    reraise(*matchee)
  File "/home/buildbot/neutron-lbaas/.tox/apiv2/local/lib/python2.7/site-packages/testtools/matchers/_exception.py", line 101, in match
    result = matchee()
  File "/home/buildbot/neutron-lbaas/.tox/apiv2/local/lib/python2.7/site-packages/testtools/testcase.py", line 1049, in __call__
    return self._callable_object(*self._args, **self._kwargs)
  File "/home/buildbot/neutron-lbaas/neutron_lbaas/tests/tempest/v2/api/base.py", line 226, in _create_listener
    listener = cls.listeners_client.create_listener(**listener_kwargs)
  File "/home/buildbot/neutron-lbaas/neutron_lbaas/tests/tempest/v2/clients/listeners_client.py", line 48, in create_listener
    resp, body = self.post('v2.0/lbaas/listeners', post_body)
  File "/home/buildbot/neutron-lbaas/.tox/apiv2/local/lib/python2.7/site-packages/tempest/lib/common/rest_client.py", line 276, in post
    return self.request('POST', url, extra_headers, headers, body, chunked)
  File "/home/buildbot/neutron-lbaas/.tox/apiv2/local/lib/python2.7/site-packages/tempest/lib/common/rest_client.py", line 664, in request
    self._error_checker(resp, resp_body)
  File "/home/buildbot/neutron-lbaas/.tox/apiv2/local/lib/python2.7/site-packages/tempest/lib/common/rest_client.py", line 827, in _error_checker
    message=message)
tempest.lib.exceptions.ServerFault: Got server fault
Details: Request Failed: internal server error while processing your request.

The six tests are:

test_listeners_non_admin.py::ListenersTestJSON::test_create_listener_invalid_description FAILED test_listeners_non_admin.py::ListenersTestJSON::test_create_listener_invalid_name FAILED test_listeners_non_admin.py::ListenersTestJSON::test_update_listener_invalid_description FAILED test_listeners_non_admin.py::ListenersTestJSON::test_update_listener_invalid_name FAILED test_load_balancers_non_admin.py::LoadBalancersTestJSON::test_update_load_balancer_invalid_description FAILED test_load_balancers_non_admin.py::LoadBalancersTestJSON::test_update_load_balancer_invalid_name FAILED