Use mtu of Tenant network to control neutron global_physnet_mtu

Change: I11e38f82eb9040f77412fe8ad200fcc48031e2f8 introduced mtu
property for composable networks. This change set the MTU of the
Tenant network as the global_physnet_mtu for neutron, unless the
NeutronGlobalPhysnetMtu is overridden. The default MTU used if
no MTU is defined for the Tenant network is 1500. (The same
default was previously used for the NeutronGlobalPhysnetMtu
parameter.)

Change-Id: I5e60d52ad571e1cdb3b82cd1d9947e33fa682bf8
This commit is contained in:
Harald Jensås 2018-10-23 01:06:20 +02:00
parent e644e3dda9
commit bbfce240fc
4 changed files with 44 additions and 1 deletions

View File

@ -56,6 +56,14 @@ parameter_defaults:
# Routes to add to host_routes property of the subnets in neutron. # Routes to add to host_routes property of the subnets in neutron.
{{network.name}}Routes: {{network.routes_ipv6|default([])}} {{network.name}}Routes: {{network.routes_ipv6|default([])}}
{%- endif %} {%- endif %}
{%- if network.name == 'Tenant' %}
# MTU of the underlying physical network. Neutron uses this value to
# calculate MTU for all virtual network components. For flat and VLAN
# networks, neutron uses this value without modification. For overlay
# networks such as VXLAN, neutron automatically subtracts the overlay
# protocol overhead from this value.
TenantNetPhysnetMtu: {{network.mtu|default('1500')}}
{%- endif %}
{% endfor %} {% endfor %}
{#- FIXME: These global parameters should be defined in a YAML file, e.g. network_data.yaml. #} {#- FIXME: These global parameters should be defined in a YAML file, e.g. network_data.yaml. #}
# Define the DNS servers (maximum 2) for the overcloud nodes # Define the DNS servers (maximum 2) for the overcloud nodes

View File

@ -54,6 +54,14 @@ parameter_defaults:
# Routes to add to host_routes property of the subnets in neutron. # Routes to add to host_routes property of the subnets in neutron.
{{network.name}}Routes: {{network.routes|default([])}} {{network.name}}Routes: {{network.routes|default([])}}
{%- endif %} {%- endif %}
{%- if network.name == 'Tenant' %}
# MTU of the underlying physical network. Neutron uses this value to
# calculate MTU for all virtual network components. For flat and VLAN
# networks, neutron uses this value without modification. For overlay
# networks such as VXLAN, neutron automatically subtracts the overlay
# protocol overhead from this value.
TenantNetPhysnetMtu: {{network.mtu|default('1500')}}
{%- endif %}
{% endfor %} {% endfor %}
{#- FIXME: These global parameters should be defined in a YAML file, e.g. network_data.yaml. #} {#- FIXME: These global parameters should be defined in a YAML file, e.g. network_data.yaml. #}
# Define the DNS servers (maximum 2) for the overcloud nodes # Define the DNS servers (maximum 2) for the overcloud nodes

View File

@ -49,6 +49,16 @@ parameters:
Remove configuration that is not generated by TripleO. Used to avoid Remove configuration that is not generated by TripleO. Used to avoid
configuration remnants after upgrades. configuration remnants after upgrades.
NeutronGlobalPhysnetMtu: NeutronGlobalPhysnetMtu:
type: number
default: 0
description: |
MTU of the underlying physical network. Neutron uses this value to
calculate MTU for all virtual network components. For flat and VLAN
networks, neutron uses this value without modification. For overlay
networks such as VXLAN, neutron automatically subtracts the overlay
protocol overhead from this value.
(If this is not changed TenantNetPhysnetMtu will be used.)
TenantNetPhysnetMtu:
type: number type: number
default: 1500 default: 1500
description: | description: |
@ -57,6 +67,8 @@ parameters:
networks, neutron uses this value without modification. For overlay networks, neutron uses this value without modification. For overlay
networks such as VXLAN, neutron automatically subtracts the overlay networks such as VXLAN, neutron automatically subtracts the overlay
protocol overhead from this value. protocol overhead from this value.
(The mtu setting of the Tenant network in network_data.yaml
control's this parameter.)
NeutronDBSyncExtraParams: NeutronDBSyncExtraParams:
default: '' default: ''
description: | description: |
@ -125,6 +137,7 @@ conditions:
dhcp_agents_zero: {equals : [{get_param: NeutronDhcpAgentsPerNetwork}, 0]} dhcp_agents_zero: {equals : [{get_param: NeutronDhcpAgentsPerNetwork}, 0]}
service_debug_unset: {equals : [{get_param: NeutronDebug}, '']} service_debug_unset: {equals : [{get_param: NeutronDebug}, '']}
internal_tls_enabled: {equals: [{get_param: EnableInternalTLS}, true]} internal_tls_enabled: {equals: [{get_param: EnableInternalTLS}, true]}
global_physnet_mtu_unset: {equals: [{get_param: NeutronGlobalPhysnetMtu}, 0]}
outputs: outputs:
role_data: role_data:
@ -155,7 +168,11 @@ outputs:
neutron::db::database_db_max_retries: -1 neutron::db::database_db_max_retries: -1
neutron::db::database_max_retries: -1 neutron::db::database_max_retries: -1
neutron::db::sync::db_sync_timeout: {get_param: DatabaseSyncTimeout} neutron::db::sync::db_sync_timeout: {get_param: DatabaseSyncTimeout}
neutron::global_physnet_mtu: {get_param: NeutronGlobalPhysnetMtu} neutron::global_physnet_mtu:
if:
- global_physnet_mtu_unset
- {get_param: TenantNetPhysnetMtu}
- {get_param: NeutronGlobalPhysnetMtu}
neutron::db::sync::extra_params: {get_param: NeutronDBSyncExtraParams} neutron::db::sync::extra_params: {get_param: NeutronDBSyncExtraParams}
neutron::vlan_transparent: {get_param: EnableVLANTransparency} neutron::vlan_transparent: {get_param: EnableVLANTransparency}
- if: - if:

View File

@ -0,0 +1,10 @@
---
features:
- |
The MTU defined for the ``Tenant`` network in network_data is now used to
set neutron's ``global_physnet_mtu`` unless the ``NeutronGlobalPhysnetMtu``
parameter is used to override the default. (Neutron uses the
``global_physnet_mtu`` value to calculate MTU for all virtual network
components. For flat and VLAN networks, neutron uses this value without
modification. For overlay networks such as VXLAN, neutron automatically
subtracts the overlay protocol overhead from this value.)