# Copyright (c) 2017 Intel Corporation. # # 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: parse openrc into openstack auth dict parse_shell_file: path="{{ openrc_file }}" fact_name="openrc" - debug: var=openrc - set_fact: yardstick_url_ip: "{{ openrc.OS_AUTH_URL|urlsplit|attr('hostname') }}" - debug: var=yardstick_url_ip # This doesn't work, due to OS_IDENTITY_API_VERSION, use environment - set_fact: os_auth: auth_url: "{{ openrc.OS_AUTH_URL }}" password: "{{ openrc.OS_PASSWORD }}" username: "{{ openrc.OS_USERNAME }}" project_name: "{{ openrc.OS_PROJECT_NAME }}" # tenant_name: "{{ openrc.OS_TENANT_NAME }}" project_domain_name: "{{ openrc.OS_PROJECT_DOMAIN_NAME }}" # user_domain_name: "{{ openrc.OS_USER_DOMAIN_NAME }}" # BUGS: We need to specify identity_api_version == 3, but we can't do it here # because it is not the write place # we need to set it via OS_IDENTITY_API_VERSION or clouds.yaml # identity_api_version: "{{ openrc.OS_IDENTITY_API_VERSION }}" - debug: var=os_auth - set_fact: clouds: demo: # must specify API version here identity_api_version: "{{ openrc.OS_IDENTITY_API_VERSION }}" auth: "{{ os_auth }}" - template: src: clouds.yaml.j2 # this is autodetected and used dest: "{{ cloud_yaml_path }}" when: write_cloud_yaml|default(False)