Description of problem: Running: [root@lgdrm989 etc]# source ~/keystonerc_admin [root@lgdrm989 etc(keystone_admin)]# nova list +----+------+--------+------------+-------------+----------+ | ID | Name | Status | Task State | Power State | Networks | +----+------+--------+------------+-------------+----------+ +----+------+--------+------------+-------------+----------+ And then: [root@lgdrm989 tempest(keystone_admin)]# tools/config_tempest.py --create identity.uri $OS_AUTH_URL identity.admin_username $OS_USERNAME identity.admin_password $OS_PASSWORD identity.admin_tenant_name $OS_TENANT_NAME Traceback (most recent call last): File "tools/config_tempest.py", line 639, in <module> main() File "tools/config_tempest.py", line 132, in main create_tempest_users(clients.identity, conf) File "tools/config_tempest.py", line 334, in create_tempest_users role_name='heat_stack_owner') File "tools/config_tempest.py", line 346, in give_role_to_user role_id = identity_client.roles.find(name=role_name) File "/usr/lib/python2.7/site-packages/keystoneclient/base.py", line 247, in find raise exceptions.NotFound(404, msg) keystoneclient.openstack.common.apiclient.exceptions.NotFound: 404 (HTTP 404) I do NOT install Heat, perhaps it's related? Version-Release number of selected component (if applicable): git log 7daae3c22ef2ebe48ce804e7eeff8bd722ec8a2c How reproducible: Always. Steps to Reproduce: 1. Install OpenStack juno, with packstack, without Heat (CONFIG_HEAT_INSTALL=n) 2. Clone Red Hat's Tempest fork, run tools/config_tempest.py 3. Actual results: [root@lgdrm989 tempest(keystone_admin)]# tools/config_tempest.py --create identity.uri $OS_AUTH_URL identity.admin_username $OS_USERNAME identity.admin_password $OS_PASSWORD identity.admin_tenant_name $OS_TENANT_NAME Traceback (most recent call last): File "tools/config_tempest.py", line 639, in <module> main() File "tools/config_tempest.py", line 132, in main create_tempest_users(clients.identity, conf) File "tools/config_tempest.py", line 334, in create_tempest_users role_name='heat_stack_owner') File "tools/config_tempest.py", line 346, in give_role_to_user role_id = identity_client.roles.find(name=role_name) File "/usr/lib/python2.7/site-packages/keystoneclient/base.py", line 247, in find raise exceptions.NotFound(404, msg) keystoneclient.openstack.common.apiclient.exceptions.NotFound: 404 (HTTP 404) Expected results: config should succeed. Additional info: [root@lgdrm989 tempest(keystone_admin)]# keystone role-list +----------------------------------+----------+ | id | name | +----------------------------------+----------+ | 9fe2ff9ee4384b1894a90878d3e92bab | _member_ | | 8fa13b71c3254144b49f1c499524be0c | admin | +----------------------------------+----------+ [root@lgdrm989 tempest(keystone_admin)]# keystone user-list +----------------------------------+--------+---------+------------------+ | id | name | enabled | email | +----------------------------------+--------+---------+------------------+ | 806cd3634fa94581ac8d20919a86f710 | admin | True | test | | 79c6083783584fada7332a6f693e1774 | cinder | True | cinder@localhost | | 82daa98d0daa425c909497f9d32c8a07 | demo | True | | | 7e079b6e4efc4769bc9648c658780c59 | glance | True | glance@localhost | | 7d1a0e4fcd364ca082d2e597c0a34c1a | nova | True | nova@localhost | +----------------------------------+--------+---------+------------------+ root@lgdrm989 tempest(keystone_admin)]# keystone service-list +----------------------------------+-----------+-----------+------------------------------+ | id | name | type | description | +----------------------------------+-----------+-----------+------------------------------+ | 14190e80d56c4176a1d4c60e8563650d | cinder | volume | Cinder Service | | fc14c944de514eb88b591ce7ff8bb826 | cinder_v2 | volumev2 | Cinder Service v2 | | 9ac090072dc646af8b261239780aa7c0 | cinderv2 | volumev2 | Cinder Service v2 | | 2ec4393131904ff3a8cafa5e279f179c | glance | image | Openstack Image Service | | 8a3a0ac642114f31b0887c128638b3e9 | keystone | identity | OpenStack Identity Service | | f7ddf444e0a3403ab3f4eede18896191 | nova | compute | Openstack Compute Service | | 2ce4889813334843ad1c8b3b981d4caf | nova_ec2 | ec2 | EC2 Service | | 7710317d65724318a364cd93cc6d51b2 | novav3 | computev3 | Openstack Compute Service v3 | +----------------------------------+-----------+-----------+------------------------------+
Where does config_tempest.py come from? I don't see it in the upstream tempest tree.. Regardless, it's right that adding the heat_stack_owner role should probably be skipped if heat is not installed. A simple interim workaround is probably to create the heat_stack_owner role, and accept that it'll be unnecessarily added to the users.
The file is from Red Hat's fork of Tempest - https://github.com/redhat-openstack/tempest/blob/icehouse/tools/config_tempest.py