Heat integrationtests is running by default using keystone v2.0. If running the tests using keystone v3, all tests fail with Authorizationfailure (below a sample tracestack of a failed test):
heat_integrationtests.functional.test_template_validate.StackTemplateValidateTest.test_template_validate_nested_off
-------------------------------------------------------------------------------------------------------------------
Captured traceback:
~~~~~~~~~~~~~~~~~~~
Traceback (most recent call last):
File "/home/stack/guoping/heat-scripts/heat-testcase/hos-qa-tests/heat/testcase/heat_integrations/heat_integrationtests/functional/functional_base.py", line 19, in setUp
super(FunctionalTestsBase, self).setUp()
File "/home/stack/guoping/heat-scripts/heat-testcase/hos-qa-tests/heat/testcase/heat_integrations/heat_integrationtests/common/test.py", line 84, in setUp
self.manager = clients.ClientManager(self.conf)
File "/home/stack/guoping/heat-scripts/heat-testcase/hos-qa-tests/heat/testcase/heat_integrations/heat_integrationtests/common/clients.py", line 40, in __init__
self.identity_client = self._get_identity_client()
File "/home/stack/guoping/heat-scripts/heat-testcase/hos-qa-tests/heat/testcase/heat_integrations/heat_integrationtests/common/clients.py", line 80, in _get_identity_client
cacert=self.ca_file)
File "/home/stack/guoping/heat-scripts/heat-testcase/hos-qa-tests/heat/testcase/heat_integrations/.tox/integration/local/lib/python2.7/site-packages/keystoneclient/v2_0/client.py", line 166, in __init__
self.authenticate()
File "/home/stack/guoping/heat-scripts/heat-testcase/hos-qa-tests/heat/testcase/heat_integrations/.tox/integration/local/lib/python2.7/site-packages/positional/__init__.py", line 94, in inner
return func(*args, **kwargs)
File "/home/stack/guoping/heat-scripts/heat-testcase/hos-qa-tests/heat/testcase/heat_integrations/.tox/integration/local/lib/python2.7/site-packages/keystoneclient/httpclient.py", line 584, in authenticate
resp = self.get_raw_token_from_identity_service(**kwargs)
File "/home/stack/guoping/heat-scripts/heat-testcase/hos-qa-tests/heat/testcase/heat_integrations/.tox/integration/local/lib/python2.7/site-packages/keystoneclient/v2_0/client.py", line 210, in get_raw_token_from_identity_service
_("Authorization Failed: %s") % e)
keystoneauth1.exceptions.auth.AuthorizationFailure: Authorization Failed: The resource could not be found. (HTTP 404) (Request-ID: req-c0a3a8ee-4c4b-49c3-ab4c-b441aa2e7b54)
This seems to be working fine with latest devstack and v3 enabled.
Do you have the following options in your heat_integratio ntests. conf?
# Full URI of the OpenStack Identity API (Keystone) (string value) x.x.x.x: 5000/v3
auth_url = http://
# User/project domain name, if keystone v3 auth_urlis used (string value)
domain_name = default
if not specified, it picks up OS_AUTH_URL env variable for the auth_url and uses 'default' as the domain name?
By any chance your OS_AUTH_URL pointing to v2.0 or you've the wrong options set in heat_integratio ntests. conf?