Support service tokens

Implement support for service_tokens. For that we convert
role_name to be a list along with renaming corresponding variable.

Additionally service_type is defined now for keystone_authtoken which
enables to validate tokens with restricted access rules

Depends-On: https://review.opendev.org/c/openstack/openstack-ansible-plugins/+/845690
Change-Id: I9fa323e544849f7c24ccd7b860160bb5756ada28
This commit is contained in:
Dmitriy Rabotyagov 2022-06-15 19:40:37 +02:00 committed by Dmitriy Rabotyagov
parent d3794939f0
commit 0e27d6a3a1
3 changed files with 10 additions and 4 deletions

View File

@ -108,7 +108,6 @@ tacker_db_max_pool_size: "{{ openstack_db_max_pool_size | default('5') }}"
tacker_db_pool_timeout: "{{ openstack_db_pool_timeout | default('30') }}"
tacker_db_connection_recycle_time: "{{ openstack_db_connection_recycle_time | default('600') }}"
tacker_role_name: admin
tacker_bind_address: "{{ openstack_service_bind_address | default('0.0.0.0') }}"
tacker_service_port: 9890
tacker_program_name: tacker-server
@ -142,6 +141,12 @@ tacker_service_project_name: service
tacker_service_user_domain_id: default
tacker_service_user_name: tacker
tacker_keystone_auth_plugin: password
tacker_service_role_names:
- admin
- service
tacker_service_token_roles:
- service
tacker_service_token_roles_required: "{{ openstack_service_token_roles_required | default(True) }}"
tacker_service_in_ldap: "{{ service_ldap_backend_enabled | default(False) }}"

View File

@ -146,7 +146,7 @@
_service_users:
- name: "{{ tacker_service_user_name }}"
password: "{{ tacker_service_password }}"
role: "{{ tacker_role_name }}"
role: "{{ tacker_service_role_names }}"
_service_endpoints:
- service: "{{ tacker_service_name }}"
interface: "public"

View File

@ -55,8 +55,9 @@ auth_type = {{ tacker_keystone_auth_plugin }}
insecure = {{ keystone_service_internaluri_insecure }}
region_name = {{ tacker_service_region }}
interface = internal
service_token_roles_required = True
service_token_roles = {{ tacker_role_name }}
service_token_roles_required = {{ tacker_service_token_roles_required | bool }}
service_token_roles = {{ tacker_service_token_roles | join(',') }}
service_type = {{ tacker_service_type }}
[database]
# This line MUST be changed to actually run the plugin.