[nova][keystone][neutron][kuryr][requirements] breaking tests with new library versions

Matthew Treinish mtreinish at kortar.org
Wed Aug 21 19:41:44 UTC 2019


On Wed, Aug 21, 2019 at 07:21:41PM +0900, Ghanshyam Mann wrote:
>  ---- On Mon, 19 Aug 2019 23:54:37 +0900 Matthew Treinish <mtreinish at kortar.org> wrote ----
>  > On Sun, Aug 18, 2019 at 11:16:11AM -0500, Matthew Thode wrote:
>  > > NOVA:
>  > > lxml===4.4.1        nova tests fail https://bugs.launchpad.net/nova/+bug/1838666
>  > > websockify===0.9.0  tempest test failing
>  > > 
>  > > KEYSTONE:
>  > > oauthlib===3.1.0    keystone https://bugs.launchpad.net/keystone/+bug/1839393
>  > > 
>  > > NEUTRON:
>  > > tenacity===5.1.1    https://2c976b5e9e9a7bed9985-82d79a041e998664bd1d0bc4b6e78332.ssl.cf2.rackcdn.com/677052/5/check/cross-neutron-py27/a0a3c75/testr_results.html.gz
>  > >                     this could be caused by pytest===5.1.0 as well
>  > > 
>  > > KURYR:
>  > > kubernetes===10.0.1 openshift PINS this, only kuryr-tempest-plugin deps on it
>  > >                     https://review.opendev.org/665352
>  > > 
>  > > MISC:
>  > > tornado===5.1.1     salt is cauing this, no eta on fix (same as the last year)
>  > > stestr===2.5.0      needs merged https://github.com/mtreinish/stestr/pull/265
>  > 
>  > This actually doesn't fix the underlying issue blocking it here. PR 265 is for
>  > fixing a compatibility issue with python 3.4, which we don't officially support
>  > in stestr but was a simple fix. The blocker is actually not an stestr issue,
>  > it's a testtools bug:
>  > 
>  > https://github.com/testing-cabal/testtools/issues/272
>  > 
>  > Where this is coming into play here is that stestr 2.5.0 switched to using an
>  > internal test runner built off of stdlib unittest instead of testtools/subunit
>  > for python 3. This was done to fix a huge number of compatibility issues people
>  > had reported when trying to run stdlib unittest suites using stestr on
>  > python >= 3.5 (which were caused by unittest2 and testools). The complication
>  > for openstack (more specificially tempest) is that it's built off of testtools
>  > not stdlib unittest. So when tempest raises 'self.skipException' as part of
>  > it's class level skip checks testtools raises 'unittest2.case.SkipTest' instead
>  > of 'unittest.case.SkipTest'. stdlib unittest does not understand what that is
>  > and treats it as an unhandled exception which is a test failure, instead of the
>  > intended skip result. [1] This is actually a general bug and will come up whenever
>  > anyone tries to use stdlib unittest to run tempest. We need to come up with a
>  > fix for this problem in testtools [2] or just workaround it in tempest.
>  > 
>  > [1] skip decorators typically aren't effected by this because they set an
>  > attribute that gets checked before the test method is executed instead of
>  > relying on an exception, which is why this is mostly only an issue for tempest
>  > because it does a lot of run time skips via exceptions.
>  > 
>  > [2] testtools is mostly unmaintained at this point, I was recently granted
>  > merge access but haven't had much free time to actively maintain it
> 
> Thanks matt for details. As you know, for Tempest where we need to support py2.7
> (including unitest2 use) for stable branches, we are going to use the specific stetsr
> version/branch(<when you will remove the py27 support) so fixing it on testtools side
> is good option to me. I think your PR to remove the unittest2 use form testtools
> make sense to me [1].  A workaround in Tempest can be last option for us.

https://github.com/testing-cabal/testtools/pull/277 isn't a short term
solution, unittest2 is still needed for python < 3.5 in testtools and
testtools has not deprecated support for python 2.7 or 3.4 yet. I probably
can rework that PR so that it's conditional and always uses stdlib unittest
for python >= 3.5 but then testtools ends up maintaining two separate paths
depending on python version. I'd like to continue thinking about that is as a
long term solution because I don't know when I'll have the time to keep pushing
that PR forward.

> 
> Till we fix it and to avoid gate break, can we cap stestr in g-r  - stestr<2.5.0 ? I know that is
> not the options you like.
> 
> [1] https://github.com/mtreinish/testtools/commit/38fc9a9e302f68d471d7b097c7327b4ff7348790
> 
> -gmann
> 
>  > 
>  > -Matt Treinish
>  > 
>  > > jsonschema===3.0.2  see https://review.opendev.org/649789
>  > > 
>  > > I'm trying to get this in place as we are getting closer to the
>  > > requirements freeze (sept 9th-13th).  Any help clearing up these bugs
>  > > would be appreciated.
>  > > 
>  > > -- 
>  > > Matthew Thode
>  > 
>  > 
>  > 
> 
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.openstack.org/pipermail/openstack-discuss/attachments/20190821/77a23585/attachment.sig>


More information about the openstack-discuss mailing list