--- # Copyright 2017, 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. _glance_is_first_play_host: >- {{ (glance_services['glance-api']['group'] in group_names and inventory_hostname == (groups[glance_services['glance-api']['group']] | intersect(ansible_play_hosts)) | first) | bool }} _glance_oslomsg_rpc_vhost_conf: >- {{ (glance_oslomsg_rpc_vhost is string) | ternary(glance_oslomsg_rpc_vhost, glance_oslomsg_rpc_vhost | selectattr( 'state', 'eq', 'present') | map(attribute='name') | first) }} _glance_oslomsg_notify_vhost_conf: >- {{ (glance_oslomsg_notify_vhost is string) | ternary(glance_oslomsg_notify_vhost, glance_oslomsg_notify_vhost | selectattr( 'state', 'eq', 'present') | map(attribute='name') | first) }} # # Compile a list of the services on a host based on whether # the host is in the host group and the service is enabled. # The service list is provided in the defined start order. # filtered_glance_services: |- {% set services = [] %} {% for key, value in glance_services.items() %} {% if (value['group'] in group_names) and (('condition' not in value) or ('condition' in value and value['condition'])) and not ('wsgi_app' in value and value['wsgi_app']) %} {% set _ = value.update({'service_key': key}) %} {% set _ = services.append(value) %} {% endif %} {% endfor %} {{ services | sort(attribute='start_order') }} uwsgi_glance_services: |- {% set services = {} %} {% for key, value in glance_services.items() %} {% if (value['group'] in group_names) and (('condition' not in value) or ('condition' in value and value['condition'])) and ('wsgi_app' in value and value['wsgi_app']) %} {% set _ = value.update( { 'wsgi_path': glance_bin ~ '/' ~ value.wsgi_name, 'wsgi_venv': ((glance_install_method == 'source') | ternary(glance_bin | dirname, None)), 'uwsgi_uid': glance_system_user_name, 'uwsgi_guid': glance_system_group_name, 'uwsgi_processes': glance_wsgi_processes, 'uwsgi_threads': glance_wsgi_threads, } ) %} {% set _ = services.update({key: value}) %} {% endif %} {% endfor %} {{ services }} # Define all glance mountpoints when using NFS. If defined # the corresponding directory will only be created by the # mount point task. glance_mount_points: |- {% set mps = [] %} {% for mp in glance_remote_client %} {% set _ = mps.append(mp.where | default(mount_var.local_path)) %} {% endfor %} {{ mps }} glance_core_files: - tmp_f: "/tmp/glance-api-paste.ini" target_f: "{{ glance_etc_dir }}/glance-api-paste.ini" config_overrides: "{{ glance_glance_api_paste_ini_overrides }}" config_type: "ini"