Description of problem: Using a director based install and the latest puddle, the discover-tempest-config command is not found Version-Release number of selected component (if applicable): OSP: 13 Puddle: 2018-03-02.2 How reproducible - Always Steps to Reproduce: Install OSP-13 (master branch). [stack@undercloud-0 ~]$ source overcloudrc [stack@undercloud-0 ~]$ tempest init my_workspace [stack@undercloud-0 ~]$ cd my_workspace [stack@undercloud-0 my_workspace]$ discover-tempest-config --deployer-input ~/tempest-deployer-input.conf --debug --create -bash: discover-tempest-config: command not found
*** Bug 1553421 has been marked as a duplicate of this bug. ***
Trying to workaround by initially installing python-tempestconf: $ sudo yum -y install python-tempestconf Resolved the above error, but introduced a new error when attempting to run tempest verify-config: (overcloud) [stack@undercloud-0 ~]$ tempest verify-config -o ./etc/tempest.confRunning config verification...2018-03-12 03:27:09.510 1152 INFO tempest [-] Using tempest config file /etc/tempest/tempest.conf2018-03-12 03:27:09.531 1152 ERROR tempest.cmd.verify_tempest_config [-] Failure verifying configuration.: InvalidCredentials: Invalid CredentialsDetails: Credentials are: {username: None, project_name: None, project_domain_id: None, user_domain_id: None, tenant_id: None, user_domain_name: None, domain_name: None, tenant_name: None, user_id: None, project_id: None, domain_id: None, project_domain_name: None} Password is not defined.2018-03-12 03:27:09.531 1152 ERROR tempest.cmd.verify_tempest_config Traceback (most recent call last):2018-03-12 03:27:09.531 1152 ERROR tempest.cmd.verify_tempest_config File /home/stack/tempest/tempest/cmd/verify_tempest_config.py, line 486, in take_action2018-03-12 03:27:09.531 1152 ERROR tempest.cmd.verify_tempest_config main(parsed_args)2018-03-12 03:27:09.531 1152 ERROR tempest.cmd.verify_tempest_config File /home/stack/tempest/tempest/cmd/verify_tempest_config.py, line 450, in main2018-03-12 03:27:09.531 1152 ERROR tempest.cmd.verify_tempest_config verify_tempest_config, network_resources=net_resources)2018-03-12 03:27:09.531 1152 ERROR tempest.cmd.verify_tempest_config File /home/stack/tempest/tempest/common/credentials_factory.py, line 141, in get_credentials_provider2018-03-12 03:27:09.531 1152 ERROR tempest.cmd.verify_tempest_config **get_dynamic_provider_params(identity_version))2018-03-12 03:27:09.531 1152 ERROR tempest.cmd.verify_tempest_config File /home/stack/tempest/tempest/common/credentials_factory.py, line 73, in get_dynamic_provider_params2018-03-12 03:27:09.531 1152 ERROR tempest.cmd.verify_tempest_config fill_in=True, identity_version=identity_version)2018-03-12 03:27:09.531 1152 ERROR tempest.cmd.verify_tempest_config File /home/stack/tempest/tempest/common/credentials_factory.py, line 254, in get_configured_admin_credentials2018-03-12 03:27:09.531 1152 ERROR tempest.cmd.verify_tempest_config identity_version=identity_version, **params)2018-03-12 03:27:09.531 1152 ERROR tempest.cmd.verify_tempest_config File /home/stack/tempest/tempest/common/credentials_factory.py, line 298, in get_credentials2018-03-12 03:27:09.531 1152 ERROR tempest.cmd.verify_tempest_config **params)2018-03-12 03:27:09.531 1152 ERROR tempest.cmd.verify_tempest_config File /home/stack/tempest/tempest/lib/auth.py, line 647, in get_credentials2018-03-12 03:27:09.531 1152 ERROR tempest.cmd.verify_tempest_config http_timeout=http_timeout, proxy_url=proxy_url)2018-03-12 03:27:09.531 1152 ERROR tempest.cmd.verify_tempest_config File /home/stack/tempest/tempest/lib/auth.py, line 265, in __init__2018-03-12 03:27:09.531 1152 ERROR tempest.cmd.verify_tempest_config super(KeystoneAuthProvider, self).__init__(credentials, scope)2018-03-12 03:27:09.531 1152 ERROR tempest.cmd.verify_tempest_config File /home/stack/tempest/tempest/lib/auth.py, line 93, in __init__2018-03-12 03:27:09.531 1152 ERROR tempest.cmd.verify_tempest_config raise exceptions.InvalidCredentials(message)2018-03-12 03:27:09.531 1152 ERROR tempest.cmd.verify_tempest_config InvalidCredentials: Invalid Credentials2018-03-12 03:27:09.531 1152 ERROR tempest.cmd.verify_tempest_config Details: Credentials are: {username: None, project_name: None, project_domain_id: None, user_domain_id: None, tenant_id: None, user_domain_name: None, domain_name: None, tenant_name: None, user_id: None, project_id: None, domain_id: None, project_domain_name: None} Password is not defined.2018-03-12 03:27:09.531 1152 ERROR tempest.cmd.verify_tempest_config Traceback (most recent call last): File /home/stack/tempest/tempest/cmd/verify_tempest_config.py, line 486, in take_action main(parsed_args) File /home/stack/tempest/tempest/cmd/verify_tempest_config.py, line 450, in main verify_tempest_config, network_resources=net_resources) File /home/stack/tempest/tempest/common/credentials_factory.py, line 141, in get_credentials_provider **get_dynamic_provider_params(identity_version)) File /home/stack/tempest/tempest/common/credentials_factory.py, line 73, in get_dynamic_provider_params fill_in=True, identity_version=identity_version) File /home/stack/tempest/tempest/common/credentials_factory.py, line 254, in get_configured_admin_credentials identity_version=identity_version, **params) File /home/stack/tempest/tempest/common/credentials_factory.py, line 298, in get_credentials **params) File /home/stack/tempest/tempest/lib/auth.py, line 647, in get_credentials http_timeout=http_timeout, proxy_url=proxy_url) File /home/stack/tempest/tempest/lib/auth.py, line 265, in __init__ super(KeystoneAuthProvider, self).__init__(credentials, scope) File /home/stack/tempest/tempest/lib/auth.py, line 93, in __init__ raise exceptions.InvalidCredentials(message)InvalidCredentials: Invalid CredentialsDetails: Credentials are: {username: None, project_name: None, project_domain_id: None, user_domain_id: None, tenant_id: None, user_domain_name: None, domain_name: None, tenant_name: None, user_id: None, project_id: None, domain_id: None, project_domain_name: None} Password is not defined.2018-03-12 03:27:09.533 1152 ERROR tempest [-] Invalid CredentialsDetails: Credentials are: {username: None, project_name: None, project_domain_id: None, user_domain_id: None, tenant_id: None, user_domain_name: None, domain_name: None, tenant_name: None, user_id: None, project_id: None, domain_id: None, project_domain_name: None} Password is not defined.: InvalidCredentials: Invalid Credentials(overcloud) (.venv) [stack@undercloud-0 ~]$ cd my_workspace/(overcloud) (.venv) [stack@undercloud-0 my_workspace]$ tempest verify-config -o ./etc/tempest.confRunning config verification...Traceback (most recent call last): File /home/stack/tempest/tempest/cmd/verify_tempest_config.py, line 486, in take_action main(parsed_args) File /home/stack/tempest/tempest/cmd/verify_tempest_config.py, line 458, in main results = verify_extensions(os, service, results) File /home/stack/tempest/tempest/cmd/verify_tempest_config.py, line 286, in verify_extensions if extensions_opt[0] == all:IndexError: list index out of range
Created attachment 1407437 [details] tempest.conf created after workaround
The new error (after workaround "yum -y install python-tempestconf") is merely: (overcloud) [stack@undercloud-0 my_workspace]$ tempest verify-config -o ./etc/tempest.conf Running config verification... Traceback (most recent call last): File "/home/stack/tempest/tempest/cmd/verify_tempest_config.py", line 486, in take_action main(parsed_args) File "/home/stack/tempest/tempest/cmd/verify_tempest_config.py", line 458, in main results = verify_extensions(os, service, results) File "/home/stack/tempest/tempest/cmd/verify_tempest_config.py", line 286, in verify_extensions if extensions_opt[0] == 'all': IndexError: list index out of range -------- Attaching tempest.conf file that was created after workaround.
Found failure causes of tempest verify-config error. Please fix: 1) In "verify_tempest_config.py" (line 286): Method "verify_extensions" does not check if "get_enabled_extensions(service)" has return an empty list. Please handle empty list error - if extensions_opt is empty: Print proper message like "Service {service} has no extensions defined in tempest.conf". 2) In "/usr/lib/python2.7/site-packages/config_tempest/config_tempest.py": There's a failure in discovering "api_extensions" of "volume-feature-enabled" (cinder ?), which creates an empty value in tempest.conf (attached): [volume-feature-enabled] api_extensions =
I think I've seen issues with verify-config has troubles with non-core components. Also, verify-config is a subcommand, part of tempest, unrelated to this issue. Please track it separately.
Created a related Bug #1557736, to separate current issue (python-tempestconf requirement) from tempest verify-config error.
build failed 4756 ============================== 4757 Failed 1 tests - output below: 4758 ============================== 4759 tempest.tests.test_test.TestValidationResources.test_validation_resources_exists 4760 -------------------------------------------------------------------------------- 4761 Captured traceback: 4762 ~~~~~~~~~~~~~~~~~~~ 4763 Traceback (most recent call last): 4764 File "tempest/tests/test_test.py", line 76, in test_validation_resources_exists 4765 osclients = clients.Manager(creds) 4766 File "tempest/clients.py", line 37, in __init__ 4767 region=CONF.identity.region) 4768 File "/usr/lib/python2.7/site-packages/debtcollector/removals.py", line 261, in wrapper 4769 return f(*args, **kwargs) 4770 File "tempest/lib/services/clients.py", line 361, in __init__ 4771 all_modules = available_modules() 4772 File "tempest/lib/services/clients.py", line 87, in available_modules 4773 plugin_services[plugin_name]]) 4774 KeyError: 'service_version'
Synced rest of the .spec file changes from RDO and seems to be building
A package openstack-tempest-18.0.0-2 is available in RHOS13's repository. The issue with missing discover-tempest-config was resolved in that package. Tested on RHOS13 installed from master, puddle 2018-04-10.2. Based on my testing, I'm marking this bug as VERIFIED.
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/RHEA-2018:2086