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
This commit is contained in:
Dongcan Ye 2019-05-14 13:31:42 +00:00
parent a3a9f27b8b
commit 23af68f52e
1 changed files with 18 additions and 3 deletions

View File

@ -3,13 +3,28 @@
# Plugin
VPN_PLUGIN=${VPN_PLUGIN:-"vpnaas"}
# Service Driver
NEUTRON_VPNAAS_SERVICE_PROVIDER=${NEUTRON_VPNAAS_SERVICE_PROVIDER:-"VPN:strongswan:neutron_vpnaas.services.vpn.service_drivers.ipsec.IPsecVPNDriver:default"}
# Device driver
IPSEC_PACKAGE=${IPSEC_PACKAGE:-"strongswan"}
NEUTRON_VPNAAS_DEVICE_DRIVER=${NEUTRON_VPNAAS_DEVICE_DRIVER:-"neutron_vpnaas.services.vpn.device_drivers.strongswan_ipsec:StrongSwanDriver"}
function _get_service_provider {
local ipsec_package=$1
local name driver
driver="neutron_vpnaas.services.vpn.service_drivers.ipsec.IPsecVPNDriver"
if [ "$ipsec_package" = "libreswan" ]; then
name="openswan"
else
name="strongswan"
fi
echo "VPN:${name}:${driver}:default"
}
# Service Driver, default value depends on IPSEC_PACKAGE.
if [ -z "$NEUTRON_VPNAAS_SERVICE_PROVIDER" ]; then
NEUTRON_VPNAAS_SERVICE_PROVIDER=$(_get_service_provider $IPSEC_PACKAGE)
fi
# Config files
NEUTRON_CONF_DIR=${NEUTRON_CONF_DIR:-"/etc/neutron"}
NEUTRON_VPNAAS_DIR=$DEST/neutron-vpnaas