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
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.
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.
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
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