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
All strings are considered as unicode string from Python 3.
This patch drops the explicit unicode literal (u'...')
appearances from the unicode strings.
Change-Id: I5c990388bff3f65bfd5e6367a4e17a9292c533ad
The latest pip resolver started to check requirements strictly
and it detects many inconsistencies in neutron-vpnaas requirements.
Also applies the practices discussed in the mailing list [1][2].
* Drop pyflakes from requirements.txt as it is not used.
* Move document dependencies to doc/requirements.txt [1]
and drop them from lower-constriants.txt.
* Bump MarkupSafe lower-constraint to 1.1.1
to make it work with newer setuptools.
* Bump the minimum neutron requirement to 17.0.0 (victoria release)
as the previous min version 13.0.0.0b2 is too old.
Wallaby and Victoria neutron are not different much, so I think
it is no problem to use the latest released version here.
* Dependenicy related to neutron min version bump are updated
in requirements and lower-constraints.
Note that eventlet 0.22.0 is used as lower-constraints as 0.21.0
(the min requirement in neutron 17.0.0) is blocked in several libs.
* Move linter dependencies to tox.ini and drop them from
lower-constraints.txt (pylint, pyflakes, astroid, isort)
* Drop psutil from neutron_vpnaas/tests/functional/requirements.txt
as the specified version of psutil is too old and psutil is a dependency
of neutron so we don't need to install it explicitly here.
In addition, hacking version is updated as hacking 0.12.0 is not compatible
with python 3.8. W504 and I202 are ignored as we do in the neutron repo.
Other new flake8 violations are fixed.
[1] http://lists.openstack.org/pipermail/openstack-discuss/2021-January/019611.html
[2] http://lists.openstack.org/pipermail/openstack-discuss/2020-December/019362.html
Change-Id: I47f6d39379b68c4d71fc4d85ebb06d97cb5a6ce2
Switch to openstackdocstheme 2.2.1 and reno 3.1.0 versions. Using
these versions will allow especially:
* Linking from HTML to PDF document
* Allow parallel building of documents
* Fix some rendering problems
Update Sphinx version as well.
Set openstackdocs_pdf_link to link to PDF file. Note that
the link to the published document only works on docs.openstack.org
where the PDF file is placed in the top-level html directory. The
site-preview places the PDF in a pdf directory.
Disable openstackdocs_auto_name to use 'project' variable as name.
Change pygments_style to 'native' since old theme version always used
'native' and the theme now respects the setting and using 'sphinx' can
lead to some strange rendering.
openstackdocstheme renames some variables, so follow the renames
before the next release removes them. A couple of variables are also
not needed anymore, remove them.
See also
http://lists.openstack.org/pipermail/openstack-discuss/2020-May/014971.html
Change-Id: Ibeec55164eaa9985b3e9281bc23ecdad232e4fff
Thanks slaweq and Neutron team's attention for neutron-vpnaas.[1]
As an user, we use neutron-vpnaas in our product as many other companies.
Over the past couple of cycles, I had fixed bugs from our users and
CI failure, reviewed some patches.[2]
I would like to add myself as a maintainer, with the help from Neutron team
and neutron-vpnaas cores, I will take attention for the bugs, project CI and
review patches.
Hunt Xu is my former colleague, I can confirm that he will not
maintained LibreSwanDriver anymore, so I change it to myself.
[1] http://lists.openstack.org/pipermail/openstack-discuss/2020-January/011834.html
[2] https://www.stackalytics.com/?release=all&company=awcloud&metric=commits&module=neutron-vpnaas&user_id=hellochosen
Change-Id: I139cfae3e64eb066f428534f94642cdeb5cd07d7
The api documentation is now published on docs.openstack.org instead
of developer.openstack.org. Update all links that are changed to the
new location.
Note that redirects will be set up as well but let's point now to the
new location.
For details, see:
http://lists.openstack.org/pipermail/openstack-discuss/2019-July/007828.html
Change-Id: If5ecd53888b339701ee162b66ae988c9cd9efd36
neutron CLI is deprecated and will be removed in the future. Use
openstack CLI instead.
Highlighted texts are now emphasized by "emphasize-lines" option
of the code-block directive.
Co-Authored-By: Akihiro Motoki <amotoki@gmail.com>
Change-Id: I552171fe3e22290580e2cdff20adccf655573d03
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
After https://review.openstack.org/#/c/555167/ merged
downstream packaging jobs broke due to the filename
change to l3_agent.ini. Change it back to vpn_agent.ini
since it could cause an upgrade issue.
Also, since l3_agent.ini is already used in the neutron
tree, having a file with the same name could cause some
confusion, so it's better to use something unique.
Change-Id: I39cf2c0d1c54e7c292dcdf71831c1a3cbc67284a
neutron-vpnaas documentation needed to be updated to the document
structure recommended by the docs team.
This commits add several sections and reorganizes the existing docs.
Change-Id: Iae2704f3d0653e00c18cf1fccdbcb8b926a5b15c
* The document is no longer only for developers, so the title of
the top page is updated.
* In the current document standard, docs for contributors are
placed under contributor/.
* Title levels are rearranged to be shown appropriately
with openstackdocsthems.
* Fixes many sphinx code-block for better rendering.
Change-Id: I36fc80d1c1e5382597099b86df3bbf009ce06902
I would like to add Hunt Xu as a maintainer for libreswan driver
as He is currently focusing and active on it.
Change-Id: I6f6ae79a79f8f426226af900027c8038ca537213
* https://review.openstack.org/519310 syncs the code from neutron
project to neutron-tempest-plugin repo and it is better to depend
on new one inorder to avoid the breakage.
Change-Id: Icf3ec7c186f45e86d602d5bc8754b91ddab47732
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
This patch adds more info to contributor guide to let
new contributors know how to contribute to vpnaas actively.
Change-Id: I62baaa077393009d8fa23d36413a3059bc2c4a0c
Related-bug: 1692131
This patch add more info about vpnaas team in order to let
new contributor know how to reach out relevent members.
Change-Id: I2a442973e7a4bf8498835d5ddf161bf635fc8bcb
Related-bug: 1692131
Now that VPNaaS is running under L3 agent extension.
There is no need extra steps.
Change-Id: I0f6a6dfe83f81da9d98b7ba1bd1b594eed4152e8
Related-bug: 1692131
This isn't actually used and is a leftover from a thing we did
seven years ago that survives today through copy-pasta.
Change-Id: Ifadab85df01e1c0e81177354b47be03f354ec4d3
As part of the docs migration work[0] for Pike we need to switch to use
the openstackdocstheme.
[0]https://review.openstack.org/#/c/472275/
Change-Id: Icb985379c263d7d06544d69bae11282a18a7fc52
I would like to add myself as a maintainer for strongswan driver
as I am currently using and focusing on it. In order to share
workload with Kong as he is in-charging for 2 drivers.
Change-Id: I6ff26ef34520e9f8711503b7589c37bdbc32ca39
This patch is follow up of
I955546e4c63daacf0c8b4e979917eacb3a4e29d7
to close the bug completely in devref.
Change-Id: I92746c3451577db026672842ec229b395b3e2ccf
Currently, when we run api tests with command: "tox -e api",
tests are failing with errors.
This change first fixes errors, make api tests pass. Then refactor
the neutron-vpnaas api tests tree to fit the tempest plugin.
As a tempest plugin, the steps to run tests by hands are:
1. Setup a local working environment for running tempest
tempest init ${your_tempest_dir}
2. Enter ${your_tempest_dir}
cd ${your_tempest_dir}
3. Check neutron_vpnaas_tests exist in tempest plugins:
tempest list-plugins
+----------------------+------------------------------------------------------+
| Name | EntryPoint |
+----------------------+------------------------------------------------------+
| neutron_tests | neutron.tests.tempest.plugin:NeutronTempestPlugin |
| neutron_vpnaas_tests | neutron_vpnaas.tests.tempest.plugin:VPNTempestPlugin |
+----------------------+------------------------------------------------------+
4. Run neutron_vpnaas tests:
tempest run --regex "^neutron_vpnaas.tests.tempest.api\."
In the jenkins gate, devstack-gate/devstack-vm-gate-wrap.sh will invoke tempest
with proper configurations, such as:
DEVSTACK_GATE_TEMPEST=1
DEVSTACK_GATE_TEMPEST_ALL_PLUGINS=1
DEVSTACK_GATE_TEMPEST_REGEX="^neutron_vpnaas.tests.tempest.api\."
The actual raw command in gate running under the tempest code directory is:
tox -eall-plugin -- "^neutron_vpnaas.tests.tempest.api\."
This is a part of activate the API job:
https://review.openstack.org/#/c/337011/
Change-Id: Icdc946bccb77b4c78d161a590de1aa15e0a57139
Libreswan device driver had already supported from
Liberty, so we can install VPNaaS in CentOS7 or RHEL7.
Default DevStack setting for IPSEC package is openswan.
This patch give some example for the manually IPsec
package installation in devstack docs.
Change-Id: I156ba72baeb8c540bdf0ed23669ed2255f270184
When building packages if git is absent, then we should not set
html_last_updated_fmt. It can still be set via the -D switch
when building with sphinx-build.
Change-Id: I9f833ed6c9881803702466775895c1ad63d0d21d
Closes-Bug: #1552251
There's no RST file that uses ".. math" and thus
the pngmath Sphinx extension is not used and can
get removed.
Change-Id: I3ea4b529025c8ac3c4092f3720124647861e6668
(a) Refactored the code to work with the following cases
1. Single node with DVR
2. Single node without DVR
3. Multinode with DVR
4. Multinode without DVR
|-------------|-------------------------------------------------------|
| | Single Node/ Multinode Tests |
| Scenarios |-------------------------------------------------------|
| | DVR | DVR+Concurrency | Non DVR | Non DVR+Concurrency |
|-------------|-----|-----------------|---------|---------------------|
| Vpn Basic | x | x | x | x |
| Multi Tenant| x | x | x | x |
| Vpn Status | x | x | x | x |
|-------------|-----|-----------------|---------|---------------------|
(b) Used the paramiko package to execute commands over ssh.
(c) Moved the README to devref
Depends-On: Id3f199d688d648f4618a6850d094e26ca6bb9a7f
Change-Id: I24d5a8435f06014fa9164bef518cac62bbb70ef9
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>
These are eventually going to be used in gate instead of unconstrained
jobs. There is some code duplication in commands definitions, but tox
does not allow to inherit definitions with {posargs} substitution.
Made tox_install.sh use constraints file to install both the project and
neutron dependency, if the first argument is 'constrained'.
Note: To test the docs targets, needed to fix a formatting issue in
multiple-local-subnets.rst document.
Change-Id: I699022b285594edf3c5db10fbdac2f904dc42928
Partial-Bug: #1522503
Depends-On: Icfc50a0a9330dbc2a59f9bb27f09944bdf0e00d1