test_keypair integration test consistently fails

Bug #1526791 reported by Timur Sufiev
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
OpenStack Dashboard (Horizon)
Fix Released
Critical
Timur Sufiev

Bug Description

It fails with the following traceback:

2015-12-16 07:11:15.197 | 2015-12-16 07:11:15.181 | ERROR: openstack_dashboard.test.integration_tests.tests.test_keypair.TestKeypair.test_keypair
2015-12-16 07:11:15.197 | 2015-12-16 07:11:15.182 | ----------------------------------------------------------------------
2015-12-16 07:11:15.228 | 2015-12-16 07:11:15.185 | Traceback (most recent call last):
2015-12-16 07:11:15.228 | 2015-12-16 07:11:15.186 | File "/opt/stack/new/horizon/.tox/py27integration/local/lib/python2.7/site-packages/nose/case.py", line 133, in run
2015-12-16 07:11:15.229 | 2015-12-16 07:11:15.188 | self.runTest(result)
2015-12-16 07:11:15.229 | 2015-12-16 07:11:15.190 | File "/opt/stack/new/horizon/.tox/py27integration/local/lib/python2.7/site-packages/nose/case.py", line 151, in runTest
2015-12-16 07:11:15.229 | 2015-12-16 07:11:15.192 | test(result)
2015-12-16 07:11:15.229 | 2015-12-16 07:11:15.193 | File "/opt/stack/new/horizon/.tox/py27integration/local/lib/python2.7/site-packages/unittest2/case.py", line 673, in __call__
2015-12-16 07:11:15.229 | 2015-12-16 07:11:15.195 | return self.run(*args, **kwds)
2015-12-16 07:11:15.229 | 2015-12-16 07:11:15.196 | File "/opt/stack/new/horizon/.tox/py27integration/local/lib/python2.7/site-packages/testtools/testcase.py", line 606, in run
2015-12-16 07:11:15.230 | 2015-12-16 07:11:15.197 | return run_test.run(result)
2015-12-16 07:11:15.230 | 2015-12-16 07:11:15.199 | File "/opt/stack/new/horizon/.tox/py27integration/local/lib/python2.7/site-packages/testtools/runtest.py", line 80, in run
2015-12-16 07:11:15.230 | 2015-12-16 07:11:15.200 | return self._run_one(actual_result)
2015-12-16 07:11:15.230 | 2015-12-16 07:11:15.202 | File "/opt/stack/new/horizon/.tox/py27integration/local/lib/python2.7/site-packages/testtools/runtest.py", line 94, in _run_one
2015-12-16 07:11:15.230 | 2015-12-16 07:11:15.203 | return self._run_prepared_result(ExtendedToOriginalDecorator(result))
2015-12-16 07:11:15.231 | 2015-12-16 07:11:15.205 | File "/opt/stack/new/horizon/.tox/py27integration/local/lib/python2.7/site-packages/testtools/runtest.py", line 108, in _run_prepared_result
2015-12-16 07:11:15.231 | 2015-12-16 07:11:15.206 | self._run_core()
2015-12-16 07:11:15.231 | 2015-12-16 07:11:15.208 | File "/opt/stack/new/horizon/.tox/py27integration/local/lib/python2.7/site-packages/testtools/runtest.py", line 149, in _run_core
2015-12-16 07:11:15.231 | 2015-12-16 07:11:15.210 | self.case._run_teardown, self.result):
2015-12-16 07:11:15.231 | 2015-12-16 07:11:15.211 | File "/opt/stack/new/horizon/.tox/py27integration/local/lib/python2.7/site-packages/testtools/runtest.py", line 193, in _run_user
2015-12-16 07:11:15.231 | 2015-12-16 07:11:15.212 | return self._got_user_exception(sys.exc_info())
2015-12-16 07:11:15.232 | 2015-12-16 07:11:15.214 | File "/opt/stack/new/horizon/.tox/py27integration/local/lib/python2.7/site-packages/testtools/runtest.py", line 213, in _got_user_exception
2015-12-16 07:11:15.232 | 2015-12-16 07:11:15.215 | self.case.onException(exc_info, tb_label=tb_label)
2015-12-16 07:11:15.232 | 2015-12-16 07:11:15.216 | File "/opt/stack/new/horizon/.tox/py27integration/local/lib/python2.7/site-packages/testtools/testcase.py", line 558, in onException
2015-12-16 07:11:15.233 | 2015-12-16 07:11:15.218 | handler(exc_info)
2015-12-16 07:11:15.235 | 2015-12-16 07:11:15.219 | File "/opt/stack/new/horizon/openstack_dashboard/test/integration_tests/helpers.py", line 130, in _save_screenshot
2015-12-16 07:11:15.236 | 2015-12-16 07:11:15.221 | self.driver.get_screenshot_as_file(filename)
2015-12-16 07:11:15.238 | 2015-12-16 07:11:15.222 | File "/opt/stack/new/horizon/.tox/py27integration/local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 758, in get_screenshot_as_file
2015-12-16 07:11:15.239 | 2015-12-16 07:11:15.224 | png = self.get_screenshot_as_png()
2015-12-16 07:11:15.265 | 2015-12-16 07:11:15.225 | File "/opt/stack/new/horizon/.tox/py27integration/local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 777, in get_screenshot_as_png
2015-12-16 07:11:15.265 | 2015-12-16 07:11:15.226 | return base64.b64decode(self.get_screenshot_as_base64().encode('ascii'))
2015-12-16 07:11:15.265 | 2015-12-16 07:11:15.229 | File "/opt/stack/new/horizon/.tox/py27integration/local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 787, in get_screenshot_as_base64
2015-12-16 07:11:15.266 | 2015-12-16 07:11:15.230 | return self.execute(Command.SCREENSHOT)['value']
2015-12-16 07:11:15.266 | 2015-12-16 07:11:15.232 | File "/opt/stack/new/horizon/.tox/py27integration/local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py", line 199, in execute
2015-12-16 07:11:15.266 | 2015-12-16 07:11:15.233 | response = self.command_executor.execute(driver_command, params)
2015-12-16 07:11:15.266 | 2015-12-16 07:11:15.235 | File "/opt/stack/new/horizon/.tox/py27integration/local/lib/python2.7/site-packages/selenium/webdriver/remote/remote_connection.py", line 395, in execute
2015-12-16 07:11:15.266 | 2015-12-16 07:11:15.237 | return self._request(command_info[0], url, body=data)
2015-12-16 07:11:15.267 | 2015-12-16 07:11:15.239 | File "/opt/stack/new/horizon/.tox/py27integration/local/lib/python2.7/site-packages/selenium/webdriver/remote/remote_connection.py", line 425, in _request
2015-12-16 07:11:15.267 | 2015-12-16 07:11:15.240 | self._conn.request(method, parsed_url.path, body, headers)
2015-12-16 07:11:15.267 | 2015-12-16 07:11:15.242 | File "/usr/lib/python2.7/httplib.py", line 979, in request
2015-12-16 07:11:15.267 | 2015-12-16 07:11:15.243 | self._send_request(method, url, body, headers)
2015-12-16 07:11:15.267 | 2015-12-16 07:11:15.245 | File "/usr/lib/python2.7/httplib.py", line 1013, in _send_request
2015-12-16 07:11:15.268 | 2015-12-16 07:11:15.246 | self.endheaders(body)
2015-12-16 07:11:15.268 | 2015-12-16 07:11:15.248 | File "/usr/lib/python2.7/httplib.py", line 975, in endheaders
2015-12-16 07:11:15.268 | 2015-12-16 07:11:15.249 | self._send_output(message_body)
2015-12-16 07:11:15.268 | 2015-12-16 07:11:15.250 | File "/usr/lib/python2.7/httplib.py", line 835, in _send_output
2015-12-16 07:11:15.268 | 2015-12-16 07:11:15.251 | self.send(msg)
2015-12-16 07:11:15.269 | 2015-12-16 07:11:15.253 | File "/usr/lib/python2.7/httplib.py", line 797, in send
2015-12-16 07:11:15.270 | 2015-12-16 07:11:15.254 | self.connect()
2015-12-16 07:11:15.271 | 2015-12-16 07:11:15.255 | File "/usr/lib/python2.7/httplib.py", line 778, in connect
2015-12-16 07:11:15.272 | 2015-12-16 07:11:15.257 | self.timeout, self.source_address)
2015-12-16 07:11:15.273 | 2015-12-16 07:11:15.258 | File "/usr/lib/python2.7/socket.py", line 571, in create_connection
2015-12-16 07:11:15.275 | 2015-12-16 07:11:15.259 | raise err
2015-12-16 07:11:15.276 | 2015-12-16 07:11:15.260 | error: [Errno 111] Connection refused

