Bug 1346749 - RHOS9 tempest run requires some packages that are not in RHOS9 repos
Summary: RHOS9 tempest run requires some packages that are not in RHOS9 repos
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-ironic
Version: 9.0 (Mitaka)
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ga
: 9.0 (Mitaka)
Assignee: tkammer
QA Contact: tkammer
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-06-15 09:54 UTC by Anshul Behl
Modified: 2016-08-11 12:25 UTC (History)
15 users (show)

Fixed In Version:
Doc Type: No Doc Update
Doc Text:
undefined
Clone Of:
Environment:
Last Closed: 2016-08-11 12:25:39 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHEA-2016:1597 0 normal SHIPPED_LIVE Red Hat OpenStack Platform 9 Release Candidate Advisory 2016-08-11 16:06:52 UTC

Description Anshul Behl 2016-06-15 09:54:45 UTC
Description of problem:
Using rhos-release tool to get RHOS9 repos
rhos-release 9
Installed: /etc/yum.repos.d/rhos-release-rhel-7.2.repo
Installed: /etc/yum.repos.d/rhos-release-9.repo
# rhos-release 9   -p 2016-06-08.1

[root@rosp9-test openstack-tempest-10.0.0]# testr list-tests
running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \
OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \
OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-500} \
OS_TEST_LOCK_PATH=${OS_TEST_LOCK_PATH:-${TMPDIR:-'/tmp'}} \
${PYTHON:-python} -m subunit.run discover -t ${OS_TOP_LEVEL:-./} ${OS_TEST_PATH:-./tempest/test_discover} --list 
2016-06-15 03:55:16.152 16438 INFO tempest [-] Using tempest config file /etc/tempest/tempest.conf
--- import errors ---
Failed to import test module: gnocchi.tempest.scenario
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/unittest2/loader.py", line 479, in _find_test_path
    package = self._get_module_from_name(name)
  File "/usr/lib/python2.7/site-packages/unittest2/loader.py", line 384, in _get_module_from_name
    __import__(name)
  File "/usr/lib/python2.7/site-packages/gnocchi/tempest/scenario/__init__.py", line 18, in <module>
    from gabbi import driver
ImportError: No module named gabbi
Non-zero exit code (2) from test listing.

[root@rosp9-test openstack-tempest-10.0.0]# yum search python-gabbi
Loaded plugins: search-disabled-repos
Warning: No matches found for: python-gabbi
No matches found

[root@rosp9-test openstack-tempest-10.0.0]# yum repolist
Loaded plugins: search-disabled-repos
repo id                                                                                    repo name                                                                                                         status
rhel-7-ha                                                                                  RHEL 7 HA                                                                                                            30
rhel-7-server                                                                              RHEL 7 Server                                                                                                     4,620
rhelosp-9.0-puddle/x86_64                                                                  RHOS-9.0                                                                                                            527
rhelosp-rhel-7-common/x86_64                                                               RHEL 7 Common                                                                                                       186
rhelosp-rhel-7.2-extras/x86_64                                                             Red Hat Enterprise Linux 7Server - x86_64 - Extras                                                                   84
rhelosp-rhel-7.2-ha/x86_64                                                                 Red Hat Enterprise Linux 7Server - x86_64 - HA                                                                       30
rhelosp-rhel-7.2-server/x86_64                                                             Red Hat Enterprise Linux 7Server - x86_64 - Server                                                                4,620
rhelosp-rhel-7.2-z/x86_64                                                                  Red Hat Enterprise Linux 7Server - x86_64 - Z-Stream                                                              8,569
rhos-release                                                                               RHOS Release                                                                                                        108
rhos-release-extras/7Server                                                                RHOS Release Extras                                                                                                   2
repolist: 18,776

How reproducible:
Everytime for this puddle

I have to install python-gabbi from brew as it is packaged, expectation should be all the dependant packages should be in rhos repo.

packages not present:  python-gabbi, python-wsgi_intercept, python-colorama

Comment 2 Suman Guha 2016-06-15 14:49:08 UTC
This is a dependency and this bug would effect maintaining certification and supporting certification testing for RHOSP 9 release. Since we rely on Tempest for certification testing, I am hoping this issue can be targeted for RHOSP 9 release.

Comment 7 Steve Linabery 2016-07-19 21:25:13 UTC
I can no longer reproduce the original bug. I think this is now a dupe of https://bugzilla.redhat.com/show_bug.cgi?id=1356092

Here's what I see with latest OSP9 puddles:

