Fix MTU for vxlan segmentation

We need to decrease MTU for VMs when vxlan is used.

Change-Id: I117384313d03e64b4b70ca42d963628bf509aaf2
This commit is contained in:
Michal Skalski 2015-09-29 15:12:31 +02:00
parent c0ee7ad838
commit 5ddc49a7be
4 changed files with 36 additions and 15 deletions

View File

@ -30,7 +30,6 @@ Limitations
* Supports only environments with Neutron
* HA for ovsdb feature is not implemented in Lithium release - one instance of ODL controller runs on primary OpenStack controller.
* L3 traffic managed by neutron agent - lack of drivers in OpenStack Juno.
* VM live migration not supported by ovsdb
Installation Guide
==================
@ -97,15 +96,10 @@ It is possible to modify process of building plugin by setting environment varia
Dependencies
------------
OpenDaylight controller require Java Runtime Environment. In case of CentOS system it is required to point
repository where java rpm package can be found. It can be done in Settings tab in Repositories section.
It is important to assign highest priority to mos repositories (lower number is a higher priority).
OpenDaylight controller require Java Runtime Environment.
If you plan to use plugin in environment without internet access or/and CentOS environment modify build command:
![OpenDaylight repositories](./figures/opendaylight-repositories.png "OpenDaylight repositories")
If you plan to use plugin in environment without internet access modify build command:
INCLUDE_DEPENDENCIES=true fpb --build fuel-plugin-opendaylight/
INCLUDE_DEPENDENCIES=true fpb --build fuel-plugin-opendaylight/
Pre build script will try download required dependencies so it become part of the compiled plugin.
@ -126,7 +120,8 @@ To log in to OpenDayligt shell run */opt/opendaylight/bin/client*
Known issues
------------
None.
* VM live migration not supported by ODL ovsdb
* ODL ignore MTU size from Neutron and create tap devices for VMs with MTU 1500. Things like Jumbo frames will not work on VMs side.
Release Notes
-------------
@ -143,6 +138,10 @@ Release Notes
* Integrate Lithium SR1 with OpenStack Juno.
**0.6.2**
* Fix MTU for vxlan segmentation type.
Development
===========

View File

@ -5,6 +5,10 @@ $port = $opendaylight::rest_api_port
$vni_start = $opendaylight::odl_settings['vni_range_start']
$vni_end = $opendaylight::odl_settings['vni_range_end']
$neutron_settings = hiera('quantum_settings')
$network_scheme = hiera('network_scheme', {})
prepare_network_config($network_scheme)
neutron_plugin_ml2 {
'ml2/mechanism_drivers': value => 'opendaylight';
'ml2_odl/password': value => 'admin';
@ -12,9 +16,27 @@ neutron_plugin_ml2 {
'ml2_odl/url': value => "http://${address}:${port}/controller/nb/v2/neutron";
}
if $opendaylight::odl_settings['use_vxlan'] {
neutron_plugin_ml2 {
'ml2/tenant_network_types': value => 'vxlan';
'ml2_type_vxlan/vni_ranges': value => "${vni_start}:${vni_end}";
$segmentation_type = $neutron_settings['L2']['segmentation_type']
if $segmentation_type != 'vlan' {
# MTU need to be static because ODL ignore MTU value from neturon
# and always create tap interfaces for VMs with MTU 1500
if $opendaylight::odl_settings['use_vxlan'] {
neutron_plugin_ml2 {
'ml2/tenant_network_types': value => 'vxlan';
'ml2_type_vxlan/vni_ranges': value => "${vni_start}:${vni_end}";
}
$mtu = 1450
} else {
$mtu = 1458
}
neutron_config {
'DEFAULT/network_device_mtu': value => $mtu;
}
file { '/etc/neutron/dnsmasq-neutron.conf':
owner => 'root',
group => 'root',
content => template('openstack/neutron/dnsmasq-neutron.conf.erb'),
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 198 KiB

View File

@ -3,7 +3,7 @@ name: opendaylight
# Human-readable name for your plugin
title: OpenDaylight Lithium plugin
# Plugin version
version: '0.6.1'
version: '0.6.2'
# Description
description: 'This plugin provides OpenDaylight as a backend for neutron.
Use the same IP address as for OpenStack Horizon and port 8181 to reach dlux web ui and apidoc explorer.