Tox -epy27 fails for tempest tag 5

Bug #1470648 reported by Imran Hayder
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tempest
New
Undecided
Unassigned

Bug Description

Hi, as tempest recently released tag 5, we decided to updated our local tempest with tag 5. But as soon we did that,
our CI gating jobs and reported failures.

The gating job runs :

tox -e py27

and result was:
=====================================================

==============================
Failed 4 tests - output below:
==============================

tempest.tests.test_decorators.TestRequiresExtDecorator.test_requires_ext_decorator_with_all_ext_enabled
-------------------------------------------------------------------------------------------------------

Captured traceback:
~~~~~~~~~~~~~~~~~~~
    Traceback (most recent call last):
      File "/home/imran/Desktop/tempest/.tox/py27/local/lib/python2.7/site-packages/fixtures/fixture.py", line 125, in cleanUp
        return self._cleanups(raise_errors=raise_first)
    TypeError: 'NoneType' object is not callable

tempest.tests.common.test_accounts.TestAccount.test_networks_returned_with_creds
--------------------------------------------------------------------------------

Captured traceback:
~~~~~~~~~~~~~~~~~~~
    Traceback (most recent call last):
      File "/home/imran/Desktop/tempest/.tox/py27/local/lib/python2.7/site-packages/fixtures/fixture.py", line 125, in cleanUp
        return self._cleanups(raise_errors=raise_first)
    TypeError: 'NoneType' object is not callable

tempest.tests.test_tenant_isolation.TestTenantIsolation.test_all_cred_cleanup
-----------------------------------------------------------------------------

Captured traceback-4:
~~~~~~~~~~~~~~~~~~~~~
    Traceback (most recent call last):
      File "/home/imran/Desktop/tempest/.tox/py27/local/lib/python2.7/site-packages/fixtures/fixture.py", line 125, in cleanUp
        return self._cleanups(raise_errors=raise_first)
    TypeError: 'NoneType' object is not callable

Captured traceback-1:
~~~~~~~~~~~~~~~~~~~~~
    Traceback (most recent call last):
      File "/home/imran/Desktop/tempest/.tox/py27/local/lib/python2.7/site-packages/fixtures/fixture.py", line 125, in cleanUp
        return self._cleanups(raise_errors=raise_first)
    TypeError: 'NoneType' object is not callable

Captured traceback-3:
~~~~~~~~~~~~~~~~~~~~~
    Traceback (most recent call last):
      File "/home/imran/Desktop/tempest/.tox/py27/local/lib/python2.7/site-packages/fixtures/fixture.py", line 125, in cleanUp
        return self._cleanups(raise_errors=raise_first)
    TypeError: 'NoneType' object is not callable

Captured traceback-2:
~~~~~~~~~~~~~~~~~~~~~
    Traceback (most recent call last):
      File "/home/imran/Desktop/tempest/.tox/py27/local/lib/python2.7/site-packages/fixtures/fixture.py", line 125, in cleanUp
        return self._cleanups(raise_errors=raise_first)
    TypeError: 'NoneType' object is not callable

Captured traceback:
~~~~~~~~~~~~~~~~~~~
    Traceback (most recent call last):
      File "/home/imran/Desktop/tempest/.tox/py27/local/lib/python2.7/site-packages/fixtures/fixture.py", line 125, in cleanUp
        return self._cleanups(raise_errors=raise_first)
    TypeError: 'NoneType' object is not callable

tempest.tests.test_tenant_isolation.TestTenantIsolation.test_network_cleanup
----------------------------------------------------------------------------

Captured traceback-10:
~~~~~~~~~~~~~~~~~~~~~~
    Traceback (most recent call last):
      File "/home/imran/Desktop/tempest/.tox/py27/local/lib/python2.7/site-packages/fixtures/fixture.py", line 125, in cleanUp
        return self._cleanups(raise_errors=raise_first)
    TypeError: 'NoneType' object is not callable

Captured traceback-5:
~~~~~~~~~~~~~~~~~~~~~
    Traceback (most recent call last):
      File "/home/imran/Desktop/tempest/.tox/py27/local/lib/python2.7/site-packages/fixtures/fixture.py", line 125, in cleanUp
        return self._cleanups(raise_errors=raise_first)
    TypeError: 'NoneType' object is not callable

Captured traceback-4:
~~~~~~~~~~~~~~~~~~~~~
    Traceback (most recent call last):
      File "/home/imran/Desktop/tempest/.tox/py27/local/lib/python2.7/site-packages/fixtures/fixture.py", line 125, in cleanUp
        return self._cleanups(raise_errors=raise_first)
    TypeError: 'NoneType' object is not callable

