Bug 1548097 - neutron-lbaas provides entry point for test shipped in neutron-lbaas-tests package
Summary: neutron-lbaas provides entry point for test shipped in neutron-lbaas-tests pa...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-neutron-lbaas
Version: 9.0 (Mitaka)
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: zstream
: 9.0 (Mitaka)
Assignee: Assaf Muller
QA Contact: Toni Freger
URL:
Whiteboard:
Depends On: 1547567
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-02-22 17:10 UTC by Pavel Sedlák
Modified: 2018-03-15 12:43 UTC (History)
7 users (show)

Fixed In Version: openstack-neutron-lbaas-8.4.0-4.el7ost
Doc Type: If docs needed, set a value
Doc Text:
Clone Of: 1547567
Environment:
Last Closed: 2018-03-15 12:43:20 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2018:0537 0 None None None 2018-03-15 12:43:23 UTC

Description Pavel Sedlák 2018-02-22 17:10:12 UTC
in this case for OSP9, it would be consequence of https://bugzilla.redhat.com/show_bug.cgi?id=1526098

+++ This bug was initially created as a clone of Bug #1547567 +++

Description of problem:
With python entry point being added as requested in https://bugzilla.redhat.com/show_bug.cgi?id=1526100
is is provided by neutron-lbaas package,
when tempest and neutron-lbaas are both installed (example packstack allinone or such),
any attempt to configure and run tempest will fail.

> tools/config_tempest.py  --debug -v --create   ...
> STDERR:
> 2018-02-20 17:09:59.480 19626 INFO tempest [-] Using tempest config file /etc/tempest/tempest.conf
> 2018-02-20 17:09:59.520 19626 ERROR tempest.test_discover.plugins [-] Could not load 'neutron_lbaas': No module named tests.tempest.plugin
> 2018-02-20 17:09:59.520 19626 CRITICAL tempest [-] ImportError: No module named tests.tempest.plugin
> 2018-02-20 17:09:59.520 19626 ERROR tempest Traceback (most recent call last):
> 2018-02-20 17:09:59.520 19626 ERROR tempest   File "tools/config_tempest.py", line 451, in <module>
> 2018-02-20 17:09:59.520 19626 ERROR tempest     class TempestConf(ConfigParser.SafeConfigParser):
> 2018-02-20 17:09:59.520 19626 ERROR tempest   File "tools/config_tempest.py", line 459, in TempestConf
> 2018-02-20 17:09:59.520 19626 ERROR tempest     CONF = tempest.config.TempestConfigPrivate(parse_conf=False)
> 2018-02-20 17:09:59.520 19626 ERROR tempest   File "/home/cloud-user/tempest-dir/tempest/config.py", line 1366, in __init__
> 2018-02-20 17:09:59.520 19626 ERROR tempest     register_opts()
> 2018-02-20 17:09:59.520 19626 ERROR tempest   File "/home/cloud-user/tempest-dir/tempest/config.py", line 1252, in register_opts
> 2018-02-20 17:09:59.520 19626 ERROR tempest     ext_plugins = plugins.TempestTestPluginManager()
> 2018-02-20 17:09:59.520 19626 ERROR tempest   File "/home/cloud-user/tempest-dir/tempest/lib/common/utils/misc.py", line 30, in getinstance
> 2018-02-20 17:09:59.520 19626 ERROR tempest     instances[cls] = cls()
> 2018-02-20 17:09:59.520 19626 ERROR tempest   File "/home/cloud-user/tempest-dir/tempest/test_discover/plugins.py", line 77, in __init__
> 2018-02-20 17:09:59.520 19626 ERROR tempest     on_load_failure_callback=self.failure_hook)
> 2018-02-20 17:09:59.520 19626 ERROR tempest   File "/usr/lib/python2.7/site-packages/stevedore/extension.py", line 92, in __init__
> 2018-02-20 17:09:59.520 19626 ERROR tempest     verify_requirements)
> 2018-02-20 17:09:59.520 19626 ERROR tempest   File "/usr/lib/python2.7/site-packages/stevedore/extension.py", line 170, in _load_plugins
> 2018-02-20 17:09:59.520 19626 ERROR tempest     self._on_load_failure_callback(self, ep, err)
> 2018-02-20 17:09:59.520 19626 ERROR tempest   File "/home/cloud-user/tempest-dir/tempest/test_discover/plugins.py", line 82, in failure_hook
> 2018-02-20 17:09:59.520 19626 ERROR tempest     raise err
> 2018-02-20 17:09:59.520 19626 ERROR tempest ImportError: No module named tests.tempest.plugin

Issue here being, that tempest does correctly attempts working with all registered entry points,
but in this case entry point is created/provided by rpm package which does not contain corresponding code for it,
this code (these tests) are shipped in separate neutron-lbaas-tests subpkg.

So for tempest to work now, whenever there is tempest & neutron-lbaas package, there always have to be neutron-lbaas-tests also installed.

Ideally entry point would be provided by neutron-lbaas-tests package itself (as that one contains the tests for which entry point is added, not the lbaas package itself).

There is also risk that when extra rpm dependencies/Requires being added,
we may end up installing lbaas packages and tests in environments where it's not expected
(e.g. in OSPd undercloud case lbaas is not installed, neither it's there related to availability of lbaas on OC nodes).


Version-Release number of selected component (if applicable):
openstack-tempest.noarch         1:liberty-20160413.2.el7ost @rhelosp-8.0-puddle     
python-neutron-lbaas.noarch      1:7.2.0-5.el7ost       @rhelosp-8.0-puddle     
openstack-neutron-lbaas.noarch   1:7.2.0-5.el7ost       @rhelosp-8.0-puddle     

Reproducible as:
packstack all-in-one install,
install tempest  # do not explicitely install lbaas-tests here
execute config_tempest tool

Comment 8 errata-xmlrpc 2018-03-15 12:43:20 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2018:0537


Note You need to log in before you can comment on or make changes to this bug.