VPNaaS support for OVN: documentation
Add documentation how to set up the vpnaas plugin variant for OVN. Change-Id: I72530249767ca63f8e841ca49e9da9191b0a6860
This commit is contained in:
parent
3faca16339
commit
2d4762d55d
@ -247,6 +247,7 @@ openstackdocs_bug_tag = 'doc'
|
|||||||
_config_generator_config_files = [
|
_config_generator_config_files = [
|
||||||
'vpn_agent.ini',
|
'vpn_agent.ini',
|
||||||
'neutron_vpnaas.conf',
|
'neutron_vpnaas.conf',
|
||||||
|
'neutron_ovn_vpn_agent.ini',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
@ -4,6 +4,7 @@ vpn_agent.ini
|
|||||||
|
|
||||||
This is a configuration file for the VPNaaS L3 agent
|
This is a configuration file for the VPNaaS L3 agent
|
||||||
extension of the neutron l3-agent.
|
extension of the neutron l3-agent.
|
||||||
|
Note that this is not used in an OVN setup.
|
||||||
|
|
||||||
.. show-options::
|
.. show-options::
|
||||||
:config-file: etc/oslo-config-generator/vpn_agent.ini
|
:config-file: etc/oslo-config-generator/vpn_agent.ini
|
||||||
|
@ -2,7 +2,8 @@
|
|||||||
neutron_ovn_vpn_agent.ini
|
neutron_ovn_vpn_agent.ini
|
||||||
=========================
|
=========================
|
||||||
|
|
||||||
This is a configuration file for the OVN VPN agent.
|
This is a configuration file for the standalone VPN agent
|
||||||
|
for a setup based on OVN.
|
||||||
|
|
||||||
.. show-options::
|
.. show-options::
|
||||||
:config-file: etc/oslo-config-generator/neutron_ovn_vpn_agent.ini
|
:config-file: etc/oslo-config-generator/neutron_ovn_vpn_agent.ini
|
||||||
|
@ -0,0 +1,8 @@
|
|||||||
|
================================
|
||||||
|
Sample neutron_ovn_vpn_agent.ini
|
||||||
|
================================
|
||||||
|
|
||||||
|
This sample configuration can also be viewed in `the raw format
|
||||||
|
<../../_static/config_samples/neutron_ovn_vpn_agent.conf.sample>`_.
|
||||||
|
|
||||||
|
.. literalinclude:: ../../_static/config_samples/neutron_ovn_vpn_agent.conf.sample
|
@ -91,6 +91,13 @@ Testing
|
|||||||
Add notes about functional testing, with info on how
|
Add notes about functional testing, with info on how
|
||||||
different reference drivers are tested.
|
different reference drivers are tested.
|
||||||
|
|
||||||
|
Set up VPNaaS for OVN
|
||||||
|
---------------------
|
||||||
|
.. toctree::
|
||||||
|
:maxdepth: 3
|
||||||
|
|
||||||
|
vpnaas-for-ovn
|
||||||
|
|
||||||
Module Reference
|
Module Reference
|
||||||
----------------
|
----------------
|
||||||
.. toctree::
|
.. toctree::
|
||||||
|
82
doc/source/contributor/vpnaas-for-ovn.rst
Normal file
82
doc/source/contributor/vpnaas-for-ovn.rst
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
==========================
|
||||||
|
Configuring VPNaaS for OVN
|
||||||
|
==========================
|
||||||
|
|
||||||
|
A general instruction to enable neutron VPNaaS is described in
|
||||||
|
`the Networking Guide
|
||||||
|
<https://docs.openstack.org/neutron/latest/admin/vpnaas-scenario.html#enabling-vpnaas>`__.
|
||||||
|
|
||||||
|
For an OVN-based setup some details are different though. The following instructions adapt the general ones
|
||||||
|
accordingly.
|
||||||
|
|
||||||
|
Enabling VPNaaS for OVN
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
#. Enable the VPNaaS plug-in in the ``/etc/neutron/neutron.conf`` file
|
||||||
|
by appending ``ovn-vpnaas`` to ``service_plugins`` in ``[DEFAULT]``:
|
||||||
|
|
||||||
|
.. code-block:: ini
|
||||||
|
|
||||||
|
[DEFAULT]
|
||||||
|
# ...
|
||||||
|
service_plugins = ovn-vpnaas
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
``ovn-vpnaas`` is the plugin variant of the reference implementation that supports OVN.
|
||||||
|
|
||||||
|
|
||||||
|
#. Configure the VPNaaS service provider by creating the
|
||||||
|
``/etc/neutron/neutron_vpnaas.conf`` file as follows, ``strongswan`` used in Ubuntu distribution:
|
||||||
|
|
||||||
|
.. code-block:: ini
|
||||||
|
|
||||||
|
[service_providers]
|
||||||
|
service_provider = VPN:strongswan:neutron_vpnaas.services.vpn.service_drivers.ovn_ipsec.IPsecOvnVPNDriver
|
||||||
|
|
||||||
|
#. With OVN there is no L3 agent. Instead a stand-alone VPN agent is installed. There is a new "binary" called
|
||||||
|
``neutron-ovn-vpn-agent``. Create its configuration file ``/etc/neutron/neutron_ovn_vpn_agent.ini``
|
||||||
|
with the following contents:
|
||||||
|
|
||||||
|
.. code-block:: ini
|
||||||
|
|
||||||
|
[DEFAULT]
|
||||||
|
transport_url = rabbit://openstack:RABBIT_PASS@CONTROLLER_IP
|
||||||
|
interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver
|
||||||
|
|
||||||
|
[AGENT]
|
||||||
|
extensions = vpnaas
|
||||||
|
|
||||||
|
[vpnagent]
|
||||||
|
vpn_device_driver = neutron_vpnaas.services.vpn.device_drivers.ovn_ipsec.OvnStrongSwanDriver
|
||||||
|
|
||||||
|
[ovs]
|
||||||
|
ovsdb_connection="unix:/var/run/openvswitch/db.sock"
|
||||||
|
|
||||||
|
[ovn]
|
||||||
|
ovn_sb_connection = tcp:OVSDB_SERVER_IP:6642
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Replace ``OVSDB_SERVER_IP`` with the IP address of the controller node that
|
||||||
|
runs the ``ovsdb-server`` service.
|
||||||
|
Replace ``RABBIT_PASS`` with the password you chose for the
|
||||||
|
``openstack`` account in RabbitMQ and CONTROLLER_IP with the IP address of
|
||||||
|
the controller node that runs the RabbitMQ server.
|
||||||
|
|
||||||
|
#. Create the required tables in the database:
|
||||||
|
|
||||||
|
.. code-block:: console
|
||||||
|
|
||||||
|
# neutron-db-manage --subproject neutron-vpnaas upgrade head
|
||||||
|
|
||||||
|
#. Restart the ``neutron-server`` in controller node to apply the settings.
|
||||||
|
|
||||||
|
#. Start the ``neutron-ovn-vpn-agent`` in network node to apply the settings.
|
||||||
|
|
||||||
|
Specifics of the OVN variant of the plugin
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Details about the architecture are described in
|
||||||
|
`the feature spec
|
||||||
|
<https://opendev.org/openstack/neutron-specs/src/branch/master/specs/xena/vpnaas-ovn.rst>`__.
|
Loading…
Reference in New Issue
Block a user