Commit Graph

30 Commits

Author SHA1 Message Date
Bodo Petermann 256464aea6 VPNaaS support for OVN
Adds VPNaaS support for OVN.
Add a new stand-alone VPN agent to support OVN+VPN. Add OVN-specific
service and device drivers that support this new VPN agent. This will
have no impact on the existing VPN solution for ML2/OVS, the existing
L3 agent and its VPN extension will still work.

Add a new VPN agent scheduler that will schedule VPN services to VPN
agents on a per-router basis.

Add two new database tables: vpn_ext_gws (to store extra port IDs)
and routervpnagentbindings (to store VPN agent ID per router).

More details see spec (neutron-specs/specs/xena/vpnaas-ovn.rst).

This work is based on work of MingShuan Xian (xianms@cn.ibm.com),
see https://bugs.launchpad.net/networking-ovn/+bug/1586253

Depends-On: https://review.opendev.org/c/openstack/neutron/+/847005
Depends-On: https://review.opendev.org/c/openstack/neutron-tempest-plugin/+/847007

Closes-Bug: #1905391
Change-Id: I632f86762d63edbfe225727db11ea21bbb1ffc25
2023-11-16 21:08:50 +01:00
Zuul 295bed9842 Merge "devstack: no need to use sudo for genconfig" 2020-01-15 01:50:44 +00:00
Akihiro Motoki cdecf0e122 devstack: no need to use sudo for genconfig
neutron_vpnaas_generate_config_files() in devstack/plugin.sh
uses sudo unnecessarily. It creates pyc files with root owner and
when we run stack.sh again stack.sh will fail.

Change-Id: I611ded0a60383f183f053c7a5ff5ccb3f0639e75
2020-01-14 22:53:24 +09:00
Zuul 2ad5c9a941 Merge "Install suitable service_providers" 2019-12-17 06:42:52 +00:00
Dongcan Ye 23af68f52e Install suitable service_providers
If we wants VPN works on CentOS, we can set IPSEC_PACKAGE
to libreswan, but vpn service_providers still related
to strongswan.

This patch set the value of NEUTRON_VPNAAS_SERVICE_PROVIDER
according to IPSEC_PACKAGE in devstack/settings.

Change-Id: I893a191a8a1aa5a5beb8a73a9df4d1df2fb0c2f8
2019-11-13 02:33:43 +00:00
caoyuan e69c508770 Replace git.openstack.org URLs with opendev.org URLs
Change-Id: Idf2aeff4939079743dfae567ea15193b971af464
2019-05-11 12:49:37 +08:00
Cao Xuan Hoang eadee693a9 Remove unmaintained drivers
After the announcement on mailing list [1] but there is no response.
This patch intends to remove the following drivers that are unmaintained:
- CiscoCsrIPsecDriver
- FedoraStrongSwanDriver
- VyattaIPsecDriver

[1] http://lists.openstack.org/pipermail/openstack-dev/2017-July/120264.html

Change-Id: I984a41b9a9b5c154c4be7f5bcef621fe8c5677ac
2018-04-20 15:00:19 +07:00
Zuul 5c97c2bc2e Merge "[doc] Add testing VPNaaS with devstack" 2018-01-12 08:02:35 +00:00
Cao Xuan Hoang 5ec634a3f6 [doc] Add testing VPNaaS with devstack
This patch adds doc for how to test VPNaaS with devstack
in order to help developers, operators and users easy to
understand VPNaaS as fast as possible.

This patch addresses the gap and improves docs as
discussed in Boston summit.

The content of this patch is basic inheritted from wiki page [1]
[1] https://wiki.openstack.org/wiki/Neutron/VPNaaS/HowToInstall

Change-Id: I8465cb90645af0fc3ea8cda554b0477b15f01fbe
Related-bug: 1692131
2018-01-11 15:32:06 +07:00
Hunt Xu 78d2011271 devstack: adapt to lib/neutron
Change-Id: I9b2780e1e1e6dc8b733348e0aad2024304e11ebb
2018-01-09 13:40:54 +08:00
Cao Xuan Hoang 99d2687b83 VPN as a Service (VPNaaS) Agent
This is the iteration of the VPNaaS Agent with some basic
functionality to enable integration of Plugin - Agent - Driver.

