The problem appears due to 1.1.6 and bug 1308637. However as far as I can tell that patch is not causing the problem itself but only surfacing an issue that already existed within the Horizon test. At this point when we redirect the user to /auth/logout/ in a unit test the user is not properly logged out and the django session is not terminated. (It works fine testing in a real environment.)
To fix the test we need to mock the logout method properly, though it doesn't seem totally straightforward because of the way the redirection is handled. I think the test is trying to do too much and would fit better as an integration test. My suggestion for now would be to disable the test to get the horizon gate going again. I'll propose a second patch later today to change it so it has a reduced scope. This also affects Icehouse. ** Also affects: horizon/icehouse Importance: Undecided Status: New -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to OpenStack Dashboard (Horizon). https://bugs.launchpad.net/bugs/1333144 Title: Jenkins fails patch verification on: ConnectionError: HTTPConnectionPool(host='public.nova.example.com', port=8774): Max retries exceeded Status in OpenStack Dashboard (Horizon): Confirmed Status in OpenStack Dashboard (Horizon) icehouse series: New Bug description: Jenkins fails on three tests: ====================== gate-horizon-python26 gate-horizon-python27 gate-horizon-python27-django14 The error that repeats in the log files is: ================================ 14-06-22 20:18:42.483 | ERROR: test_change_password_shows_message_on_login_page (openstack_dashboard.dashboards.settings.password.tests.ChangePasswordTests) | ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/jenkins/workspace/gate-horizon-python27/openstack_dashboard/test/helpers.py", line 81, in instance_stub_out return fn(self, *args, **kwargs) File "/home/jenkins/workspace/gate-horizon-python27/openstack_dashboard/dashboards/settings/password/tests.py", line 65, in test_change_password_shows_message_on_login_page res = self.client.post(INDEX_URL, formData, follow=True) File "/home/jenkins/workspace/gate-horizon-python27/.tox/py27/local/lib/python2.7/site-packages/django/test/client.py", line 485, in post response = self._handle_redirects(response, **extra) File "/home/jenkins/workspace/gate-horizon-python27/.tox/py27/local/lib/python2.7/site-packages/django/test/client.py", line 617, in _handle_redirects response = self.get(url.path, QueryDict(url.query), follow=False, **extra) File "/home/jenkins/workspace/gate-horizon-python27/.tox/py27/local/lib/python2.7/site-packages/django/test/client.py", line 473, in get response = super(Client, self).get(path, data=data, **extra) File "/home/jenkins/workspace/gate-horizon-python27/.tox/py27/local/lib/python2.7/site-packages/django/test/client.py", line 280, in get return self.request(**r) File "/home/jenkins/workspace/gate-horizon-python27/.tox/py27/local/lib/python2.7/site-packages/django/test/client.py", line 444, in request six.reraise(*exc_info) File "/home/jenkins/workspace/gate-horizon-python27/.tox/py27/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 112, in get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "/home/jenkins/workspace/gate-horizon-python27/horizon/decorators.py", line 36, in dec return view_func(request, *args, **kwargs) File "/home/jenkins/workspace/gate-horizon-python27/horizon/decorators.py", line 52, in dec return view_func(request, *args, **kwargs) File "/home/jenkins/workspace/gate-horizon-python27/horizon/decorators.py", line 36, in dec return view_func(request, *args, **kwargs) File "/home/jenkins/workspace/gate-horizon-python27/.tox/py27/local/lib/python2.7/site-packages/django/views/generic/base.py", line 69, in view return self.dispatch(request, *args, **kwargs) File "/home/jenkins/workspace/gate-horizon-python27/.tox/py27/local/lib/python2.7/site-packages/django/views/generic/base.py", line 87, in dispatch return handler(request, *args, **kwargs) File "/home/jenkins/workspace/gate-horizon-python27/horizon/tables/views.py", line 152, in get handled = self.construct_tables() File "/home/jenkins/workspace/gate-horizon-python27/horizon/tables/views.py", line 143, in construct_tables handled = self.handle_table(table) File "/home/jenkins/workspace/gate-horizon-python27/horizon/tables/views.py", line 116, in handle_table data = self._get_data_dict() File "/home/jenkins/workspace/gate-horizon-python27/horizon/tables/views.py", line 179, in _get_data_dict self._data = {self.table_class._meta.name: self.get_data()} File "/home/jenkins/workspace/gate-horizon-python27/openstack_dashboard/dashboards/project/overview/views.py", line 55, in get_data super(ProjectOverview, self).get_data() File "/home/jenkins/workspace/gate-horizon-python27/openstack_dashboard/usage/views.py", line 43, in get_data self.usage.summarize(*self.usage.get_date_range()) File "/home/jenkins/workspace/gate-horizon-python27/openstack_dashboard/usage/base.py", line 195, in summarize if not api.nova.extension_supported('SimpleTenantUsage', self.request): File "/home/jenkins/workspace/gate-horizon-python27/horizon/utils/memoized.py", line 90, in wrapped value = cache[key] = func(*args, **kwargs) File "/home/jenkins/workspace/gate-horizon-python27/openstack_dashboard/api/nova.py", line 750, in extension_supported extensions = list_extensions(request) File "/home/jenkins/workspace/gate-horizon-python27/horizon/utils/memoized.py", line 90, in wrapped value = cache[key] = func(*args, **kwargs) File "/home/jenkins/workspace/gate-horizon-python27/openstack_dashboard/api/nova.py", line 741, in list_extensions return nova_list_extensions.ListExtManager(novaclient(request)).show_all() File "/home/jenkins/workspace/gate-horizon-python27/.tox/py27/local/lib/python2.7/site-packages/novaclient/v1_1/contrib/list_extensions.py", line 37, in show_all return self._list("/extensions", 'extensions') File "/home/jenkins/workspace/gate-horizon-python27/.tox/py27/local/lib/python2.7/site-packages/novaclient/base.py", line 64, in _list _resp, body = self.api.client.get(url) File "/home/jenkins/workspace/gate-horizon-python27/.tox/py27/local/lib/python2.7/site-packages/novaclient/client.py", line 283, in get return self._cs_request(url, 'GET', **kwargs) File "/home/jenkins/workspace/gate-horizon-python27/.tox/py27/local/lib/python2.7/site-packages/novaclient/client.py", line 260, in _cs_request **kwargs) File "/home/jenkins/workspace/gate-horizon-python27/.tox/py27/local/lib/python2.7/site-packages/novaclient/client.py", line 242, in _time_request resp, body = self.request(url, method, **kwargs) File "/home/jenkins/workspace/gate-horizon-python27/.tox/py27/local/lib/python2.7/site-packages/novaclient/client.py", line 213, in request **kwargs) File "/home/jenkins/workspace/gate-horizon-python27/.tox/py27/local/lib/python2.7/site-packages/requests/sessions.py", line 456, in request resp = self.send(prep, **send_kwargs) File "/home/jenkins/workspace/gate-horizon-python27/.tox/py27/local/lib/python2.7/site-packages/requests/sessions.py", line 559, in send r = adapter.send(request, **kwargs) File "/home/jenkins/workspace/gate-horizon-python27/.tox/py27/local/lib/python2.7/site-packages/requests/adapters.py", line 375, in send raise ConnectionError(e, request=request) ConnectionError: HTTPConnectionPool(host='public.nova.example.com', port=8774): Max retries exceeded with url: /v2/extensions (Caused by <class 'socket.gaierror'>: [Errno -2] Name or service not known) To manage notifications about this bug go to: https://bugs.launchpad.net/horizon/+bug/1333144/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp