--- # Copyright 2014, Rackspace US, Inc. # # 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: Ensure cinder api is available uri: url: "{{ cinder_service_internaluri }}" status_code: 200,300 validate_certs: "{{ cinder_service_internaluri_insecure | bool }}" register: api_status until: api_status | success retries: 10 delay: 10 - name: Create singular cinder_backends variable for all hosts set_fact: _cinder_backends: "{{ (_cinder_backends | default(cinder_backends | default({}))) | combine(hostvars[item]['cinder_backends'] | default({})) }}" with_items: "{{ groups[cinder_services['cinder-volume']['group']] }}" - name: Add in cinder devices types shell: | . {{ ansible_env.HOME }}/openrc CLI_OPTIONS="{{ ((keystone_service_adminuri_insecure | bool) or (cinder_service_internaluri_insecure | bool)) | ternary('--insecure','') }}" if ! {{ cinder_bin }}/cinder ${CLI_OPTIONS} type-list | grep " {{ item.key }} "; then {{ cinder_bin }}/cinder ${CLI_OPTIONS} type-create "{{ item.key }}" {{ cinder_bin }}/cinder ${CLI_OPTIONS} type-key "{{ item.key }}" set volume_backend_name="{{ item.value.volume_backend_name }}" fi args: executable: /bin/bash with_dict: "{{ _cinder_backends|default({}) }}" changed_when: false - name: Add extra cinder volume types shell: | . {{ ansible_env.HOME }}/openrc CLI_OPTIONS="{{ ((keystone_service_adminuri_insecure | bool) or (cinder_service_internaluri_insecure | bool)) | ternary('--insecure','') }}" {% for evtype in item.value.extra_volume_types %} if ! {{ cinder_bin }}/cinder ${CLI_OPTIONS} type-list | grep " {{ evtype }} "; then {{ cinder_bin }}/cinder ${CLI_OPTIONS} type-create "{{ evtype }}" {{ cinder_bin }}/cinder ${CLI_OPTIONS} type-key "{{ evtype }}" set volume_backend_name="{{ item.value.volume_backend_name }}" fi {% endfor %} args: executable: /bin/bash with_dict: "{{ _cinder_backends|default({}) }}" when: item.value.extra_volume_types is defined - include: cinder_qos.yml static: no when: cinder_qos_specs is defined tags: - cinder-qos