Co-Authored-By: Van Hung Pham <hungpv@vn.fujitsu.com>
Change-Id: I0b86c432e4b2210e5f2a73a7e3ba16d10467f0f2
Closes-Bug: 1692128
2017-10-23 09:24:28 +07:00
Jenkins 2167ca2cdb Merge "devstack: Use entrypoint name for service_plugin" 2017-09-06 21:09:59 +00:00
Akihiro Motoki bbe06b9a5c devstack: Use entrypoint name for service_plugin
When specifying a service plugin, we can use entrypoint names
instead of full class paths.
It shorten the line length of service_plugins in neutron.conf
and improves the readability :)

Change-Id: I51eb5960039683305feb7a8b8367b13b39ad4a1e
2017-09-01 07:49:49 +00:00
YAMAMOTO Takashi dca5f9114f devstack: Adapt to lib/neutron
Depends-On: Icfa2cfa662013324d38099b82ce0f58ed8377e60
Change-Id: Iab72c3bde4d3ff1a9323e30bb4236d2770726068
2017-02-23 22:36:38 -05:00
YAMAMOTO Takashi fb30a7a64f devstack: Add neutron server config explicitly
Use neutron_server_config_add instead of Q_PLUGIN_EXTRA_CONF_FILES.

Closes-Bug: #1643597
Partial-Bug: #1599936
Depends-On: I90112823ef96ae2fba97d7b09b00bec8cb816d8d
Change-Id: If0bf812aac9f32011306face743218fe5f8b2aa8
2017-02-23 12:37:20 +09:00
YAMAMOTO Takashi 55b0e6618f devstack: Switch the default to strongswan
Closes-Bug: #1649574
Change-Id: I955546e4c63daacf0c8b4e979917eacb3a4e29d7
2016-12-14 12:28:54 +09:00
Nate Johnston 4379f12876 Remove FWaaS dependency in VPNaaS devstack plugin
Right now if the FWaaS configuration file does not exist, a devstack
trying to start VPNaaS may fail[1].  This is unnecessary; since FWaaS is
now using the L3 agent extension code, it plugs in that way.  It should
not interfere at all with VPNaaS.  This change removes the FWaaS
dependency in the devstack plugin.

[1] http://paste.openstack.org/show/584360/

Change-Id: I28e48ab161e7991a24fec181e4ec7378888f9149
2016-10-05 04:55:58 +00:00
rabi e9d8afa2d7 Add vpnaas conf to Q_PLUGIN_EXTRA_CONF_FILES
A recent change[1] that adds lbaas conf files to
Q_PLUGIN_EXTRA_CONF_FILES has broken vpnaas devstack
plugin.

[1] https://review.openstack.org/#/c/366690

Change-Id: Ice58bce3c2bd469a52299b9c830b9b588d700acf
Closes-Bug: #1624976
2016-09-19 11:44:25 +05:30
Kevin Benton 8cddec3bf4 Fix grenade plugin
Adds settings file is necessary to register the service.
Fixes undefined reference in shutdown by copy-paste. :/

Change-Id: I1c2129d581c00719766f80b802031f04b4a07a2a
Closes-Bug: #1579235
2016-05-11 04:12:41 -07:00
Kevin Benton a65310b7bb Add grenade upgrade hooks to stop agent
This adds grenade upgrade hooks so the agent can actually
be stopped during an upgrade.

This is necessary now that vpnaas runs in a devstack plugin
because its agent will now no longer be stopped by the neutron
plugin inside of grenade.

Change-Id: I5271f0ef4f857eb5650612829d352a821416487a
Partial-Bug: #1579235
2016-05-06 20:05:54 -07:00
Kevin Benton 3086f0247c Set path for neutron conf dir in devstack if missing
The variable NEUTRON_CONF_DIR is no longer available to the
script for functional setup. This defaults it to the correct
location if it's not already set.

Closes-Bug: #1579946
Change-Id: I060aea1de70d7939a8ea68771702f74a00d88fe9
2016-05-06 20:03:11 -07:00
Michael Johnson 0101b01e85 Update devstack plugin for dependent packages
Recent changes to the gate base images [1] removed a package
neutron-vpnaas requires (apparmor).
This patch updates the plugin.sh to install apparmor.

