Virtual private network services for OpenStack Neutron.
Go to file
Hunt Xu b6c8ea8a3c Make libreswan driver work with recent versions
LibreSwan 3.19 introduces a new commandline argument '--nssdir' for
pluto which defaults to '/etc/ipsec.d'. As older versions don't
understand such an option, we cannot just add it to the commandline.

The commandline arguments of LibreSwan are not stable enough to rely on.
For example, in 3.19, 'ipsec initnss' has the new argument '--nssdir',
and in 3.20, 'ipsec pluto' also gets this new argument '--nssdir', then
in 3.22, the argument '--ctlbase' is phased out.

In this commit, instead of trying new options and then fallback to old
ones for older versions, the bind-mount method used in StrongSwan driver
is adopted. With /etc and /var/run bind mounted, all the commandline
arguments related to configuration file places can be removed. This
ensures that changes of such arguments between different versions won't
bother as the default places are always used.

This commit also replaces 'auth=' by 'phase2=' in the configuration
template as the former is for a long time an alias of the latter and
removed in LibreSwan 3.19.

The virtual-private argument of 'ipsec pluto' has been put into the
configuration file to avoid commas(,) in the commandline so that the
netns_wrapper can work well.

A new tempest job for running LibreSwan as the device driver on CentOS 7
is also added to avoid regression.

This commit has been simply tested on CentOS 7.4 with the following
versions of LibreSwan provided by the CentOS repo:

  - libreswan-3.12-5.el7.x86_64.rpm
  - libreswan-3.12-10.1.el7_1.x86_64.rpm
  - libreswan-3.15-5.el7_1.x86_64.rpm
  - libreswan-3.15-8.el7.x86_64.rpm
  - libreswan-3.20-3.el7.x86_64.rpm
  - libreswan-3.20-5.el7_4.x86_64.rpm

and different versions of LibreSwan provided by libreswan.org[1]:

[1] https://download.libreswan.org/binaries/rhel/7/x86_64/

Change-Id: Iacb6f13187b49cf771f0c24662d6af9217c211b8
Closes-Bug: #1711456
2018-06-22 15:29:48 +08:00
devstack Remove unmaintained drivers 2018-04-20 15:00:19 +07:00
doc/source Remove unmaintained drivers 2018-04-20 15:00:19 +07:00
etc Make libreswan driver work with recent versions 2018-06-22 15:29:48 +08:00
neutron_vpnaas Make libreswan driver work with recent versions 2018-06-22 15:29:48 +08:00
playbooks/legacy Switch tempest zuul job to zuul v3 native 2018-04-27 16:32:54 +08:00
rally-jobs Redundant alias in import statement 2017-11-07 08:24:33 +00:00
releasenotes Make libreswan driver work with recent versions 2018-06-22 15:29:48 +08:00
tools Avoid tox-install.sh 2018-03-16 02:48:57 +00:00
.coveragerc Change ignore-errors to ignore_errors 2015-09-21 14:32:37 +00:00
.gitignore Improve docs to follow the standard structure 2018-04-02 02:19:04 +00:00
.gitreview Point gitreview at correct repo 2014-12-08 14:49:55 -07:00
.mailmap Add mailmap entry 2014-05-16 13:40:04 -04:00
.pylintrc Add "nonstandard-exception" to .pylintrc 2016-02-11 13:45:54 -08:00
.stestr.conf Update for os-testr 1.0.0 / stestr 2017-09-19 10:05:01 +09:00
.testr.conf After the services split, get neutron-vpnaas Jenkins jobs passing 2014-12-09 00:00:04 -07:00
.zuul.yaml Make libreswan driver work with recent versions 2018-06-22 15:29:48 +08:00
CONTRIBUTING.rst Optimize the link address 2017-06-30 10:20:12 +00:00
HACKING.rst Optimize the link address 2017-06-30 10:20:12 +00:00
LICENSE Adding Apache Version 2.0 license file. This is the official license agreement under which Quantum code is available to 2011-08-08 12:31:04 -07:00
README.rst Optimize the link address 2017-06-30 10:20:12 +00:00
TESTING.rst Optimize the link address 2017-06-30 10:20:12 +00:00
babel.cfg Use babel to generate translation file 2013-01-24 00:20:32 +08:00
lower-constraints.txt add lower-constraints job 2018-03-22 16:37:09 -04:00
requirements.txt Updated from global requirements 2018-03-26 08:13:35 +00:00
setup.cfg Remove unmaintained drivers 2018-04-20 15:00:19 +07:00
setup.py Updated from global requirements 2017-03-07 17:22:28 +00:00
test-requirements.txt Updated from global requirements 2018-03-23 01:23:23 +00:00
tox.ini Improve docs to follow the standard structure 2018-04-02 02:19:04 +00:00

README.rst

Welcome!

This package contains the code for the Neutron VPN as a Service (VPNaaS) service. This includes third-party drivers. This package requires Neutron to run.

External Resources:

The homepage for Neutron is: https://launchpad.net/neutron. Use this site for asking for help, and filing bugs. We use a single Launchpad page for all Neutron projects.

Code is available on git.openstack.org at: https://git.openstack.org/cgit/openstack/neutron-vpnaas.

Please refer to Neutron documentation for more information: Neutron README.rst