Add config to set neutron mtu in undercloud/overcloud

In some environments we are setting the mtu at the
operating system level without setting the mtu in neutron.
This can lead to errors and failed tempest tests.

Closes-Bug: #1714660
Depends-On: I16f8f49b8e4ea35407ab2f2794d5dce8f2c03019
Change-Id: Iedd4cfbb0e1c9471cb1ae53b8b6acc266273463f
This commit is contained in:
Wes Hayutin 2017-10-04 18:10:03 -04:00 committed by Emilien Macchi
parent bda605766b
commit dbefdc2995
8 changed files with 47 additions and 10 deletions

View File

@ -29,3 +29,12 @@ ipa_image_url: http://images.rdoproject.org/{{ release }}/rdo_trunk/{{ dlrn_hash
docker_registry_host: trunk.registry.rdoproject.org
docker_registry_namespace: "{{ release }}"
mtu: 1350
mtu_interface:
- eth0
- eth1
- "{% if network_isolation|default(true)|bool %}eth2{% endif %}"
undercloud_local_mtu: "{{ mtu }}"
overcloud_neutron_global_physnet_mtu: "{{ mtu }}"

View File

@ -29,3 +29,12 @@ overcloud_image_url: http://images.rdoproject.org/{{ release }}/rdo_trunk/{{ dlr
ipa_image_url: http://images.rdoproject.org/{{ release }}/rdo_trunk/{{ dlrn_hash|default(dlrn_hash_tag) }}/ironic-python-agent.tar
docker_registry_host: trunk.registry.rdoproject.org
docker_registry_namespace: "{{ release }}"
mtu: 1350
mtu_interface:
- eth0
- eth1
- "{% if network_isolation|default(true)|bool %}eth2{% endif %}"
undercloud_local_mtu: "{{ mtu }}"
overcloud_neutron_global_physnet_mtu: "{{ mtu }}"

View File

@ -56,11 +56,8 @@ hostname_correction: true
# adjust mtus
step_adjust_mtu: true
mtu: 1350
mtu_interface:
- eth0
- eth1
- eth2
undercloud_local_mtu: "{{ mtu }}"
overcloud_neutron_global_physnet_mtu: "{{ mtu }}"
# set up external interface
external_interface: eth2

View File

@ -57,11 +57,8 @@ hostname_correction: true
# adjust mtus
step_adjust_mtu: true
mtu: 1350
mtu_interface:
- eth0
- eth1
- eth2
undercloud_local_mtu: "{{ mtu }}"
overcloud_neutron_global_physnet_mtu: "{{ mtu }}"
# set up external interface
external_interface: eth2

View File

@ -48,3 +48,10 @@
template:
src: "resource-registry-nic-configs.yaml.j2"
dest: "{{ working_dir }}/resource-registry-nic-configs.yaml"
- name: Create the overcloud network parameters yaml
when:
- overcloud_neutron_global_physnet_mtu is defined
template:
src: "overcloud_network_params.yaml.j2"
dest: "{{ working_dir }}/overcloud_network_params.yaml"

View File

@ -227,3 +227,11 @@
swap_args: >-
-e {{ overcloud_templates_path }}/environments/enable-swap-partition.yaml
when: enable_swap|bool and swap_type == 'partition'
- name: set network_args for mtu settings
set_fact:
network_args: >-
{{ network_args }}
-e {{ working_dir }}/overcloud_network_params.yaml
when:
- overcloud_neutron_global_physnet_mtu is defined

View File

@ -0,0 +1,4 @@
# Defines overcloud network parameters based on parameters given.
parameter_defaults:
NeutronGlobalPhysnetMtu: {{ overcloud_neutron_global_physnet_mtu }}

View File

@ -44,6 +44,12 @@ local_ip = {{undercloud_local_ip|default(
network_gateway = {{undercloud_network_gateway|default(
undercloud_network_cidr|nthhost(1))}}
# MTU, set neutron on the undercloud to match mtu of the nics
# (string value)
{% if undercloud_local_mtu is defined %}
local_mtu = {{ undercloud_local_mtu }}
{% endif %}
{% if release in ['mitaka', 'newton'] %}
# Virtual IP address to use for the public endpoints of Undercloud
# services. Only used if undercloud_service_certficate is set.