[openstack-dev] [Horizon][stable] Horizon kilo gate fails due to testrepository dependency

Ihar Hrachyshka ihrachys at redhat.com
Mon Jan 4 11:29:27 UTC 2016


Matthias Runge <mrunge at redhat.com> wrote:

> Hello,
>
> did we had a recent change in stable tests for Kilo?
>
> Horizon tests for kilo are now failing due to a missing dependency to
> testrepository. Horizon never used testrepository (until recently,
> where I added testr support, but only in mitaka branch).
>
> As a test, I added a test dependency for kilo branch, but that fails
> somewhere else due to missing testrepository:
>
> https://review.openstack.org/#/c/262296/
>
> The error is in [1] somewhere at the bottom:
>
> É5-12-30 09:53:27.883 | Obtaining file:///opt/stack/new/keystone
> 2015-12-30 09:53:28.504 |     Complete output from command python
> setup.py egg_info:
> 2015-12-30 09:53:28.504 |     ERROR:root:Error parsing
> 2015-12-30 09:53:28.504 |     Traceback (most recent call last):
> 2015-12-30 09:53:28.504 |       File
> "/usr/local/lib/python2.7/dist-packages/pbr/core.py", line 109, in pbr
> 2015-12-30 09:53:28.504 |         attrs = util.cfg_to_args(path)
> 2015-12-30 09:53:28.504 |       File
> "/usr/local/lib/python2.7/dist-packages/pbr/util.py", line 261, in
> cfg_to_args
> 2015-12-30 09:53:28.504 |         wrap_commands(kwargs)
> 2015-12-30 09:53:28.504 |       File
> "/usr/local/lib/python2.7/dist-packages/pbr/util.py", line 482, in
> wrap_commands
> 2015-12-30 09:53:28.504 |         for cmd, _ in dist.get_command_list():
> 2015-12-30 09:53:28.504 |       File
> "/usr/local/lib/python2.7/dist-packages/setuptools/dist.py", line 446,
> in get_command_list
> 2015-12-30 09:53:28.504 |         cmdclass = ep.resolve()
> 2015-12-30 09:53:28.505 |       File
> "/usr/local/lib/python2.7/dist-packages/pkg_resources/__init__.py", line
> 2386, in resolve
> 2015-12-30 09:53:28.505 |         module = __import__(self.module_name,
> fromlist=['__name__'], level=0)
> 2015-12-30 09:53:28.505 |       File
> "/usr/local/lib/python2.7/dist-packages/pbr/testr_command.py", line 47,
> in <module>
> 2015-12-30 09:53:28.505 |         from testrepository import commands
> 2015-12-30 09:53:28.505 |     ImportError: No module named
> testrepository
> 2015-12-30 09:53:28.505 |     error in setup command: Error parsing
> /opt/stack/new/keystone/setup.cfg: ImportError: No module named
> testrepository
>
> Any suggestions here?

Seems like pbr importing testrepository, hence the dependency belongs to  
pbr, not horizon (and as a runtime dependency, not just test only).

But note that since pbr 1.1.0, they no longer depend on the package and  
fail gracefully:

https://github.com/openstack-dev/pbr/commit/946cf80b750f3735a5d3b0c2173f4eaa7fad4a81

So the proper way would be indeed to make your package to install testr for  
tests. Not sure why it worked before, but I would bet that some other  
components installed it for you (devstack? devstack-gate? job definition?  
some other component previously installed before keystone? Not that it’s  
too important.)

Ihar



More information about the OpenStack-dev mailing list