[openstack-dev] [nova] contextlib.nested and Python3 failing

Sylvain Bauza sbauza at redhat.com
Wed Aug 19 23:51:46 UTC 2015


Hi,

I was writing some tests so I added a contextlib.nested to a checked 
TestCase [1]. Unfortunately, contextlib.nested is no longer available in 
Python3 and there is no clear solution on how to provide a compatible 
import for both python2 and python3:
  - either providing a python3 compatible behaviour by using 
contextlib.ExitStack but that class is not available in Python 2
  - or provide contextlib2 for python2 (and thus adding it to the 
requirements)

That sounds really disruptive and blocking as we are close to the 
FeatureFreeze. Many other users of contextlib.nested are not impacted by 
the job because it excludes all of them but since the test I'm changing 
is part of the existing validated tests, that leaves Jenkins -1'ing my 
change.

Of course, a 3rd solution would consist of excluding my updated test 
from the python3 check but I can hear others yelling at that :-)

Ideas appreciated.

-Sylvain

[1] 
https://review.openstack.org/#/c/199205/18/nova/tests/unit/scheduler/test_rpcapi.py,cm




More information about the OpenStack-dev mailing list