--- # Copyright 2018, 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. _designate_is_first_play_host: >- {{ (designate_services['designate-api']['group'] in group_names and inventory_hostname == (groups[designate_services['designate-api']['group']] | intersect(ansible_play_hosts)) | first) | bool }} _designate_is_last_play_host: >- {{ (designate_services['designate-api']['group'] in group_names and inventory_hostname == (groups[designate_services['designate-api']['group']] | intersect(ansible_play_hosts)) | last) | bool }} _designate_oslomsg_rpc_vhost_conf: >- {{ (designate_oslomsg_rpc_vhost is string) | ternary( designate_oslomsg_rpc_vhost, designate_oslomsg_rpc_vhost | selectattr('state', 'eq', 'present') | map(attribute='name') | first) }} _designate_oslomsg_notify_vhost_conf: >- {{ (designate_oslomsg_notify_vhost is string) | ternary( designate_oslomsg_notify_vhost, designate_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_designate_services: |- {% set services = [] %} {% for key, value in designate_services.items() %} {% if (value['group'] in group_names) and (('condition' not in value) or ('condition' in value and value['condition'])) %} {% set _ = value.update( { 'service_key': key, 'enabled': value['enabled'] | default(True), 'state': value['state'] | default('started'), 'config_overrides': value.init_config_overrides } ) %} {% set _ = value.pop('init_config_overrides') -%} {% set _ = services.append(value) %} {% endif %} {% endfor %} {{ services | sort(attribute='start_order') }} _designate_coordination_url: >- {{ designate_coordination_driver }}://{{ groups[designate_coordination_group] | map('extract', hostvars, 'ansible_host') | list | join(':' ~ designate_coordination_port ~ ',') }}:{{ designate_coordination_port }}?namespace={{ designate_coordination_namespace -}} {%- if designate_coordination_client_ssl | bool %}&use_ssl=True&verify_certs={{ designate_coordination_verify_cert | bool }}{% endif %}