External Networking REDUX¶
Refactor neutron-gateway and neutron-openvswitch charms to support more flexible configuration of ‘external’ north/south traffic routing to tenant networks.
Problem Description¶
The neutron-gateway and neutron-openvswitch charms currently support the ‘ext-port’ configuration option to plumb the Open vSwitch br-ex bridge into the external/public network.
OpenStack switched to a more flexible way of doing this a few cycles back, and the use of the default ‘br-ex’ == external network approach is officially deprecated.
We need to refactor the charms to support the reference way of configuring external networking, which provides more flexibility than the current approach but does require more knowledge of Neutron.
Use Cases¶
Using the reference approach to external networking, its possible to have multiple external networks served from the same set of neutron gateway units, potentially on the same physical network with VLAN segmentation:
neutron net-create --provider:network_type vlan \
--provider:segmentation_id 400 \
--provider:physical_network physnet1 --shared external
neutron net-create --provider:network_type vlan \
--provider:segmentation_id 401 \
--provider:physical_network physnet1 --shared \
--router:external=true floating
neutron router-gateway-set provider floating
with the associated neutron-gateway configuration:
neutron-gateway:
bridge-mappings: physnet1:br-data
data-port: br-data:eth1
Proposed Change¶
Both the neutron-gateway and neutron-openvswitch charms will need to be updated to support this change; for now the ‘ext-port’ configuration will be deprecated for backwards compatibility with existing installations preserving current behaviour.
The existing ‘data-port’ configuration option will be used instead to configure bridge-mappings and connectivity to physical network ports on the units deployed.
Alternatives¶
No alternatives.
Implementation¶
Assignee(s)¶
- Primary assignee:
james-page
- Additional contributors:
lathiat (Trent Lloyd)
Gerrit Topic¶
Use Gerrit topic “ext-net-redux” for all patches related to this spec.
git-review -t ext-net-redux
Work Items¶
Updates for neutron-gateway charm
Updates for neutron-openvswitch charm
Updates for openstack-charm-testing to configure external networking in the new style.
Updates to Mojo specifications for new style configuration.
Updates to official bundles with details on new configuration for external networking.
Repositories¶
None required.
Documentation¶
README’s in impacted charms will be updated with details on how to configure external networking.
Security¶
No additional security requirements.
Testing¶
Unit tests will be used to validate the code; Mojo specifications will be updated to use the new style of external networking configuration along with openstack-charm-testing.
Dependencies¶
No additional dependencies for this specification.