[root@minidell openstack-tempest-10.0.0]# rhos-release -x
Uninstalling all repos
Only uninstall specified, done
[root@minidell openstack-tempest-10.0.0]# rhos-release 9-director
9-director requires the core repo as well, Installing...
Installed: /etc/yum.repos.d/rhos-release-rhel-7.2.repo
Installed: /etc/yum.repos.d/rhos-release-9-director.repo
Installed: /etc/yum.repos.d/rhos-release-9.repo
# rhos-release 9-director   -p 2016-07-14.2
# rhos-release 9   -p 2016-07-19.2
[root@minidell openstack-tempest-10.0.0]# yum install openstack-tempest
Loaded plugins: langpacks, product-id, search-disabled-repos, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
rhelosp-9.0-director-ceph-1.3-mon                                                                              | 1.2 kB  00:00:00     
rhelosp-9.0-director-ceph-1.3-osd                                                                              | 1.2 kB  00:00:00     
rhelosp-9.0-director-puddle                                                                                    | 1.2 kB  00:00:00     
rhelosp-9.0-puddle                                                                                             | 1.3 kB  00:00:00     
rhelosp-rhel-7-common                                                                                          | 3.8 kB  00:00:00     
rhelosp-rhel-7.2-extras                                                                                        | 2.6 kB  00:00:00     
rhelosp-rhel-7.2-ha                                                                                            | 4.1 kB  00:00:00     
rhelosp-rhel-7.2-server                                                                                        | 4.1 kB  00:00:00     
rhelosp-rhel-7.2-z                                                                                             | 2.6 kB  00:00:00     
Package 1:openstack-tempest-10.0.0-2.b4a056dgit.el7ost.noarch already installed and latest version
Nothing to do
[root@minidell openstack-tempest-10.0.0]# pwd
/usr/share/openstack-tempest-10.0.0
[root@minidell openstack-tempest-10.0.0]# testr list-tests
running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \
OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \
OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-500} \
OS_TEST_LOCK_PATH=${OS_TEST_LOCK_PATH:-${TMPDIR:-'/tmp'}} \
${PYTHON:-python} -m subunit.run discover -t ${OS_TOP_LEVEL:-./} ${OS_TEST_PATH:-./tempest/test_discover} --list 
2016-07-19 17:17:38.825 14011 INFO tempest [-] Using tempest config file /etc/tempest/tempest.conf
/usr/lib/python2.7/site-packages/tempest_lib/__init__.py:28: DeprecationWarning: tempest-lib is deprecated for future bug-fixes and code changes in favor of tempest. Please change your imports from tempest_lib to tempest.lib
  DeprecationWarning)
--- import errors ---
Failed to import test module: ironic_tempest_plugin.tests.api.admin.test_api_discovery
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/unittest2/loader.py", line 445, in _find_test_path
    module = self._get_module_from_name(name)
  File "/usr/lib/python2.7/site-packages/unittest2/loader.py", line 384, in _get_module_from_name
    __import__(name)
  File "/usr/lib/python2.7/site-packages/ironic_tempest_plugin/tests/api/admin/test_api_discovery.py", line 15, in <module>
    from ironic_tempest_plugin.tests.api.admin import base
  File "/usr/lib/python2.7/site-packages/ironic_tempest_plugin/tests/api/admin/base.py", line 20, in <module>
    from ironic_tempest_plugin import clients
  File "/usr/lib/python2.7/site-packages/ironic_tempest_plugin/clients.py", line 31, in <module>
    ADMIN_CREDS = common_creds.get_configured_credentials('identity_admin')
  File "tempest/common/credentials_factory.py", line 275, in get_configured_credentials
    identity_version=identity_version, **params)
  File "tempest/common/credentials_factory.py", line 304, in get_credentials
    **params)
  File "tempest/lib/auth.py", line 534, in get_credentials
    ca_certs=ca_certs, trace_requests=trace_requests)
  File "tempest/lib/auth.py", line 202, in __init__
    super(KeystoneAuthProvider, self).__init__(credentials)
  File "tempest/lib/auth.py", line 53, in __init__
    raise exceptions.InvalidCredentials(message)
InvalidCredentials: Invalid Credentials
Details: Credentials are: {'username': None, 'tenant_name': None, 'user_id': None, 'tenant_id': None} Password is not defined.

