Midonet Gateway
- By midonet-charmers
- Networking
juju deploy cs:midonet-gateway
Deploy universal operators easily with Juju, the Universal Operator Lifecycle Manager.
Channel | Version | Platform |
---|---|---|
latest/stable | 0 |
Platform:
About
MidoNet Open Source Network Virtualization System Gateway Read more
Discuss this charm
Share your thoughts on this charm with the community on discourse.
MidoNet Gateway
Overview
MidoNet is a distributed, de-centralized, software-defined virtual network platform for Infrastructure as a Service (IaaS). MidoNet fully virtualizes the network functionality for IaaS products, such as OpenStack, providing functionally advanced, robust, scalable, and secure networks. MidoNet is an overlay network that runs software on standard x86 servers, and sits on top of any scalable network underlay (for example, physical servers and switches), pushing the intelligent network functions to the edge of the network, in software. MidoNet sends virtual network traffic over tunnels created between the edges. The tunnels encapsulate the packets coming from virtual machines (VMs) and exterior ports, and decouple the virtual network traffic from the physical network. With this model, changes in the virtual network, for example, creating new virtual machines, don't affect the state of the underlay network. In addition, this clear separation between the virtual and physical networks allows the administrator to more easily maintain the IaaS platform.
For more information, please refer to MidoNet documentation website.
Open source users: MidoNet Documentation
Enterprise users: Midokura Enterprise MidoNet (MEM) Documentation
This charm in particular, will configure MidoNet so that midonet-gateway nodes will act as a gateway between the underlay network (physical network) and the overlay network (virtual network).
Editions
Currently, following combinations of versions are supported.
| distribution | openstack-release | midonet-flavor | midonet-release |
| ------------ | ----------------- | -------------- | --------------- |
| trusty | kilo | opensource | 2015.06 |
| trusty | kilo | enterprise | 1.9 |
Configuration
This charm supports two types of uplink setup, static routing uplink setup and BGP routing uplink setup. Please refer to Operations Guide in respective MidoNet documentation website for details about those setups.
Known Limitations
One midonet-gateway unit in static routing uplink setup
In static routing uplink setup, maximum number of midonet-gateway unit is one. In case there are more than two units of midonet-gateway deployed in one environment, redundant unit(s) will stay in a blocked state.
Some configurations are not modifiable
Some service configurations are not meant to be changed once the installation starts. If these configurations are modified, it may not yield the desired result, it may setup an erroneous or non-used configuration in the system, or it may break the deployment.
Modifying following service configurations are not implemented nor supported:
openstack-release
midonet-flavor
midonet-release
midonet-enterprise-username
midonet-enterprise-password
external-network-name
port-group-name
Modifying following service configuration are not supported:
uplink-type
Changing any configurations will temporarily remove the uplink
Changing any service configurations will result in removing all uplinks currently configured before re-creating uplinks with new configurations.
Removing midonet-gateway service will leave the configuration behind
Removing the midonet-gateway service will leave the configuration data in the NSDB (ZooKeeper and Cassandra) behind. To actually remove those configuration data:
- Manually delete those configuration data using midonet-api service
- (Or for an ultimate measure) destroy the entire environment
Special consideration with some releases
python-midonetclient
package provided by some MidoNet releases has a bug
that may stop the configuration process. To work around this problem, this
charm will directly patch the python-midonetclient
files on the file system.
Therefore, do not attempt to update or reinstall python-midonetclient
package
or it will reintroduce the bug. This bug affects all 2015.06 releases and 1.9
release version 1.9.8 and prior.
Deployment
Manual deployment
For midonet-gateway service to set itself up, it requires some information about the environment. midonet-gateway service will gather those information from Juju relationships. Therefore, related services have to be deployed and relationship needs to be set up between them.
First, deploy midonet-gateway service and midonet-agent service. Default
service configurations are aligned to MidoNet documentation, please refer to
config.yaml
file for more information on what service configuration value
changes what.
juju deploy midonet-gateway
juju deploy midonet-agent
Next, setup necessary relationships midonet-gateway service requires.
juju add-relation midonet-gateway keystone
juju add-relation midonet-gateway neutron-api
juju add-relation midonet-gateway midonet-api
juju add-relation midonet-gateway midonet-agent
Automated deployment
Alternatively, bundles are available to quickly setup a working environment.
Following conditions have to be met to successfully deploy bundles:
- Configure Juju environment to use MaaS as a provider
- Prepare following nodes in MaaS
- 1 node with:
- More than 8 cores visible
- More than 12GiB RAM visible
- More than 32GiB storage visible
- Without tag
midonet-gateway
- 1 node with:
- More than 4 cores visible
- More than 8GiB RAM visible
- More than 16GiB storage visible
- Without tag
midonet-gateway
- 1 node with:
- More than 3 cores visible
- More than 6GiB RAM visible
- More than 8GiB storage visible
- Without tag
midonet-gateway
- 1 node (static routing uplink) or 3 nodes (BGP routing uplink) with:
- More than 3 cores visible
- More than 6GiB RAM visible
- More than 8GiB storage visible
- With tag
midonet-gateway
- 1 node with:
To deploy bundle with static routing uplink setup:
juju-deployer --config bundles/trusty_kilo_opensource_201506_static_masq.yaml --timeout 3600 --bootstrap
To deploy bundle with BGP routing uplink setup (modification to the bundle file will be required to match the environment):
juju-deployer --config bundles/trusty_kilo_opensource_201506_bgp.yaml --timeout 3600 --bootstrap