Captured traceback-7:
~~~~~~~~~~~~~~~~~~~~~
    Traceback (most recent call last):
      File "/home/imran/Desktop/tempest/.tox/py27/local/lib/python2.7/site-packages/fixtures/fixture.py", line 125, in cleanUp
        return self._cleanups(raise_errors=raise_first)
    TypeError: 'NoneType' object is not callable

Captured traceback-6:
~~~~~~~~~~~~~~~~~~~~~
    Traceback (most recent call last):
      File "/home/imran/Desktop/tempest/.tox/py27/local/lib/python2.7/site-packages/fixtures/fixture.py", line 125, in cleanUp
        return self._cleanups(raise_errors=raise_first)
    TypeError: 'NoneType' object is not callable

Captured traceback-1:
~~~~~~~~~~~~~~~~~~~~~
    Traceback (most recent call last):
      File "/home/imran/Desktop/tempest/.tox/py27/local/lib/python2.7/site-packages/fixtures/fixture.py", line 125, in cleanUp
        return self._cleanups(raise_errors=raise_first)
    TypeError: 'NoneType' object is not callable

Captured traceback-3:
~~~~~~~~~~~~~~~~~~~~~
    Traceback (most recent call last):
      File "/home/imran/Desktop/tempest/.tox/py27/local/lib/python2.7/site-packages/fixtures/fixture.py", line 125, in cleanUp
        return self._cleanups(raise_errors=raise_first)
    TypeError: 'NoneType' object is not callable

Captured traceback-2:
~~~~~~~~~~~~~~~~~~~~~
    Traceback (most recent call last):
      File "/home/imran/Desktop/tempest/.tox/py27/local/lib/python2.7/site-packages/fixtures/fixture.py", line 125, in cleanUp
        return self._cleanups(raise_errors=raise_first)
    TypeError: 'NoneType' object is not callable

Captured traceback:
~~~~~~~~~~~~~~~~~~~
    Traceback (most recent call last):
      File "/home/imran/Desktop/tempest/.tox/py27/local/lib/python2.7/site-packages/fixtures/fixture.py", line 125, in cleanUp
        return self._cleanups(raise_errors=raise_first)
    TypeError: 'NoneType' object is not callable

Captured traceback-9:
~~~~~~~~~~~~~~~~~~~~~
    Traceback (most recent call last):
      File "/home/imran/Desktop/tempest/.tox/py27/local/lib/python2.7/site-packages/fixtures/fixture.py", line 125, in cleanUp
        return self._cleanups(raise_errors=raise_first)
    TypeError: 'NoneType' object is not callable

Captured traceback-8:
~~~~~~~~~~~~~~~~~~~~~
    Traceback (most recent call last):
      File "/home/imran/Desktop/tempest/.tox/py27/local/lib/python2.7/site-packages/fixtures/fixture.py", line 125, in cleanUp
        return self._cleanups(raise_errors=raise_first)
    TypeError: 'NoneType' object is not callable

======
Totals
======
Ran: 210 tests in 9.0000 sec.
 - Passed: 206
 - Skipped: 0
 - Expected Fail: 0
 - Unexpected Success: 0
 - Failed: 4
Sum of execute time for each test: 9.6369 sec.

ERROR: InvocationError: '/bin/bash tools/pretty_tox.sh '
______________________________________________ summary _______________________________________________
ERROR: py27: commands failed

NOTE: we tried all versions of tox above 1.8.0 upto 2.1.0 which is latest and we got same results.

Revision history for this message
Matthew Treinish (treinish) wrote :

So this is caused by a recent fixtures release, and is a dup of bug 1469825. We really don't have a stable backport policy for tags since they're really just guideposts to indicate milestones and support periods of other OpenStack projects. They're not really releases with a stable branch and support period. So I think the fix for your ci is probably to just cap fixtures < 1.3.0. Or you could use master tempest, or backport the patchfix on top was recent enough that it should apply cleanly on tempest-5.

That being said this was literally only a bug in the unit tests I'm curious why you're running the tempest unit tests in your ci system unless this is a ci for a local branch of tempest.

Revision history for this message
Imran Hayder (hayderimran7) wrote :

Thank you for the detailed answer Matt :)
yes, it doesnt harm us updating to latest master, so i just tested and it works..
as for your question of gating the tempest, ....yes you guessed it right . We have our own custom suites of tempest added in tempest, and for QA team which adds tempest tests regularly specific to our environment , we need to gate on basic pep8 and py27 errors. )

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.