Revision history for this message
Timur Sufiev (tsufiev-x) wrote :

Since it's the only test that downloads a file, I have reasons to to think that the recent upgrade of Ubuntu package 42 -> 43 caused the download file modal window (shown by default) to be unavoidable. The best course of action is to disable this particular test to unblock the gate until a proper solution is found.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to horizon (master)

Related fix proposed to branch: master
Review: https://review.openstack.org/258494

Matthias Runge (mrunge)
Changed in horizon:
importance: Undecided → Critical
milestone: none → mitaka-2
Changed in horizon:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to horizon (master)

Reviewed: https://review.openstack.org/258494
Committed: https://git.openstack.org/cgit/openstack/horizon/commit/?id=b21d7bc55f15cfd1e394f72e75856dce11ad0717
Submitter: Jenkins
Branch: master

commit b21d7bc55f15cfd1e394f72e75856dce11ad0717
Author: Timur Sufiev <email address hidden>
Date: Wed Dec 16 16:36:18 2015 +0300

    Skip test_keypair integration test until it's fixed

    Change-Id: I43f34eeed7a63fb22bbe015b6d81c0ffe111d6e3
    Related-Bug: #1526791

Revision history for this message
Timur Sufiev (tsufiev-x) wrote :

Having google a bit, I realized that very often latest version of Selenium doesn't support latest Firefox version, since Firefox releases more often than Selenium. To ensure that tests don't break with each new Firefox release getting into repository, we need to cap its version in Devstack. IMO our best bet is the Firefox ESR version (https://www.mozilla.org/en-US/firefox/organizations/faq/)

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on horizon (master)

Change abandoned by Timur Sufiev (<email address hidden>) on branch: master
Review: https://review.openstack.org/258450
Reason: Not caused by download modal dialog, just incompatibility of newer ff 43 and selenium.

Revision history for this message
Itxaka Serrano (itxaka) wrote :

Seems that I cant reproduce the failure anymore with Firefox 43.0.3 under Fedora.

Would be great to retest this again when an updated version is provided in ubuntu.

Revision history for this message
Timur Sufiev (tsufiev-x) wrote :

Nevetheless, we need to cap FF version to make tests moe predictable.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to horizon (master)

Reviewed: https://review.openstack.org/263455
Committed: https://git.openstack.org/cgit/openstack/horizon/commit/?id=16cc3cd5cba71961824ca286c85c45672a8a5585
Submitter: Jenkins
Branch: master

commit 16cc3cd5cba71961824ca286c85c45672a8a5585
Author: Timur Sufiev <email address hidden>
Date: Tue Jan 5 00:36:11 2016 +0300

    Provide integration test_hooks to be used in gate job

    Using scripts inside horizon repo in test hooks we could not bother
    infra folks each time when we need to do some change to test job.

    The second part of the proposed change is to run these scripts at gate,
    see https://review.openstack.org/#/c/263457/

    Related-Bug: #1526791
    Change-Id: Ic2d60df846e876530662046d75c3e56e7841ba30

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to horizon (master)

Fix proposed to branch: master
Review: https://review.openstack.org/266975

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to horizon (master)

Related fix proposed to branch: master
Review: https://review.openstack.org/276820

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on horizon (master)

Change abandoned by Timur Sufiev (<email address hidden>) on branch: master
Review: https://review.openstack.org/266975

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix merged to horizon (master)

Reviewed: https://review.openstack.org/276820
Committed: https://git.openstack.org/cgit/openstack/horizon/commit/?id=fa3ae1688248e3920e5284c82ecbf9ed6c989caf
Submitter: Jenkins
Branch: master

commit fa3ae1688248e3920e5284c82ecbf9ed6c989caf
Author: Timur Sufiev <email address hidden>
Date: Fri Feb 5 19:38:16 2016 +0300

    Re-enable keypairs integration test

    Change-Id: Ic21393376e079a64aee4332a09d141e51db1dc1d
    Related-Bug: #1526791

Timur Sufiev (tsufiev-x)
Changed in horizon:
status: In Progress → Fix Released
milestone: mitaka-2 → mitaka-3
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.