--- # Copyright 2019 Red Hat, Inc. # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. - name: "Async assignment of Keystone user to roles" os_user_role: cloud: "{{ tripleo_keystone_resources_cloud_name }}" user: "{{ lookup('dict', tripleo_keystone_resources_data_user).key }}" project: "{{ lookup('dict', tripleo_keystone_resources_data_user).value.project | default(omit) }}" # TODO(emilien) remove the custom filter once the module moved to OpenStack collections and we can make changes domain: >- {{ lookup('dict', tripleo_keystone_resources_data_user).value.domain | default('') | get_domain_id(all_domains=openstack_domains) | default(omit) }} role: "{{ batched_tripleo_keystone_resources_roles_data.key }}" state: present async: "{{ (not ansible_check_mode | bool) | ternary('60', omit) }}" poll: "{{ (not ansible_check_mode | bool) | ternary('0', omit) }}" register: tripleo_keystone_resources_user_role_results loop: "{{ tripleo_keystone_resources_data_users }}" loop_control: loop_var: tripleo_keystone_resources_data_user - name: "Check Keystone user assignment to roles status" async_status: jid: "{{ tripleo_keystone_resources_user_role_async_result_item.ansible_job_id }}" loop: "{{ tripleo_keystone_resources_user_role_results.results }}" loop_control: loop_var: "tripleo_keystone_resources_user_role_async_result_item" register: tripleo_keystone_resources_user_role_async_poll_results until: tripleo_keystone_resources_user_role_async_poll_results.finished retries: 30 when: - not ansible_check_mode|bool