Failed to import test module: ironic_tempest_plugin.tests.api.admin.test_chassis
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/unittest2/loader.py", line 445, in _find_test_path
    module = self._get_module_from_name(name)
  File "/usr/lib/python2.7/site-packages/unittest2/loader.py", line 384, in _get_module_from_name
    __import__(name)
  File "/usr/lib/python2.7/site-packages/ironic_tempest_plugin/tests/api/admin/test_chassis.py", line 19, in <module>
    from ironic_tempest_plugin.tests.api.admin import base
  File "/usr/lib/python2.7/site-packages/ironic_tempest_plugin/tests/api/admin/base.py", line 20, in <module>
    from ironic_tempest_plugin import clients
  File "/usr/lib/python2.7/site-packages/ironic_tempest_plugin/clients.py", line 31, in <module>
    ADMIN_CREDS = common_creds.get_configured_credentials('identity_admin')
  File "tempest/common/credentials_factory.py", line 275, in get_configured_credentials
    identity_version=identity_version, **params)
  File "tempest/common/credentials_factory.py", line 304, in get_credentials
    **params)
  File "tempest/lib/auth.py", line 534, in get_credentials
    ca_certs=ca_certs, trace_requests=trace_requests)
  File "tempest/lib/auth.py", line 202, in __init__
    super(KeystoneAuthProvider, self).__init__(credentials)
  File "tempest/lib/auth.py", line 53, in __init__
    raise exceptions.InvalidCredentials(message)
InvalidCredentials: Invalid Credentials
Details: Credentials are: {'username': None, 'tenant_name': None, 'user_id': None, 'tenant_id': None} Password is not defined.

Failed to import test module: ironic_tempest_plugin.tests.api.admin.test_drivers
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/unittest2/loader.py", line 445, in _find_test_path
    module = self._get_module_from_name(name)
  File "/usr/lib/python2.7/site-packages/unittest2/loader.py", line 384, in _get_module_from_name
    __import__(name)
  File "/usr/lib/python2.7/site-packages/ironic_tempest_plugin/tests/api/admin/test_drivers.py", line 18, in <module>
    from ironic_tempest_plugin.tests.api.admin import base
  File "/usr/lib/python2.7/site-packages/ironic_tempest_plugin/tests/api/admin/base.py", line 20, in <module>
    from ironic_tempest_plugin import clients
  File "/usr/lib/python2.7/site-packages/ironic_tempest_plugin/clients.py", line 31, in <module>
    ADMIN_CREDS = common_creds.get_configured_credentials('identity_admin')
  File "tempest/common/credentials_factory.py", line 275, in get_configured_credentials
    identity_version=identity_version, **params)
  File "tempest/common/credentials_factory.py", line 304, in get_credentials
    **params)
  File "tempest/lib/auth.py", line 534, in get_credentials
    ca_certs=ca_certs, trace_requests=trace_requests)
  File "tempest/lib/auth.py", line 202, in __init__
    super(KeystoneAuthProvider, self).__init__(credentials)
  File "tempest/lib/auth.py", line 53, in __init__
    raise exceptions.InvalidCredentials(message)
InvalidCredentials: Invalid Credentials
Details: Credentials are: {'username': None, 'tenant_name': None, 'user_id': None, 'tenant_id': None} Password is not defined.

Failed to import test module: ironic_tempest_plugin.tests.api.admin.test_nodes
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/unittest2/loader.py", line 445, in _find_test_path
    module = self._get_module_from_name(name)
  File "/usr/lib/python2.7/site-packages/unittest2/loader.py", line 384, in _get_module_from_name
    __import__(name)
  File "/usr/lib/python2.7/site-packages/ironic_tempest_plugin/tests/api/admin/test_nodes.py", line 19, in <module>
    from ironic_tempest_plugin.tests.api.admin import base
  File "/usr/lib/python2.7/site-packages/ironic_tempest_plugin/tests/api/admin/base.py", line 20, in <module>
    from ironic_tempest_plugin import clients
  File "/usr/lib/python2.7/site-packages/ironic_tempest_plugin/clients.py", line 31, in <module>
    ADMIN_CREDS = common_creds.get_configured_credentials('identity_admin')
  File "tempest/common/credentials_factory.py", line 275, in get_configured_credentials
    identity_version=identity_version, **params)
  File "tempest/common/credentials_factory.py", line 304, in get_credentials
    **params)
  File "tempest/lib/auth.py", line 534, in get_credentials
    ca_certs=ca_certs, trace_requests=trace_requests)
  File "tempest/lib/auth.py", line 202, in __init__
    super(KeystoneAuthProvider, self).__init__(credentials)
  File "tempest/lib/auth.py", line 53, in __init__
    raise exceptions.InvalidCredentials(message)
InvalidCredentials: Invalid Credentials
Details: Credentials are: {'username': None, 'tenant_name': None, 'user_id': None, 'tenant_id': None} Password is not defined.

