The current set of supported versions of MidoNet are:
NOTE: MidoNet changed its versioning scheme. v5.0 is what used to be called v2015.09.
For productional deployments, we recommend to use a package for your distribution if available:
You can install the plugin from the source code by running the following command:
$ sudo python setup.py install
The plugin requires python-midonetclient package, which is usually available along with other midonet packages. It’s recommended to use the same version of python-midonetclient and midonet-cluster. Alternatively, you can install python-midonetclient from source:
$ sudo pip install -e 'git://github.com/midonet/midonet.git@master#egg=midonetclient&subdirectory=python-midonetclient'
You need to configure the Neutron server how to talk with your MidoNet cluster.
Prepare a Keystone credential, with which the Neutron server will send requests to the MidoNet cluster.
Configure Keystone authentication in MidoNet. See Using the Keystone authentication service in MidoNet documentation for details.
Configure the following options in the Neutron server configuration file.
midonet.midonet_uri
midonet.username
midonet.password
midonet.project_id
networking-midonet is compatible with ML2 plugin. ML2 mechanism driver and type drivers for MidoNet are available:
[DEFAULT]
core_plugin = ml2
[ml2]
tenant_network_types = midonet
type_drivers = midonet,uplink
mechanism_drivers = midonet
networking-midonet uses its own L3 service plugin:
[DEFAULT]
service_plugins = midonet_l3
In addition to the standard ones, networking-midonet L3 service plugin provides the following extensions. No additional configurations are necessary to enable them. They are enabled unconditionally.
No Neutron agents are necessary for networking-midonet.
You can configure networking-midonet work with Neutron DHCP and Metadata agents. But it isn’t recommended anymore.
For details, please refer to MidoNet documentation:
Neutron agents use interface driver to connect themselves into the datapath. In case of MidoNet, they should be configured with the MidoNet interface driver.:
[DEFAULT]
interface_driver = midonet
Starting v5.4, MidoNet implements Neutron LBaaS v2 extension API.
MidoNet plugin provides LBaaS v2 service driver.
To configure it, add the following entries in the Neutron configuration
file /etc/neutron/neutron.conf
:
[DEFAULT]
service_plugins = lbaasv2
[service_providers]
service_provider=LOADBALANCERV2:Midonet:midonet.neutron.services.loadbalancer.v2_driver.MidonetLoadBalancerDriver:default
Starting v5.1, MidoNet implements Neutron VPNaaS extension API.
MidoNet plugin implements VPNaaS as a service driver. To configure it,
add the following entries in the Neutron configuration file
/etc/neutron/neutron.conf
:
[DEFAULT]
service_plugins = vpnaas
[service_providers]
service_provider=VPN:Midonet:midonet.neutron.services.vpn.service_drivers.midonet_ipsec.MidonetIPsecVPNDriver:default
NOTE: This plugin does not use Neutron VPNaaS agent.
Starting v5.1, MidoNet implements Gateway Device Service vendor extension API.
To configure it, add the following service plugin to the service_plugins list in the DEFAULT group of /etc/neutron/neutron.conf:
[DEFAULT]
service_plugins = midonet_gwdevice
Starting v5.1, MidoNet implements Neutron L2 Gateway Service extension API. The implementation differs slightly from upstream. Please check the spec to see the differences:
https://docs.openstack.org/networking-midonet/latest/specs/mitaka/border_gw.html
MidoNet plugin implements L2 Gateway Service as a service driver. To configure it, add the following service plugin to the service_plugins list in the DEFAULT group of /etc/neutron/neutron.conf:
[DEFAULT]
service_plugins = midonet_l2gw
In addition, configure the service provider in the ‘service_providers’ group of L2 Gateway plugin configuration file /etc/neutron/l2gw_plugin.ini:
[service_providers]
service_provider = L2GW:Midonet:midonet.neutron.services.l2gateway.service_drivers.l2gw_midonet.MidonetL2gwDriver:default
Starting v5.2, MidoNet implements Neutron BGP dynamic routing service extension API. The implementation differs from upstream as follows:
To configure it, add the following service plugin to the service_plugins list in the DEFAULT group of /etc/neutron/neutron.conf:
[DEFAULT]
service_plugins = midonet_bgp
Starting v5.2, MidoNet implements Tap-as-a-Service extension API.
MidoNet plugin implements TaaS as a service driver. To configure it, add the following entries in the Neutron configuration file /etc/neutron/neutron.conf:
[DEFAULT]
service_plugins = taas
In addition, configure the service provider in the ‘service_providers’ group of TaaS plugin configuration file /etc/neutron/taas_plugin.ini:
[service_providers]
service_provider = TAAS:Midonet:midonet.neutron.services.taas.service_drivers.taas_midonet.MidonetTaasDriver:default
Starting v5.4, MidoNet implements Neutron QoS extension API. It’s automatically enabled when QoS service plugin is configured. No MidoNet-specific configuration is necessary.
QoS service plugin can be configured in the Neutron server configuration file /etc/neutron/neutron.conf:
[DEFAULT]
service_plugins = qos
QoS core resource extension for ML2 plugin can be configured in the Neutron server configuration file /etc/neutron/neutron.conf:
[ml2]
extension_drivers = qos
Starting with Newton, Horizon has built-in support for MidoNet network types.
To enable it, add the following configuration to the OPENSTACK_NEUTRON_NETWORK dict in local_settings.py:
'supported_provider_types': ['midonet', 'uplink'],
Starting v5.2, MidoNet can be used for Magnum deployment.
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.