Dynamically group Neutron OVS DVR to compute

Revert I3aaf8ced1ac406069f2d6e3b52b8d59eddda7eac to fix a bug where
deployments not using OVS+DVR contain unnecessary group mappings
that are filtered out within the Neutron role. Instead, we stop
adding these services to the compute host groups by default, and
conditionally add them when DVR is selected as the Neutron plugin.

Closes-Bug: #1645979
Change-Id: I543d1b5d3d50b6e7936605f436805d2f0ad9b3e9
This commit is contained in:
Logan V 2016-12-15 08:37:59 -06:00
parent 803ceb2148
commit 4ba6bc315e
3 changed files with 33 additions and 2 deletions

View File

@ -0,0 +1,22 @@
---
# Copyright 2016, Logan Vig <logan2211@gmail.com>
#
# 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: Add {{ inventory_hostname }} to dynamic inventory group
add_host:
group: "{{ dest_group }}"
name: "{{ item }}"
with_items: "{{ groups[src_group] }}"
when:
- "{{ groups[src_group] is defined }}"

View File

@ -57,8 +57,6 @@ container_skel:
contains:
- neutron_linuxbridge_agent
- neutron_openvswitch_agent
- neutron_l3_agent
- neutron_metadata_agent
- nova_compute
properties:
is_metal: true

View File

@ -13,6 +13,17 @@
# 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
tasks:
- include: common-tasks/dynamic-grouping.yml
vars:
src_group: "nova_compute"
dest_group: "neutron_l3_agent, neutron_metadata_agent"
when:
- "{{ neutron_plugin_type == 'ml2.ovs.dvr' }}"
- name: Installation and setup of Neutron
hosts: neutron_all
gather_facts: "{{ gather_facts | default(True) }}"