Failed to import test module: ironic_tempest_plugin.tests.api.admin.test_nodestates
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/unittest2/loader.py", line 445, in _find_test_path
    module = self._get_module_from_name(name)
  File "/usr/lib/python2.7/site-packages/unittest2/loader.py", line 384, in _get_module_from_name
    __import__(name)
  File "/usr/lib/python2.7/site-packages/ironic_tempest_plugin/tests/api/admin/test_nodestates.py", line 19, in <module>
    from ironic_tempest_plugin.tests.api.admin import base
  File "/usr/lib/python2.7/site-packages/ironic_tempest_plugin/tests/api/admin/base.py", line 20, in <module>
    from ironic_tempest_plugin import clients
  File "/usr/lib/python2.7/site-packages/ironic_tempest_plugin/clients.py", line 31, in <module>
    ADMIN_CREDS = common_creds.get_configured_credentials('identity_admin')
  File "tempest/common/credentials_factory.py", line 275, in get_configured_credentials
    identity_version=identity_version, **params)
  File "tempest/common/credentials_factory.py", line 304, in get_credentials
    **params)
  File "tempest/lib/auth.py", line 534, in get_credentials
    ca_certs=ca_certs, trace_requests=trace_requests)
  File "tempest/lib/auth.py", line 202, in __init__
    super(KeystoneAuthProvider, self).__init__(credentials)
  File "tempest/lib/auth.py", line 53, in __init__
    raise exceptions.InvalidCredentials(message)
InvalidCredentials: Invalid Credentials
Details: Credentials are: {'username': None, 'tenant_name': None, 'user_id': None, 'tenant_id': None} Password is not defined.

Failed to import test module: ironic_tempest_plugin.tests.api.admin.test_ports
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/unittest2/loader.py", line 445, in _find_test_path
    module = self._get_module_from_name(name)
  File "/usr/lib/python2.7/site-packages/unittest2/loader.py", line 384, in _get_module_from_name
    __import__(name)
  File "/usr/lib/python2.7/site-packages/ironic_tempest_plugin/tests/api/admin/test_ports.py", line 18, in <module>
    from ironic_tempest_plugin.tests.api.admin import base
  File "/usr/lib/python2.7/site-packages/ironic_tempest_plugin/tests/api/admin/base.py", line 20, in <module>
    from ironic_tempest_plugin import clients
  File "/usr/lib/python2.7/site-packages/ironic_tempest_plugin/clients.py", line 31, in <module>
    ADMIN_CREDS = common_creds.get_configured_credentials('identity_admin')
  File "tempest/common/credentials_factory.py", line 275, in get_configured_credentials
    identity_version=identity_version, **params)
  File "tempest/common/credentials_factory.py", line 304, in get_credentials
    **params)
  File "tempest/lib/auth.py", line 534, in get_credentials
    ca_certs=ca_certs, trace_requests=trace_requests)
  File "tempest/lib/auth.py", line 202, in __init__
    super(KeystoneAuthProvider, self).__init__(credentials)
  File "tempest/lib/auth.py", line 53, in __init__
    raise exceptions.InvalidCredentials(message)
InvalidCredentials: Invalid Credentials
Details: Credentials are: {'username': None, 'tenant_name': None, 'user_id': None, 'tenant_id': None} Password is not defined.

Failed to import test module: ironic_tempest_plugin.tests.api.admin.test_ports_negative
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/unittest2/loader.py", line 445, in _find_test_path
    module = self._get_module_from_name(name)
  File "/usr/lib/python2.7/site-packages/unittest2/loader.py", line 384, in _get_module_from_name
    __import__(name)
  File "/usr/lib/python2.7/site-packages/ironic_tempest_plugin/tests/api/admin/test_ports_negative.py", line 17, in <module>
    from ironic_tempest_plugin.tests.api.admin import base
  File "/usr/lib/python2.7/site-packages/ironic_tempest_plugin/tests/api/admin/base.py", line 20, in <module>
    from ironic_tempest_plugin import clients
  File "/usr/lib/python2.7/site-packages/ironic_tempest_plugin/clients.py", line 31, in <module>
    ADMIN_CREDS = common_creds.get_configured_credentials('identity_admin')
  File "tempest/common/credentials_factory.py", line 275, in get_configured_credentials
    identity_version=identity_version, **params)
  File "tempest/common/credentials_factory.py", line 304, in get_credentials
    **params)
  File "tempest/lib/auth.py", line 534, in get_credentials
    ca_certs=ca_certs, trace_requests=trace_requests)
  File "tempest/lib/auth.py", line 202, in __init__
    super(KeystoneAuthProvider, self).__init__(credentials)
  File "tempest/lib/auth.py", line 53, in __init__
    raise exceptions.InvalidCredentials(message)
