[openstack-dev] How to implement and configure a new Neutron vpnaas driver from scratch?
Julio Carlos Barrera Juez
juliocarlos.barrera at i2cat.net
Sat Apr 26 11:39:24 UTC 2014
I'm trying to configure any VPNaaS plugin in single-provider mode. I'm not
able to achieve this goal. I'm using a devstack installation and I'm
editing */etc/neutron/neutron.conf* file, modifying this line:
...
service_provider=VPN:cisco_csr:neutron.services.vpn.service_drivers.ipsec.IPsecVPNDriver:default
...
and */etc/neutron/vpn_agent.ini* modifyin gthis line:
*...*
*vpn_device_driver=neutron.services.vpn.device_drivers.ipsec.IPsecDriver*
*...*
I'm not sure if this configuration is OK. I have some doubts:
- Is this configuration a valid one taking into account that plugin are
available in Python modules path?
- Where are the log files located to check valid neutron configuration?
- What services should I restart each time I change this configuration?
Thank you very much.
Julio C. Barrera Juez
Office phone: +34 93 357 99 27
Distributed Applications and Networks Area (DANA)
i2CAT Foundation, Barcelona, Spain
http://dana.i2cat.net
On 24 April 2014 16:14, Paul Michali (pcm) <pcm at cisco.com> wrote:
> Not sure I quite understand the question, but to configuring VPNaaS in
> single provider mode, from a user's perspective is the same (see
> api.openstack.org).
>
> To bring up a cloud that uses a different vendor's service and device
> driver, you need to modify neutron.conf to select the vendor's service
> driver (as the default driver), instead of the reference driver, and in
> vpn_agent.ini you select the vendor's device driver (instead of or in
> addition to the reference implementation, doesn't matter, as it pairs with
> the service driver).
>
> HTHs,
>
>
> PCM (Paul Michali)
>
> MAIL ......... pcm at cisco.com
> IRC ........... pcm_ (irc.freenode.com)
> TW ............ @pmichali
> GPG Key ... 4525ECC253E31A83
> Fingerprint .. 307A 96BB 1A4C D2C7 931D 8D2D 4525 ECC2 53E3 1A83
>
>
>
> On Apr 24, 2014, at 3:13 AM, Julio Carlos Barrera Juez <
> juliocarlos.barrera at i2cat.net> wrote:
>
> OK, thank you guys, I understood that it was not possible to configure
> and make work any VPNaaS plugin. I don't care, by now, because it works in
> single-provider mode. I knew about the Cisco implementation, but I don't
> know how to configure it, because I didn't find enough documentation about
> that topic. I need some help on the basics configuring a VPNaaS plugin in
> single provider mode, because I only found information about it in 3rd
> party blog posts, etc.
>
> What are the basic steps?
>
> Thank you again.
>
>
> Julio C. Barrera Juez
> Office phone: +34 93 357 99 27
> Distributed Applications and Networks Area (DANA)
> i2CAT Foundation, Barcelona, Spain
> http://dana.i2cat.net
>
>
> On 18 April 2014 10:50, Bo Lin <linb at vmware.com> wrote:
>
>> Hi Julio,
>> +1 for Paul's response. Multiple-provider VPNaaS support is delayed. But
>> you can take https://review.openstack.org/#/c/74156/<https://urldefense.proofpoint.com/v1/url?u=https://review.openstack.org/%23/c/74156/&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=F5etm0B6kVJ9jleIhCvNyA%3D%3D%0A&m=1%2FHmRV%2F3ce%2Bjpzxjfyhv6xjuBhiOBVrajFVFZjco9Zw%3D%0A&s=3436530b865ab50e305340302d741b5f023419bebc45ec144caa57e4c51b0452>
>> and https://review.openstack.org/#/c/74144/<https://urldefense.proofpoint.com/v1/url?u=https://review.openstack.org/%23/c/74144/&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=F5etm0B6kVJ9jleIhCvNyA%3D%3D%0A&m=1%2FHmRV%2F3ce%2Bjpzxjfyhv6xjuBhiOBVrajFVFZjco9Zw%3D%0A&s=08ac89d9f0424a7f6bb462accc106a9edc6df8e41b6b7fe568ea287db47abe30> as
>> examples to write your own vpnaas driver without multi-provider support. If
>> any questions or problems in your codes leading to not work, just upload
>> your codes onto the review board, we can find how to solve it :).
>>
>> Thanks!
>> ---Bo
>>
>>
>> ------------------------------
>> *From: *"Paul Michali (pcm)" <pcm at cisco.com>
>>
>> *To: *"OpenStack Development Mailing List (not for usage questions)" <
>> openstack-dev at lists.openstack.org>
>> *Sent: *Friday, April 11, 2014 2:15:18 AM
>>
>> *Subject: *Re: [openstack-dev] How to implement and configure a new
>> Neutron vpnaas driver from scratch?
>>
>> By not "working" do you mean you cannot get the plugin to work in a
>> multi-provider environment? Multi-provider solutions have been tabled until
>> Juno, where more discussion is occurring on what is the best way to support
>> different service providers.
>>
>> However, you should be able to get the plugin to work as the "sole" VPN
>> service provider, which is what the Cisco solution does currently. You can
>> look at how I've done that in the cisco_ipsec.py modules in the
>> service_drivers and device_drivers directories, under neutron/services/vpn/.
>>
>>
>> Regards,
>>
>> PCM (Paul Michali)
>>
>> MAIL ......... pcm at cisco.com
>> IRC ........... pcm_ (irc.freenode.com<https://urldefense.proofpoint.com/v1/url?u=http://irc.freenode.com&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=F5etm0B6kVJ9jleIhCvNyA%3D%3D%0A&m=1%2FHmRV%2F3ce%2Bjpzxjfyhv6xjuBhiOBVrajFVFZjco9Zw%3D%0A&s=3f732defa72f3a816af1d5b52eefd459e2939807789cbc29c963da082ce8c010>
>> )
>> TW ............ @pmichali
>> GPG Key ... 4525ECC253E31A83
>> Fingerprint .. 307A 96BB 1A4C D2C7 931D 8D2D 4525 ECC2 53E3 1A83
>>
>>
>>
>> On Apr 10, 2014, at 1:51 PM, Julio Carlos Barrera Juez <
>> juliocarlos.barrera at i2cat.net> wrote:
>>
>> Hi.
>>
>> After 8 months of the patch creation and being abandoned weeks ago (
>> https://review.openstack.org/#/c/41827/<https://urldefense.proofpoint.com/v1/url?u=https://review.openstack.org/%23/c/41827/&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=F5etm0B6kVJ9jleIhCvNyA%3D%3D%0A&m=1%2FHmRV%2F3ce%2Bjpzxjfyhv6xjuBhiOBVrajFVFZjco9Zw%3D%0A&s=35c7a80127726543da2ed25bdde79e07b28ce936aa8a1ca7afa4fc20bcbefb65>)
>> I still don't how can we develop a VPNaaS plugin following Bo Lin
>> instructions. Is there any other patch trying to solve the problem? Is
>> there any way to workaround the issue to get a VPNaaS plugin working?
>>
>> Thank you!
>>
>>
>> Julio C. Barrera Juez
>> Office phone: +34 93 357 99 27
>> Distributed Applications and Networks Area (DANA)
>> i2CAT Foundation, Barcelona, Spain
>> http://dana.i2cat.net<https://urldefense.proofpoint.com/v1/url?u=http://dana.i2cat.net/&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=F5etm0B6kVJ9jleIhCvNyA%3D%3D%0A&m=1%2FHmRV%2F3ce%2Bjpzxjfyhv6xjuBhiOBVrajFVFZjco9Zw%3D%0A&s=86728c6db62dee1a59132a2b11c5651432e714ee782ead0c4790189d29195b5d>
>>
>>
>> On 27 February 2014 10:51, Bo Lin <linb at vmware.com> wrote:
>>
>>> Hi Julio,
>>> You can take https://review.openstack.org/#/c/74156/<https://urldefense.proofpoint.com/v1/url?u=https://review.openstack.org/%23/c/74156/&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=F5etm0B6kVJ9jleIhCvNyA%3D%3D%0A&m=1%2FHmRV%2F3ce%2Bjpzxjfyhv6xjuBhiOBVrajFVFZjco9Zw%3D%0A&s=3436530b865ab50e305340302d741b5f023419bebc45ec144caa57e4c51b0452>
>>> and https://review.openstack.org/#/c/74144/<https://urldefense.proofpoint.com/v1/url?u=https://review.openstack.org/%23/c/74144/&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=F5etm0B6kVJ9jleIhCvNyA%3D%3D%0A&m=1%2FHmRV%2F3ce%2Bjpzxjfyhv6xjuBhiOBVrajFVFZjco9Zw%3D%0A&s=08ac89d9f0424a7f6bb462accc106a9edc6df8e41b6b7fe568ea287db47abe30> as
>>> examples to write your own vpnaas driver. More info about service type
>>> framework, you can also refer to neutron/services/loadbalancer codes.
>>>
>>> ------------------------------
>>> *From: *"Julio Carlos Barrera Juez" <juliocarlos.barrera at i2cat.net>
>>> *To: *"OpenStack Development Mailing List (not for usage questions)" <
>>> openstack-dev at lists.openstack.org>
>>> *Sent: *Thursday, February 27, 2014 5:26:32 PM
>>> *Subject: *Re: [openstack-dev] How to implement and configure a new
>>> Neutron vpnaas driver from scratch?
>>>
>>>
>>> I'm following the change you pointed a week ago. It seems that it is
>>> working now, and will be eventually approved soon. I will be happy when it
>>> is approved.
>>>
>>> Anyway, I need more information about how to develop a service driver
>>> and a device driver for VPN plugin. I realize doing reverse-engineering
>>> that I need and RPC agent and and RPC between them to communicate and use a
>>> kind of callbacks to answer. Where I can find documentation about it and
>>> some examples? Is there any best practise guide of the use of this
>>> architecture?
>>>
>>> Thank you again!
>>>
>>> [image: i2cat]
>>> Julio C. Barrera Juez
>>> Office phone: +34 93 357 99 27
>>> Distributed Applications and Networks Area (DANA)
>>> i2CAT Foundation, Barcelona, Spain
>>> http://dana.i2cat.net<https://urldefense.proofpoint.com/v1/url?u=http://dana.i2cat.net/&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=F5etm0B6kVJ9jleIhCvNyA%3D%3D%0A&m=YmmNfPyv1TNDbHlwFZT9xRPhyBxsQW%2B2aJ3daQ8RC%2BI%3D%0A&s=c98b2d74b41b9c8efe74e5f89d418dc5b64cd5b5003dc82b3d794c290d876d04>
>>>
>>>
>>> On 19 February 2014 09:13, Julio Carlos Barrera Juez <
>>> juliocarlos.barrera at i2cat.net> wrote:
>>>
>>>> Thank you very much Bo. I will try all your advices and check if it
>>>> works!
>>>>
>>>> [image: i2cat]
>>>> Julio C. Barrera Juez
>>>> Office phone: +34 93 357 99 27
>>>> Distributed Applications and Networks Area (DANA)
>>>> i2CAT Foundation, Barcelona, Spain
>>>> http://dana.i2cat.net<https://urldefense.proofpoint.com/v1/url?u=http://dana.i2cat.net/&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=F5etm0B6kVJ9jleIhCvNyA%3D%3D%0A&m=YmmNfPyv1TNDbHlwFZT9xRPhyBxsQW%2B2aJ3daQ8RC%2BI%3D%0A&s=c98b2d74b41b9c8efe74e5f89d418dc5b64cd5b5003dc82b3d794c290d876d04>
>>>>
>>>>
>>>> On 18 February 2014 09:18, Bo Lin <linb at vmware.com> wrote:
>>>>
>>>>> I wonder whether your neutron server codes have added the " VPNaaS
>>>>> integration with service type framework" change on
>>>>> https://review.openstack.org/#/c/41827/21<https://urldefense.proofpoint.com/v1/url?u=https://review.openstack.org/%23/c/41827/21&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=F5etm0B6kVJ9jleIhCvNyA%3D%3D%0A&m=YmmNfPyv1TNDbHlwFZT9xRPhyBxsQW%2B2aJ3daQ8RC%2BI%3D%0A&s=4a935821d551bb10de76c121ea8f83f57c00bf3a88ac0c73b51d87f96be1524f> ,
>>>>> if not, the service_provider option is useless. You need to include the
>>>>> change before developing your own driver.
>>>>>
>>>>> QA (In my opinion and sth may be missing):
>>>>> - What is the difference between service drivers and device drivers?
>>>>> service drivers are driven by vpn service plugin and are
>>>>> responsible for casting rpc request (CRUD of vpnservices) to and do
>>>>> callbacks from vpn agent.
>>>>> device drivers are driven by vpn agent and are responsible for
>>>>> implementing specific vpn operations and report vpn running status.
>>>>>
>>>>> - Could I implement only one of them?
>>>>> device driver must be implemented based on your own device.
>>>>> Unless the default ipsec service driver is definitely appropriate, suggest
>>>>> you implement both of them. After including "VPNaaS integration with
>>>>> service type framework", the service driver work is simple.
>>>>>
>>>>> - Where I need to put my Python implementation in my OpenStack
>>>>> instance?
>>>>> Do you mean let your instance runs your new codes? The default
>>>>> source codes dir is /opt/stack/neutron, you need to put your new changes
>>>>> into the dir and restart the neutron server.
>>>>>
>>>>> - How could I configure my OpenStack instance to use this
>>>>> implementation?
>>>>> 1. Add your new codes into source dir
>>>>> 2. Add appropriate vpnaas service_provider into neutron.conf and
>>>>> add appropriate "vpn_device_driver" option into vpn_agent.ini
>>>>> 3. restart n-svc and q-vpn
>>>>>
>>>>> Hope help you.
>>>>>
>>>>> ------------------------------
>>>>> *From: *"Julio Carlos Barrera Juez" <juliocarlos.barrera at i2cat.net>
>>>>> *To: *"OpenStack Development Mailing List" <
>>>>> openstack-dev at lists.openstack.org>
>>>>> *Sent: *Monday, February 17, 2014 7:18:44 PM
>>>>> *Subject: *[openstack-dev] How to implement and configure a new
>>>>> Neutron vpnaas driver from scratch?
>>>>>
>>>>>
>>>>> Hi.
>>>>>
>>>>> I have asked in the Q&A website without success (
>>>>> https://ask.openstack.org/en/question/12072/how-to-implement-and-configure-a-new-vpnaas-driver-from-scratch/<https://urldefense.proofpoint.com/v1/url?u=https://ask.openstack.org/en/question/12072/how-to-implement-and-configure-a-new-vpnaas-driver-from-scratch/&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=F5etm0B6kVJ9jleIhCvNyA%3D%3D%0A&m=9uhm%2F59JRfiZ3CXzuhBOpqcTqWk8APswRGJFZ8H2Tos%3D%0A&s=73a239e478da9a7d12255611481016295433378154fb612bd567c30d77788648>
>>>>> ).
>>>>>
>>>>> I want to develop a vpnaas implementation. It seems that since
>>>>> Havana, there are plugins, services and device implementations. I like the
>>>>> plugin and his current API, then I don't need to reimplement it. Now I want
>>>>> yo implement a vpnaas driver, and I see I have two main parts to take into
>>>>> account: the service_drivers and the device_drivers. IPsec/OpenSwan
>>>>> implementation is the unique sample I've found.
>>>>>
>>>>> I'm using devstack to test my experiments.
>>>>>
>>>>> I tried to implement VpnDriver Python class extending the main API
>>>>> methods like IPsecVPNDriver does. I placed basic implementation files at
>>>>> the same level of IPsec/OpenSwan does and configured Neutron adding this
>>>>> line to /etc/neutron/neutron.conf file:
>>>>>
>>>>> service_provider =
>>>>> VPN:VPNaaS:neutron.services.vpn.service_drivers.our_python_filename.OurClassName:default
>>>>>
>>>>> I restarted Neutron related services in my devstack instance, but it
>>>>> seemed it didn't work.
>>>>>
>>>>>
>>>>>
>>>>> - What is the difference between service drivers and device drivers?
>>>>> - Could I implement only one of them?
>>>>> - Where I need to put my Python implementation in my OpenStack
>>>>> instance?
>>>>> - How could I configure my OpenStack instance to use this
>>>>> implementation?
>>>>>
>>>>>
>>>>>
>>>>> I didn't find almost any documentation about these topics.
>>>>>
>>>>> Thank you very much.
>>>>>
>>>>> _______________________________________________
>>>>> OpenStack-dev mailing list
>>>>> OpenStack-dev at lists.openstack.org
>>>>>
>>>>> https://urldefense.proofpoint.com/v1/url?u=http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=F5etm0B6kVJ9jleIhCvNyA%3D%3D%0A&m=9uhm%2F59JRfiZ3CXzuhBOpqcTqWk8APswRGJFZ8H2Tos%3D%0A&s=46fe06049efb1d29a85b63f7ce101cd69695a368c3da6ea3a91bcd7d2b71ce59
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> OpenStack-dev mailing list
>>>>> OpenStack-dev at lists.openstack.org
>>>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev<https://urldefense.proofpoint.com/v1/url?u=http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=F5etm0B6kVJ9jleIhCvNyA%3D%3D%0A&m=YmmNfPyv1TNDbHlwFZT9xRPhyBxsQW%2B2aJ3daQ8RC%2BI%3D%0A&s=638a7f219d00817d3d17746251a9b5090cce130fed11727be8a4cabd09754657>
>>>>>
>>>>>
>>>>
>>>
>>> _______________________________________________
>>> OpenStack-dev mailing list
>>> OpenStack-dev at lists.openstack.org
>>>
>>> https://urldefense.proofpoint.com/v1/url?u=http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=F5etm0B6kVJ9jleIhCvNyA%3D%3D%0A&m=YmmNfPyv1TNDbHlwFZT9xRPhyBxsQW%2B2aJ3daQ8RC%2BI%3D%0A&s=638a7f219d00817d3d17746251a9b5090cce130fed11727be8a4cabd09754657
>>>
>>>
>>> _______________________________________________
>>> OpenStack-dev mailing list
>>> OpenStack-dev at lists.openstack.org
>>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev<https://urldefense.proofpoint.com/v1/url?u=http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=F5etm0B6kVJ9jleIhCvNyA%3D%3D%0A&m=1%2FHmRV%2F3ce%2Bjpzxjfyhv6xjuBhiOBVrajFVFZjco9Zw%3D%0A&s=d81bebe644cccedf66fedc084cf34c54e82b5a62712e12d1b5e2c6c1c6ee2c81>
>>>
>>>
>> _______________________________________________
>> OpenStack-dev mailing list
>> OpenStack-dev at lists.openstack.org
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>
>>
>>
>> _______________________________________________
>> OpenStack-dev mailing list
>> OpenStack-dev at lists.openstack.org
>>
>> https://urldefense.proofpoint.com/v1/url?u=http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=F5etm0B6kVJ9jleIhCvNyA%3D%3D%0A&m=1%2FHmRV%2F3ce%2Bjpzxjfyhv6xjuBhiOBVrajFVFZjco9Zw%3D%0A&s=d81bebe644cccedf66fedc084cf34c54e82b5a62712e12d1b5e2c6c1c6ee2c81
>>
>>
>> _______________________________________________
>> OpenStack-dev mailing list
>> OpenStack-dev at lists.openstack.org
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>>
>>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
>
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20140426/227c76cc/attachment-0001.html>
More information about the OpenStack-dev
mailing list