15:04:44 #startmeeting bgpvpn 15:04:45 Meeting started Tue Aug 11 15:04:44 2015 UTC and is due to finish in 60 minutes. The chair is matrohon. Information about MeetBot at http://wiki.debian.org/MeetBot. 15:04:46 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 15:04:49 The meeting name has been set to 'bgpvpn' 15:04:52 matrohon, svinota: hi 15:05:07 #topic Announcements 15:05:56 the discussion on the spec seems slow currently 15:06:12 it seems we have a agreement on it 15:06:25 How far are we on freezing the current scope? 15:07:23 : actually, I think we gone freeze the scope depending on the progress we make in the code 15:08:29 I didn't check the code so far. But is the southbound driver API up to date with the current API already? 15:08:38 : once we will release the 1.0 version, we probably split the spec, and merge only the description of what has been coded 15:09:04 : I'm currently working on the network-associate API 15:10:04 : actually, I'm currently working on the improvment of the UT framwork 15:10:23 but there is already some code for the *-associate API 15:11:32 I think the most important right now is the test framework, since currently too few code is tested 15:12:00 a acceptable test framework will increase our dev efficiency 15:12:09 Sounds reasonable. 15:12:37 any annoucment, anyone? 15:13:16 not sure how it is directly related 15:13:33 but may be interesting in the bgpvpn perspective 15:13:54 matrohon, may I? 15:14:01 of course :) 15:14:11 we have MPLS routes in the kernel starting from 4.1.4 or like that 15:14:33 ho very interesting! 15:14:42 and the userspace part will be done in the pyroute2 this week 15:15:03 to add/remove/modify MPLS routes 15:15:25 that's just label switching, no label exchange 15:15:30 but anyways. 15:15:37 tmorin told me that there were work in progress on this part 15:15:43 really good news 15:15:58 do you have any link? 15:15:58 so it is not so mature, but working good enough 15:16:17 matrohon, only the code in the git :) 15:16:17 may be the kernel patch? 15:16:21 ok 15:17:12 actaully, ovs 2.4 is not already out, so having an alternative to avs would be very interesting 15:17:37 the userspace support is done in the new iproute2, but I will do it for the python API as well 15:17:41 moreover, I'm not sur every net/sys admin is a big fan of ovs 15:18:46 net/mpls/af_mpls.c 15:18:50 #info : MPLS support is provided in kernel 4.1.4, and userspace support will be done in iproute2 soon 15:19:03 svinota : thanks 15:19:13 not correct. In iproute2 it is already started 15:19:28 but this week it will be done in pyroute2 as well 15:19:45 #undo 15:19:46 Removing item from minutes: 15:20:43 #info : MPLS support is provided in kernel 4.1.4, and userspace support is in progress in iproute2. pyroute2 implementation will be done soon 15:20:57 svinota : does it sound better ? :) 15:21:11 yep :) 15:21:26 I hope the work will be useful to exabgp 15:21:44 svinota : did you make any progress on the code? 15:21:55 matrohon, on which one? 15:22:01 svinota : I mean the bgpvpn code :) 15:22:18 ;) not so much. A bit stuck with the discovery 15:22:33 discovery? 15:22:47 attribute discovery. 15:22:55 optional attribute. 15:23:12 for the dedicated extension? 15:23:16 yep 15:24:04 Do you have a link where can I find existing bgpvpn code defining the SB driver API? I'm interested in the context of ODL driver 15:24:30 svinota : I'll try to think about it deeper since I'm debugging the netron extension framework for the UT purpose 15:26:10 : currently it is define in : https://github.com/openstack/networking-bgpvpn/blob/master/networking_bgpvpn/neutron/services/service_drivers/__init__.py 15:27:17 there are 3 main methods : create/delete/update 15:28:23 with tmorin, we was wondering if we still have to provide the ability to associate a connection with an update call to the bgpvpn_connection 15:28:56 or this feture should only be available through the new network_associate API 15:29:33 Thanks! And the driver for the bagpipe back-end is where? 15:30:02 there are dummy driver here : https://github.com/openstack/networking-bgpvpn/blob/master/networking_bgpvpn/neutron/services/service_drivers/dummy.py 15:30:10 for tests purposes 15:30:28 Do you foresee a separate driver API for the network and router association handling? 15:30:28 and the bagpipe driver : https://github.com/openstack/networking-bgpvpn/blob/master/networking_bgpvpn/neutron/services/service_drivers/bagpipe/bagpipe.py 15:30:59 Thanks 15:31:35 Currently there is two type of inheritance for the driver, depending whether you need to store datas in the db or not 15:32:19 doude who is currently working on the contrail driver, made this change 15:32:32 because contrail manage its own db 15:33:21 : we gone have two seperated API for net association and router association 15:33:34 that's the way I'm working currently 15:34:28 OK. Any idea when the driver APIs for *_associations will be defined? 15:35:13 a WIP is currently under review : https://review.openstack.org/#/c/207371/ 15:36:21 but this WIP showed that the tests framework is really too lazy since test passed while this patch breaks neutron :) 15:37:29 : you can start working on the router association if you have time 15:38:35 I'm not really a neutron coder (yet ;-) Just learning how things fit together 15:39:43 : I really think it's a good way to start coding in neutron, you'll learn all the stack (extension, DB, API, service type).... :) 15:40:26 : and of course I can help if you have any question 15:40:40 : at least I can try to help :) 15:41:01 Yes. But you need well-written examples to steal from. 15:41:09 once the network association is done it should be straightforward to adapt it for router assoc. 15:41:46 janscheurich : the ball on my side so :) 15:42:10 :-) 15:42:20 I encourage you to keep reviewing https://review.openstack.org/#/c/191944/ 15:42:30 Will try 15:43:03 pc_m is making good progress to converge to single vpnaas framework 15:43:27 Shouldn't we use that then for BGPVPN? 15:44:12 matrohon: Thanks. Can use input on it for sure. 15:44:49 I keep thinking it would be a interesting option. 15:44:50 matrohon: For endpoints for BGPVPN what will be used? 15:45:04 For IPSec we'll use subnet CIDRs. 15:45:29 pc_m : currently, it's networks, but I don't know what to use instead of uuid.... 15:46:17 matrohon: For local then, you use the uuid. For peer, it's dynamic and not specified? 15:46:30 pc_m : in fact in ipsec cases, the key is router+cidr 15:46:34 pc_m : yes 15:47:20 pc_m : with router+cidr you can manage overlaping cidrs in a tenant deployment 15:47:32 matrohon: I think the router could be implied/derived from the CIDR. 15:48:09 May I bring up one more topic? 15:48:31 pc_m : but the tenant can use the same cidr for different networks, am I wrong? 15:49:12 matrohon: So have the same subnet CIDR used on two different routers? 15:49:25 pc_m : yep 15:49:38 pc_m : I think it's possible, not sure 15:49:41 matrohon: Don't know. 15:50:18 janscheurich : please go ahead 15:51:56 We have been in discussion with AT&T and they are not satisfied with network/subnet granularity. They would also like to have the option to associate individual Neutron ports with a BGPVPN object, so that ports in the same Network/Subnet could be placed in different VPNs 15:52:42 This would, of course, break traditional Neutron L2 forwarding semantics 15:53:01 But they are not concerned about that. 15:53:06 janscheurich : yep, we also had a discussion with AT&T, pcarver included 15:53:49 janscheurich : I think the new API is suitable for that since we can easily have a port_associate API 15:53:49 What was your conclusion? 15:54:40 That was my impression as well. It's just the semantics that have to be carefully defined 15:55:05 And perhaps not all backends will support that. 15:55:07 actaully, that would be quite easy for bagpipe, since it already annouces a /32 for each port 15:55:19 janscheurich: +1 15:55:36 As most backends do, I'm sure 15:56:04 How do we handle optionality of *_association in the API? 15:56:37 a framework with extension loadable by backends would be really suitable for every optional attribute/API 15:56:58 I think it's the good way to introduce the RD optional argument too 15:57:46 such a framework already exist, with ML2 driver able to load their own extensions 15:58:41 https://github.com/openstack/neutron-specs/blob/master/specs/juno/neutron-ml2-mechanismdriver-extensions.rst 15:59:19 Is that a matter of copy&paste from ML2 or something general support library that can be re-used? 16:00:08 I'm not sure we need the entire ML2 framework, but no, there is no dedicated lib 16:00:46 Interesting but time's running out 16:01:00 we are out of time, you're :) 16:01:09 you're right! 16:01:28 let's see what is achievable for liberty! 16:01:51 thanks janscheurich, svinota 16:01:56 #endmeeting