Bug 1315667

Summary: tempest CLI command does not find the entry points for subcommands
Product: Red Hat OpenStack Reporter: Luigi Toscano <ltoscano>
Component: openstack-tempestAssignee: Daniel Mellado <dmellado>
Status: CLOSED ERRATA QA Contact: tkammer
Severity: medium Docs Contact:
Priority: unspecified    
Version: 8.0 (Liberty)CC: apevec, arkady_kanevsky, lhh, slinaber
Target Milestone: gaKeywords: Reopened
Target Release: 8.0 (Liberty)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: openstack-tempest-liberty-20160126.2.el7ost Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1315742 (view as bug list) Environment:
Last Closed: 2016-04-07 21:34:29 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1315742    
Bug Blocks: 1261979    

Description Luigi Toscano 2016-03-08 11:53:56 UTC
Description of problem:

$ tempest --help --debug
usage: tempest [--version] [-v] [--log-file LOG_FILE] [-q] [-h] [--debug]

Tempest cli application

optional arguments:
  --version            show program's version number and exit
  -v, --verbose        Increase verbosity of output. Can be repeated.
  --log-file LOG_FILE  Specify a file to log output. Disabled by default.
  -q, --quiet          Suppress output except warnings and errors.
  -h, --help           Show help message and exit.
  --debug              Show tracebacks on errors.

Commands:
Could not load EntryPoint.parse('account-generator = tempest.cmd.account_generator:TempestAccountGenerator')
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/cliff/help.py", line 22, in __call__
    factory = ep.load()
  File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 2259, in load
    if require: self.require(env, installer)
  File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 2272, in require
    working_set.resolve(self.dist.requires(self.extras),env,installer)))
  File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 630, in resolve
    raise VersionConflict(dist,req) # XXX put more info here
VersionConflict: (fixtures 0.3.14 (/usr/lib/python2.7/site-packages), Requirement.parse('fixtures>=1.3.1'))
Could not load EntryPoint.parse('cleanup = tempest.cmd.cleanup:TempestCleanup')
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/cliff/help.py", line 22, in __call__
    factory = ep.load()
  File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 2259, in load
    if require: self.require(env, installer)
  File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 2272, in require
    working_set.resolve(self.dist.requires(self.extras),env,installer)))
  File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 630, in resolve
    raise VersionConflict(dist,req) # XXX put more info here
VersionConflict: (fixtures 0.3.14 (/usr/lib/python2.7/site-packages), Requirement.parse('fixtures>=1.3.1'))
  complete       print bash completion command
  help           print detailed help for another command
Could not load EntryPoint.parse('init = tempest.cmd.init:TempestInit')
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/cliff/help.py", line 22, in __call__
    factory = ep.load()
  File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 2259, in load
    if require: self.require(env, installer)
  File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 2272, in require
    working_set.resolve(self.dist.requires(self.extras),env,installer)))
  File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 630, in resolve
    raise VersionConflict(dist,req) # XXX put more info here
VersionConflict: (fixtures 0.3.14 (/usr/lib/python2.7/site-packages), Requirement.parse('fixtures>=1.3.1'))
Could not load EntryPoint.parse('list-plugins = tempest.cmd.list_plugins:TempestListPlugins')
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/cliff/help.py", line 22, in __call__
    factory = ep.load()
  File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 2259, in load
    if require: self.require(env, installer)
  File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 2272, in require
    working_set.resolve(self.dist.requires(self.extras),env,installer)))
  File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 630, in resolve
    raise VersionConflict(dist,req) # XXX put more info here
VersionConflict: (fixtures 0.3.14 (/usr/lib/python2.7/site-packages), Requirement.parse('fixtures>=1.3.1'))
Could not load EntryPoint.parse('run-stress = tempest.cmd.run_stress:TempestRunStress')
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/cliff/help.py", line 22, in __call__
    factory = ep.load()
  File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 2259, in load
    if require: self.require(env, installer)
  File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 2272, in require
    working_set.resolve(self.dist.requires(self.extras),env,installer)))
  File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 630, in resolve
    raise VersionConflict(dist,req) # XXX put more info here
VersionConflict: (fixtures 0.3.14 (/usr/lib/python2.7/site-packages), Requirement.parse('fixtures>=1.3.1'))
Could not load EntryPoint.parse('verify-config = tempest.cmd.verify_tempest_config:TempestVerifyConfig')
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/cliff/help.py", line 22, in __call__
    factory = ep.load()
  File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 2259, in load
    if require: self.require(env, installer)
  File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 2272, in require
    working_set.resolve(self.dist.requires(self.extras),env,installer)))
  File "/usr/lib/python2.7/site-packages/pkg_resources.py", line 630, in resolve
    raise VersionConflict(dist,req) # XXX put more info here
VersionConflict: (fixtures 0.3.14 (/usr/lib/python2.7/site-packages), Requirement.parse('fixtures>=1.3.1'))

Quick diagnosis:
Tempest is a branchless and its master branch inherited post-liberty dependencies through updates of global-requirements. The requirements are not provided by the packages, but tempest CLI seems to work anyway even with Liberty dependencies.
Lowering the dependencies in openstack-tempest and python-tempest-lib to the releases available in the packages seems to fix it.  

Version-Release number of selected component (if applicable):
openstack-tempest-liberty-20160126.1.el7ost.noarch
python-tempest-lib-0.13.0-1.el7ost.noarch

Comment 5 errata-xmlrpc 2016-04-07 21:34:29 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://rhn.redhat.com/errata/RHEA-2016-0603.html