Change-Id: Ic569c43e014ef11f8121db7dd5047a39579a4633
Closes-Bug: #1558355
2016-03-17 04:44:47 +00:00
Ryan Moats e544a4f669 Add multi-node devstack support to VPNaaS
Modify devstack plugin to support multi-node confgurations
(i.e. where the network node is split from the controller node).

DocImpact: Migrate HowTo wiki page to additional devref text

Change-Id: Iac5756ffe75b2125faace54b74b296036905a9b0
Signed-off-by: Ryan Moats <rmoats@us.ibm.com>
2016-01-12 07:53:59 -06:00
Martin Hickey 5c8941eeed Automatically generate neutron VPNaaS configuration files
This adds a new tox environment, genconfig, which generates sample
neutron VPNaaS configuration file using oslo-config-generator.

Updates to some configuration option help messages to reflect useful
details that were missing in the code but were present in config files.

DocImpact: Update the docs that VPNaaS no longer includes static example
configuration files. Instead, use tools/generate_config_file_samples.sh
to generate them and the files generated now end with .sample extension.

Partially-Implements: blueprint autogen-neutron-conf-file

Change-Id: I4a6094b8218dfd320d05bfb1e3bc121e8930c551
Partial-bug: #1199963
2015-12-11 11:03:33 +00:00
Brent Eagles 053206d653 Enable configuring LibreSwan in VPNaaS
This change adds support for configuring the LibreSwan ipsec driver in
vpn_agent.ini.

Change-Id: I9cb77054f1aabe6f127fe8bce472c0c2e0704bc7
2015-10-07 09:23:27 -02:30
Jenkins 8260cb5013 Merge "[DevStack] Fix StrongSwan setup on Fedora" 2015-09-15 01:07:58 +00:00
Paul Michali 42503fc929 VPNaaS: Use new service name for devstack plugin
(Finally) move away from the old quantum naming for services, and move to
the ultra-modern, but bland, neutron-vpnaas naming.

On a practical note, coupled with I2bb7ac01e619c8a9b22bd517a4ff60d67035dfed
this commit prevents two VPN agent processes from being started. Note: This
cannot be tested/upstreamed, until the devstack repo commit is upstreamed.

With this commit, the Devstack plugin for VPN is completed.

Closes-Bug: 1473475
Closes-Bug: 1484141
Change-Id: I267c300ef5a577823dddec08e0a93e098413198a
Depends-On: I2bb7ac01e619c8a9b22bd517a4ff60d67035dfed
2015-08-27 17:18:49 +00:00
Elena Ezhova 5503655111 [DevStack] Fix StrongSwan setup on Fedora
Use FedoraStrongSwanDriver instead of StrongSwanDriver on Fedora.
This also make setting the default_config_area option unnecessary
as FedoraStrongSwanDriver overrides it itself.

Change-Id: I2fa2f41dcbebe456c46980cfd11b1221288fed66
2015-08-24 11:52:05 +03:00
Paul Michali 9c21bb5ad2 VPNaaS: Correcting method name for functional test
With the new DevStack plugin for neutron-vpnaas, the method names for
various stacking actions were renamed. One is used by the functional
test setup script tools/configure_for_vpn_func_testing.sh.

The change wasn't noticed, because the neutron-vpnaas repo still was
using DevStack's existing VPN setup, where the old method name is still
in use. But, when removing the VPN setup in DevStack, then the function
tests will fail.

This commit renames the method to match the name of the DevStack
plugin method, instead of the older DevStack repo method. It'll be
needed, before upstreaming Iffa9901e24adbacb581425c4b38c7e8cff0da9e8.

In addition, it makes sure that VPN environment variables are available
for use by the configuration script, and reuses more plugin.sh code,
to remove duplication.

Change-Id: Ib22a4b9abdc82c2b14d933b02329c6483c075ea8
2015-07-30 14:41:03 +00:00
Paul Michali 9e19dc4f80 VPNaaS DevStack Plugin support
Adding plugin support for the neutron-vpnaas repo. Later, will
remove the setup from the DevStack repo.

One note: Since the VPN agent is a subclass of the L3 agent,
which in turn is a subclass of the FW agent, the startup for
the VPN agent process must check to see if the FW service is
enabled, and if so, include that configuration file (AFAICT).

Change-Id: I6c32165a544223ccf02228c953766b5211426ed0
Partial-Bug: 1473475
2015-07-15 21:56:33 +00:00