Fix support for Keystone v3 domain auth

When using v3 authentication and authorization Ceilometer must
authenticate to services project in service_domain.

Closes-Bug: 1636098
Change-Id: I23354e7db0eef83de31f703fdf754ca3ae2db92d
This commit is contained in:
Frode Nordahl 2016-11-02 15:17:01 +01:00
parent dae097c7dc
commit 03f162e84b
2 changed files with 23 additions and 2 deletions

View File

@ -19,8 +19,13 @@ auth_url = {{ service_protocol }}://{{ service_host }}:{{ service_port }}
project_name = {{ admin_tenant_name }}
username = {{ admin_user }}
password = {{ admin_password }}
{% if api_version == "3" -%}
project_domain_name = {{ admin_domain_name }}
user_domain_name = {{ admin_domain_name }}
{% else -%}
project_domain_name = default
user_domain_name = default
{% endif -%}
auth_type = password
{% endif -%}

View File

@ -533,14 +533,30 @@ class CeilometerBasicDeployment(OpenStackAmuletDeployment):
ks_rel['service_port'])
# NOTE(dosaboy): os_ prefix is deprecated and no longer used as
# of Mitaka.
project_domain_name = 'default'
user_domain_name = 'default'
if 'api_version' in ks_rel and float(ks_rel['api_version']) > 2:
project_domain_name = 'service_domain'
user_domain_name = 'service_domain'
expected['service_credentials'] = {'auth_url': auth_uri,
'project_name': 'services',
'project_domain_name':
'default',
'user_domain_name': 'default',
project_domain_name,
'user_domain_name':
user_domain_name,
'username': 'ceilometer',
'password':
ks_rel['service_password']}
expected['keystone_authtoken'] = {'auth_uri': auth_uri,
'auth_type': 'password',
'project_domain_name':
project_domain_name,
'user_domain_name':
user_domain_name,
'project_name': 'services',
'username': 'ceilometer',
'password':
ks_rel['service_password']}
for section, pairs in expected.iteritems():
ret = u.validate_config_data(unit, conf, section, pairs)