From 23af68f52eaa9c17f1c560744ddc9faf13db87a0 Mon Sep 17 00:00:00 2001 From: Dongcan Ye Date: Tue, 14 May 2019 13:31:42 +0000 Subject: [PATCH] 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 --- devstack/settings | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/devstack/settings b/devstack/settings index 48b0dd6de..0f16be035 100644 --- a/devstack/settings +++ b/devstack/settings @@ -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