Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

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

We are trying to develop a vpnaas driver with current Openstack Havana. We are happy with current driver (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 like IPsecVPNDriver 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:

    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 working?

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

We are trying to develop a vpnaas driver with current Openstack Havana. We are happy with current driver (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 class [1] like IPsecVPNDriver 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:

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 working?

    [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

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

    We are trying to develop a vpnaas driver with current Openstack Havana. We are happy with current driver 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:

    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 working?

    [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

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

    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: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 working?

    [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

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

    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 working?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