--- # 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: Gather neutron facts hosts: neutron_all gather_facts: false tags: - always tasks: - name: Gather minimal facts for neutron setup: gather_subset: - "!all" - min when: osa_gather_facts | default(True) - name: Gather additional facts for neutron setup: gather_subset: "{{ neutron_gather_subset | default('processor_count') }}" filter: "{{ neutron_gather_filter | default('ansible_processor*') }}" when: osa_gather_facts | default(True) - name: Configure Neutron dynamic host groupings hosts: localhost gather_facts: no tasks: - name: Add hosts to dynamic inventory group add_host: group: "{{ dest_group }}" name: "{{ item }}" with_items: "{{ groups[src_group] }}" when: - "group_when | default(True)" vars: src_group: "nova_compute" dest_group: "neutron_l3_agent, neutron_metadata_agent" group_when: "{{ (neutron_plugin_type | default('ml2.ovn') == 'ml2.ovs.dvr') }}" - name: Configure haproxy services import_playbook: openstack.osa.haproxy_service_config vars: service_group: neutron_server service_variable: "neutron_haproxy_services" when: - groups[service_group] - groups['haproxy'] | length > 0 tags: - haproxy-service-config - name: Install neutron server import_playbook: common-playbooks/neutron.yml vars: neutron_hosts: "neutron_server" neutron_serial: "{{ neutron_server_serial | default(['1', '100%']) }}" - name: Install neutron L2 agents import_playbook: common-playbooks/neutron.yml vars: neutron_hosts: "neutron_linuxbridge_agent:neutron_openvswitch_agent:!neutron_server" neutron_serial: "{{ neutron_agent_serial | default('50%') }}" - name: Install all other neutron agents import_playbook: common-playbooks/neutron.yml vars: neutron_hosts: "neutron_all:!neutron_linuxbridge_agent:!neutron_openvswitch_agent:!neutron_server" neutron_serial: "{{ neutron_other_serial | default('1') }}"