Fix neutron issue w/ l2pop

This change resolves an issue where neutron is not able to bind to
a given port because l2 population is disabled and no vxlan multicast
group has been defined. To resolve this the `neutron_l2_population`
variable is being defined and set to "False" in the os_neutron defaults
and the vxlan multicast group will now contain a default value instead
of an empty string.

The change also removes the neutron_l2_population checks in the tasks
and templates because the variable is now being defined.

Change-Id: Ic2973626d88781bfc67a4275afcf9feffeb63f36
Closes-Bug: #1521793
Co-Authored-by: Ville Vuorinen <ville.vuorinen@multim.fi>
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
(cherry picked from commit 00609ea56e)
This commit is contained in:
Kevin Carter 2015-12-01 17:35:06 -06:00
parent e913082256
commit 742eaa2667
3 changed files with 5 additions and 22 deletions

View File

@ -237,6 +237,9 @@ neutron_dhcp_config:
neutron_ml2_drivers_type: "flat,vlan,vxlan,local"
neutron_ml2_mechanism_drivers: "linuxbridge,l2population"
# Enable or disable L2 Population.
neutron_l2_population: "False"
## Set this to configure overlay networks. The default is set as an empty hash.
# neutron_overlay_network:
# address: "172.29.241.248"
@ -249,7 +252,7 @@ neutron_overlay_network: {}
## The neutron multicast group address. This should be set as a host variable if used.
## This defaults to an empty string
# neutron_vxlan_group: 239.1.1.100
neutron_vxlan_group: ""
neutron_vxlan_group: "239.1.1.1"
## Set this variable to configure the provider networks that will be available
## When setting up networking in things like the ml2_conf.ini file. Normally

View File

@ -13,26 +13,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
- name: Disable L2 population for L3HA support
set_fact:
neutron_l2_population: "False"
when:
- neutron_plugin_type == 'ml2'
- groups['neutron_agent'] | length >= 2
- neutron_services['neutron-linuxbridge-agent']['service_en'] | bool
- neutron_l2_population is undefined
tags:
- neutron-config
- name: Enable L2 population support
set_fact:
neutron_l2_population: "True"
when:
- neutron_plugin_type == 'ml2'
- neutron_l2_population is undefined
tags:
- neutron-config
- name: Copy neutron config
config_template:
src: "{{ item.src }}"

View File

@ -55,7 +55,7 @@ agent_down_time = {{ neutron_agent_down_time }}
{% set num_agent = groups['neutron_agent'] | length %}
{% if neutron_plugin_type == 'ml2' and num_agent >= 2 %}
{% if neutron_services['neutron-linuxbridge-agent']['service_en'] | bool and not neutron_l2_population | bool %}
{% if neutron_services['neutron-linuxbridge-agent']['service_en'] | bool %}
{% set max_l3_router = num_agent if num_agent > 2 else 2 %}
{% set min_l3_router = num_agent if (num_agent > 2 and num_agent < max_l3_router) else 2 %}