How to implement and configure a new vpnaas driver from scratch?

asked 2014-02-15 05:50:12 -0600

logoff gravatar image

updated 2014-04-10 12:42:24 -0600

We are trying to develop a vpnaas driver with current Openstack Havana. We are happy with current plugin (API, etc.) but we don't know how to implement the driver. In the official documentation there is not enough information to achieve our goal.

What have we tried:

  • We created a basic Python project with a class implementing VpnDriver class [1] like IPsecVPNDriver [2] does. For testing purposes, we only call logger in the code to see if we are doing things well.

  • We placed our Python code in our devstack instance in /opt/stack/neutron/neutron/services/vpn/service_drivers/ like the IPSec driver does.

  • We configured our driver in adding a line at the end like this in /etc/neutron/neutron.conf file:

service_provider = VPN:VPNaaS:neutron.services.vpn.service_drivers.our_python_filename.OurClassName:default

  • Finally, we restarted all neutron processes using screen in our devstack instance.

It seems that this configuration does not work. Why?

What is the correct procedure to obtain a working neutron vpnaas driver?

[1] https://github.com/openstack/neutron/blob/8f361a658fce478198f1a08c1689d636014e1ab2/neutron/services/vpn/service_drivers/__init__.py#L24

[2] https://github.com/openstack/neutron/blob/6d6b20e8018dbd6cfb439b09c1adca09ea945226/neutron/services/vpn/service_drivers/ipsec.py#L101

edit retag flag offensive close merge delete