InvalidCredentials: Invalid Credentials
Details: Credentials are: {'username': None, 'tenant_name': None, 'user_id': None, 'tenant_id': None} Password is not defined.

Failed to import test module: ironic_tempest_plugin.tests.scenario.test_baremetal_basic_ops
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/unittest2/loader.py", line 445, in _find_test_path
    module = self._get_module_from_name(name)
  File "/usr/lib/python2.7/site-packages/unittest2/loader.py", line 384, in _get_module_from_name
    __import__(name)
  File "/usr/lib/python2.7/site-packages/ironic_tempest_plugin/tests/scenario/test_baremetal_basic_ops.py", line 21, in <module>
    from ironic_tempest_plugin.tests.scenario import baremetal_manager
  File "/usr/lib/python2.7/site-packages/ironic_tempest_plugin/tests/scenario/baremetal_manager.py", line 23, in <module>
    from ironic_tempest_plugin import clients
  File "/usr/lib/python2.7/site-packages/ironic_tempest_plugin/clients.py", line 31, in <module>
    ADMIN_CREDS = common_creds.get_configured_credentials('identity_admin')
  File "tempest/common/credentials_factory.py", line 275, in get_configured_credentials
    identity_version=identity_version, **params)
  File "tempest/common/credentials_factory.py", line 304, in get_credentials
    **params)
  File "tempest/lib/auth.py", line 534, in get_credentials
    ca_certs=ca_certs, trace_requests=trace_requests)
  File "tempest/lib/auth.py", line 202, in __init__
    super(KeystoneAuthProvider, self).__init__(credentials)
  File "tempest/lib/auth.py", line 53, in __init__
    raise exceptions.InvalidCredentials(message)
InvalidCredentials: Invalid Credentials
Details: Credentials are: {'username': None, 'tenant_name': None, 'user_id': None, 'tenant_id': None} Password is not defined.
Non-zero exit code (2) from test listing.

Comment 9 Arx Cruz 2016-07-22 09:03:49 UTC
As per comment #7 the problem is that you don't have a proper tempest.conf file in /usr/share/openstack-tempest-10.0.0/etc
Also, even if you have a proper tempest.conf you get a permission error because normal user cannot write on /usr/share/openstack-tempest-10.0.0/tempest.log.
Having the proper tempest.conf file set, and running the testr list-tests as root:

[root@undercloud openstack-tempest-10.0.0]# testr list-tests
running=OS_STDOUT_CAPTURE=${OS_STDOUT_CAPTURE:-1} \
OS_STDERR_CAPTURE=${OS_STDERR_CAPTURE:-1} \
OS_TEST_TIMEOUT=${OS_TEST_TIMEOUT:-500} \
OS_TEST_LOCK_PATH=${OS_TEST_LOCK_PATH:-${TMPDIR:-'/tmp'}} \
${PYTHON:-python} -m subunit.run discover -t ${OS_TOP_LEVEL:-./} ${OS_TEST_PATH:-./tempest/test_discover} --list 
/usr/lib/python2.7/site-packages/tempest_lib/__init__.py:28: DeprecationWarning: tempest-lib is deprecated for future bug-fixes and code changes in favor of tempest. Please change your imports from tempest_lib to tempest.lib
  DeprecationWarning)
tempest.api.baremetal.admin.test_api_discovery.TestApiDiscovery.test_api_versions[id-a3c27e94-f56c-42c4-8600-d6790650b9c5]
tempest.api.baremetal.admin.test_api_discovery.TestApiDiscovery.test_default_version[id-896283a6-488e-4f31-af78-6614286cbe0d]
tempest.api.baremetal.admin.test_api_discovery.TestApiDiscovery.test_version_1_resources[id-abc0b34d-e684-4546-9728-ab7a9ad9f174]
tempest.api.baremetal.admin.test_chassis.TestChassis.test_chassis_node_list[id-76305e22-a4e2-4ab3-855c-f4e2368b9335]
tempest.api.baremetal.admin.test_chassis.TestChassis.test_create_chassis[id-7c5a2e09-699c-44be-89ed-2bc189992d42]
tempest.api.baremetal.admin.test_chassis.TestChassis.test_create_chassis_unicode_description[id-cabe9c6f-dc16-41a7-b6b9-0a90c212edd5]
...

Tempest package: openstack-tempest-10.0.0-2.b4a056dgit.el7ost.noarch

Comment 13 errata-xmlrpc 2016-08-11 12:25:39 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-1597.html


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