--- # 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: Configure Neutron dynamic host groupings hosts: localhost gather_facts: no tags: - neutron tasks: - include: common-tasks/dynamic-grouping.yml vars: src_group: "nova_compute" dest_group: "neutron_l3_agent, neutron_metadata_agent" group_when: "{{ neutron_plugin_type == 'ml2.ovs.dvr' }}" - name: Prepare MQ/DB services hosts: neutron_all gather_facts: no user: root environment: "{{ deployment_environment_variables | default({}) }}" vars_files: - "defaults/{{ install_method }}_install.yml" tags: - neutron tasks: - name: Configure oslo messaging rpc vhost/user include: common-tasks/oslomsg-rpc-vhost-user.yml static: no vars: rpc_user: "{{ neutron_oslomsg_rpc_userid }}" rpc_password: "{{ neutron_oslomsg_rpc_password }}" rpc_vhost: "{{ neutron_oslomsg_rpc_vhost }}" when: - groups[neutron_oslomsg_rpc_host_group] | length > 0 run_once: yes - name: Configure oslo messaging notify vhost/user include: common-tasks/oslomsg-notify-vhost-user.yml static: no vars: notify_user: "{{ neutron_oslomsg_notify_userid }}" notify_password: "{{ neutron_oslomsg_notify_password }}" notify_vhost: "{{ neutron_oslomsg_notify_vhost }}" when: - neutron_ceilometer_enabled | bool - groups[neutron_oslomsg_notify_host_group] | length > 0 run_once: yes - name: Install neutron server include: common-playbooks/neutron.yml vars: neutron_hosts: "neutron_server" neutron_serial: "{{ neutron_server_serial | default('100%') }}" - name: Install neutron L2 agents include: 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 include: common-playbooks/neutron.yml vars: neutron_hosts: "neutron_all:!neutron_linuxbridge_agent:!neutron_openvswitch_agent:!neutron_server" neutron_serial: "{{ neutron_other_serial | default('20%') }}"