Bug 1659865 - dicover-tempest-config should configure options for heat-tempest-plugin
Summary: dicover-tempest-config should configure options for heat-tempest-plugin
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: python-tempestconf
Version: 15.0 (Stein)
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: z2
: 16.1 (Train on RHEL 8.2)
Assignee: Lukas Piwowarski
QA Contact: Martin Kopec
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-12-17 04:40 UTC by Keigo Noha
Modified: 2020-10-28 15:37 UTC (History)
4 users (show)

Fixed In Version: python-tempestconf-3.0.2-1.20200817103403.c377168.el8ost
Doc Type: No Doc Update
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-10-28 15:36:47 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
OpenStack gerrit 645500 0 None MERGED Add heat_plugin support 2020-12-09 02:06:05 UTC
OpenStack gerrit 673411 0 None ABANDONED Improve heat_tempest_plugin configuration 2020-12-09 02:06:05 UTC
OpenStack gerrit 722294 0 None MERGED Fix heat plugin support 2020-12-09 02:06:04 UTC
OpenStack gerrit 729590 0 None MERGED Make name of the demo user unique 2020-12-09 02:06:04 UTC
Red Hat Product Errata RHEA-2020:4284 0 None None None 2020-10-28 15:37:54 UTC

Description Keigo Noha 2018-12-17 04:40:10 UTC
Description of problem:
dicover-tempest-config should add _member_ role to demo user in demo project.

The lack of the role assignment causes some tests in heat_tempest_plugin failed.


Version-Release number of selected component (if applicable):
python2-tempestconf-2.0.0-1.el7ost.noarch

How reproducible:
Always

Steps to Reproduce:
1. Deploy an overcloud.
2. Setup tempest for the overcloud.
3. Make heat_plugin the only test for tempest.
4. Run tempest.

Actual results:
Several test are not passed by 'No auth_url configured'

Expected results:
All test which was stuck as 'No auth_url configured' are passed.

Additional info:
There is no additional information for the requirement of the role to demo user.

Comment 1 Chandan Kumar 2018-12-17 12:23:33 UTC
Thanks for reporting the bug, python-tempestconf currently lacks the support of generating tempest.conf for heat-tempest-plugin. I am marking this as a RFE and changing the component.
Currently, you can add the user role manually and pass it as a extra overrides with the discover-tempest-config cli.

Comment 3 Keigo Noha 2018-12-19 07:47:59 UTC
Hello Chandan,

Could you consider to include the following request?
Support side struggled how to write configuration for heat_plugin to run whole test properly.
If the configuration written in https://access.redhat.com/solutions/3559451 can be added by discover-tempest-config, it will be really helpful for the user and support side.

Best Regards,
Keigo Noha

Comment 4 Martin Kopec 2019-01-11 08:30:44 UTC
Hi Keigo,

we'll try to handle this RFE. Meanwhile, the configuration for heat_plugin needs to be added manually and that's either via python-tempest-config overrides [1]:
$ discover-tempest-config <parameters you normally use> service_available.heat_plugin True heat_plugin.username _member_  ...

or if you need to add more (all) of heat_plugin configuration options, so passing them via CLI would not be convenient, edit the tempest.conf file directly.


[1] https://docs.openstack.org/python-tempestconf/latest/user/usage.html#override-values

Regards,
Martin

Comment 6 Keigo Noha 2019-01-16 00:53:54 UTC
Hi Martin,

Thank you for your advice. I don't know that discover-tempest-config can add the parameter into it. As far as I know, some parameters are created by discover-tempest-config.
manual assignment to the command can set several predetermined values. But, the rest of the parameters need to be added into tempest.conf directly.
Currently, we have a temporary configuration guidance for heat_plugin. It is not a problem at this moment. So, I think this RFE will improve the user experience and ease to use tempest.

Regards,
Keigo Noha

Comment 19 Martin Kopec 2019-07-31 15:20:06 UTC
Based on my testing 'No auth_url configured' issue can be fixed by assigning 'member' role to demo user:
$ openstack role add --user demo --project demo member
It's also what the official tempest documentation suggests: https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/14/html-single/openstack_integration_test_suite_guide/index

I proposed a change to python-tempestconf so that it assigns the 'member' role to demo user: https://review.opendev.org/#/c/673411/

I noticed that the bug description is mentioning '_member_' role instead of 'member'. 
Rabi, could you, please, advise which role it should be?

I have one more question for you, Rabi, 3 tests failed with the following error (it can be seen in the upstream review 673411 and I also reproduced that in my RHOS deployment:

heat_tempest_plugin.tests.functional.test_encrypted_parameter.EncryptedParametersTest.test_db_encryption
heat_tempest_plugin.tests.functional.test_software_config.ParallelDeploymentsTest.test_deployments_metadata
heat_tempest_plugin.tests.functional.test_software_config.ParallelDeploymentsTest.test_deployments_timeout_failed

Traceback (most recent call last):
File "/opt/stack/tempest/.tox/tempest/local/lib/python2.7/site-packages/heat_tempest_plugin/tests/functional/test_encrypted_parameter.py", line 61, in test_db_encryption
 parameters=parameters
File "/opt/stack/tempest/.tox/tempest/local/lib/python2.7/site-packages/heat_tempest_plugin/common/test.py", line 689, in stack_create
 self._wait_for_stack_status(**kwargs)
File "/opt/stack/tempest/.tox/tempest/local/lib/python2.7/site-packages/heat_tempest_plugin/common/test.py", line 442, in _wait_for_stack_status
 fail_regexp, is_action_cancelled):
File "/opt/stack/tempest/.tox/tempest/local/lib/python2.7/site-packages/heat_tempest_plugin/common/test.py", line 405, in _verify_status
 stack_status_reason=stack.stack_status_reason)
heat_tempest_plugin.common.exceptions.StackBuildErrorException: Stack EncryptedParametersTest-201112037/10921462-ec36-43fa-9239-2ccbf286c77b is in CREATE_FAILED status due to 'Resource CREATE failed: ResourceInError: resources.server_with_encrypted_property: Went to status ERROR due to "Message: Exceeded maximum number of retries. Exhausted all hosts available for retrying build failures for instance 7c9623b9-44ca-4c3d-8540-5423217fff45., Code: 500"'

I experimented a little and I found out that those 3 tests are passing when I copy heat_plugin.admin_username/admin_password to heat_plugin.username/password. It's weird, I thought that the plugin uses admin credentials when a test requires that. Or is there any other configuration step I need to do?

Thank you for your help!
Martin

Comment 21 Martin Kopec 2020-03-20 15:42:34 UTC
Removing FutureFeature keyword as this sounds more like a normal bug - python-tempestconf discovers some of the heat options, however, there's a bug in admin/demo credentials put within generated tempest.conf

Comment 22 Martin Kopec 2020-09-18 09:17:22 UTC
The fixes are part of python-tempestconf's tag 3.0.0 and higher.

python-tempestconf 3 is available on RHOS 16.1 since TEST-RHOS_TRUNK-16.1-RHEL-8-20200817.n.2 puddle. It's also available in the latest 16.1 puddle on rhel8.2.

Comment 28 Martin Kopec 2020-09-29 21:13:30 UTC
The Fixed in version package contains fixes required for resolution of this bug and it's available in 16.1 repositories, therefore I'm marking this as VERIFIED.

Comment 33 errata-xmlrpc 2020-10-28 15:36:47 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 (Red Hat OpenStack Platform 16.1 bug fix and enhancement 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-2020:4284


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