15:00:48 #startmeeting neutron_l3 15:00:49 Meeting started Thu Mar 20 15:00:48 2014 UTC and is due to finish in 60 minutes. The chair is carl_baldwin. Information about MeetBot at http://wiki.debian.org/MeetBot. 15:00:50 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 15:00:52 The meeting name has been set to 'neutron_l3' 15:01:11 #topic Announcements 15:01:24 I never came to a decision about a meeting time change. 15:01:53 ajo: You said that an hour earlier would be better but would two hours later be bad? 15:02:38 carl: I too feel the same, because of the time change it just affects our regular schedule, childrens school time. 15:02:43 carl_baldwin, hmm, yes for me, two hours later I have another fixed meeting :( 15:02:53 I mean, yes, it would be bad for me 15:03:15 Swami: which time would you prefer? 15:03:16 -1h, or +0h works for me, other option would be +3h 15:03:19 carl_baldwin, two hour later will be too late for Asia folks :-( 15:03:25 2 hours later bad for me too 15:03:43 xuhanp, you're right 15:03:47 probably 1 hour earlier would be better. 15:04:13 It sounds like the current time is the best. 15:04:33 never mind, its ok, 15:04:36 Oh, maybe 1 hour earlier would be better. 15:04:48 hi rook & amuller 15:04:52 ajo: heya 15:04:53 ajo hi 15:04:55 we were talking about this meeting time 15:05:08 may be changing -1h, staying, or +1h 15:05:19 ok, no preference here 15:05:22 same 15:05:39 Well let's take a vote between an hour earlier and keeping the same time. 15:05:48 there was +2h too, but that's bad for asia, and collides with our weekly team meeting :) 15:06:03 Keep in mind that the next daylight savings time shift will shift it yet another hour earlier. 15:06:12 +2 hours I think is out. 15:07:24 Same time slot will work. +1 15:07:33 +1 for the same time 15:07:35 what's the meeting time reference? UTC/GMT ? 15:07:50 +1 for the same time (considering day light saving time changes..) 15:08:00 Current meeting time is 1500 UTC with no regard for DST. 15:08:17 +1 to same time or -1 hour :-) 15:08:36 well, sorry, changing my vote for: +1 same time or -1 hour 15:09:15 Thanks. I'll see what I can do to keep the same time. 15:09:38 Thanks carl 15:09:45 #topic l3-high-availability 15:10:04 safchain_: Any update since last week? 15:10:34 Not really, I have to rebase all my patches to update db migration version 15:10:55 I also submitted a patch to show how the conntrackd patch could be used 15:11:20 I'm working on a patch to send a notification to the neutron server when a master is elected 15:11:36 Has anyone had the chance to run through the document about testing the patches? 15:11:44 safchain_: I've been meaning to talk to you - I think it would be more productive if you took over the conntrackd patch that I originally created... Fix it up according to your needs 15:12:16 amuller, ok why not 15:12:35 cool :) 15:12:41 any suggestion about the notification about the vrrp status ? 15:12:41 amuller, safchain_ can you point to your current conntrackd patches ? 15:13:05 https://review.openstack.org/#/c/80332/ 15:13:07 ajo ^ 15:13:13 ajo: https://review.openstack.org/#/c/71586/, https://review.openstack.org/#/c/80332/ 15:13:38 ajo, not working today since there are some few things to change in the conntrackd patch 15:14:23 thanks amuller , safchain_ 15:14:57 I'll have another look at the patches this week and begin going through your test document. 15:15:00 Anything else? 15:15:12 thanks carl_baldwin 15:15:18 amuller: you had a blueprint for the active /active solution, are you targeting that Juno 15:15:30 Will it be merged with safchain_ vrrp solution. 15:15:51 amuller, it could be a nice improvement 15:15:52 Or will be patch that will go after the current vrrp solution 15:16:15 Swami: I'm not 100% on the value of it. I think with DVR, the VRRP stuff will only be used for SNAT traffic 15:16:32 amuller: yes you are right. 15:16:49 If it could slow down the original patches then it should go in after. 15:17:06 scope creep and all ;) 15:17:06 carl_baldwin: The original plan was to file a follow up blueprint, and add patches later 15:17:17 amuller: Have you started the work. 15:17:33 Swami: No, I have an early draft for a blueprint, haven't touched it since 15:17:54 Assuming DVR is merged for Juno I am not 100% sure about the value of a VRRP optimization 15:18:14 As I mentioned in my previous discussions, we need to figure out for Juno how the VRRP solution will complement the DVR solution. 15:18:32 amuller: thanks 15:18:38 amuller: We can discuss it at a later time. There is also a possible bp for distributed SNAT or some other alternative to centralized SNAT. 15:18:56 So, I agree the value of active / active should be in question. 15:19:14 Let's move on. 15:19:15 carl_baldwin: I am not keen on the details of DVR yet or why distributed SNAT is an issue, but that would be preferable 15:19:33 #topic neutron-ovs-dvr 15:19:44 Swami: hi 15:19:44 Hi carl 15:19:55 VRRP also has a value 15:20:03 The DVR team has posted the L2 and L3 documents for review. 15:20:18 when there is a need to cut down the physical network nodes 15:20:19 Teaming is trying to address the comments that come in. 15:20:25 or there are many physical networks 15:20:30 carl: thanks for yur comments. 15:21:03 sorry : when there's a need to cut down public/physical network connections 15:21:18 We are currently progressing on the East-West story. 15:21:45 The issue that we had with the East-west was with some rules, and we are now trying to sort it out with sylvain. 15:22:08 Because there was dup learning in the bridges. 15:22:24 That's all I have. 15:22:54 Some of the sub team members requested for the WIP code, we are planning to post the WIP code when the East-west is completely working. 15:23:05 I got disconnected momentarily. I'll go read the log to see if I missed anything. 15:23:07 Very cool 15:23:27 I'm anxious to look at the implementation, too. :) 15:23:45 It should be there soon 15:23:54 #topic bgp-dynamic-routing 15:24:06 nextone92: Are you around? 15:24:09 That's all from my side 15:24:12 Hi Carl! 15:24:22 Swami: thanks 15:24:52 From the last discussion: made it more clear in the blueprint that primary use case is to exchange the routes for the whole OpenStack system 15:25:19 And also added list of permitted users who can adjust bgp settings on the router 15:25:43 I'll have a look at your updates. 15:25:48 I've looked at MPLS BGP blueprint: https://blueprints.launchpad.net/neutron/+spec/neutron-bgp-mpls-vpn 15:26:31 Based on the available information, I think dynamic routing implementation should benefit VPN deployment that requires dynamic routing 15:27:16 One question that I had, should the dynamic routing document primarily concentrate on dynamic routing? With bgp being the first available implementation? 15:29:10 I'll admit that I don't have much experience with dynamic routing outside of BGP. 15:29:47 nextone92: Yes you are right, that should compliment the VPN 15:29:48 I guess to answer that question we would need to understand what other dynamic routing protocols are out there and find out what can be abstracted. 15:30:03 OSPF and ISIS stand out 15:30:13 open, standardized 15:30:17 yes, an abstraction would be interesting, if we can gather the knowledge 15:30:37 With respect to protocols, we can start with one and then add others. 15:31:15 The most used one and the immediate requirement would be the bgp. 15:31:35 sounds good 15:31:41 Swami: That is the plan. BPG will be the first implementation. The question is how much can we abstract the interface so that it is applicable to others down the road. 15:32:02 Okay, sounds good! 15:32:05 What do you think about the idea of having a main virtual "provider" router to handle dynamic routing? This entity will exchange routing information but doesn't necessarily have to forward packets 15:32:36 Looking at the blueprint, I really don't understand what is the use case / what problem are we trying to solve 15:32:48 nextone92: I think the idea is good. It coincides with what I was thinking. My only problem with it is calling it a "router" since it doesn't route. 15:33:49 carl_baldwin: let me think of a good alternate name 15:34:05 But if it is abstracted as a dynamic routing service, then can be used with any other variable.. 15:34:37 amuller: A use case that I have in mind is to use dynamic routing to announce IPs on an external network. There are some advantages to using routing over a flat L2 network. 15:35:19 amuller: and another user case would be for external network to provide routing information to OpenStack 15:35:33 Does this blueprint have a use outside of VPNaaS? 15:35:39 amuller: this could be useful if you have multiple uplinks 15:35:54 nextone92: Maybe we call it the "main dynamic routing service" instead of a router. 15:36:01 I mean, current OpenStack virtual routers only have a single uplink so no routing is needed 15:36:24 amuller: Both use cases just mentioned are outside of VPNaaS. 15:36:49 amuller: virtually there may have a single uplink, but it doesn't have to be a single uplink physically 15:37:31 ok, then I don't understand "A use case that I have in mind is to use dynamic routing to announce IPs on an external network" - The end goal is for virtual routers to know how to route to certain IPs outside of the cloud? 15:38:00 So virtual routers would be connected to multiple external networks? 15:38:14 multiple uplinks 15:39:21 amuller: in the use case that carl has mentioned, when you add an external network and/or floating IPs, the routing information to that network will be announced to the uplink router(s) 15:39:31 amuller: simplifying network administration 15:39:56 ahh, so you're talking about routers outside of the cloud to know how to route into the cloud, not the other way around 15:39:57 amuller: In current neutron, floating ips are all on a big flat L2 network. 15:40:23 amuller: Both are use cases that we have discussed. 15:41:31 I understand the 2nd one - Instead of configuring your cloud's physical edge router, and adding the external networks so they're advertised via BGP, the openstack virtual routers will automatically generate BGP advertisements whenever an external net is defined 15:42:25 Basically saving you a few lines of configuration on your physical routers 15:42:37 amuller: great! Going in another direction, a system administrator may add a route to a segment of a corporate network on one of the uplinks 15:43:06 amuller: or define a load balancing policy based on routes and their weights 15:43:44 amuller: We can do some work on the document to make the use cases more clear and discuss them individually after that. 15:44:00 carl_baldwin: That would be fantastic 15:44:11 +1 :) 15:44:17 great! 15:44:27 #action carl_baldwin will take a crack at describing the use cases. 15:44:33 carl_baldwin: If you could state things explicitly (Such as virtual routers having more than one uplink / connected to more than a single external network at a time) 15:44:55 carl_baldwin: + Why the other direction is interesting as well (Virtual routers advertising their own external networks via a routing protocol) 15:45:13 I will try to be as clear as possible. 15:45:35 #topic DNS lookup of instances 15:45:40 I don't know how customers set up routing on their clouds atm - Do they have an IGP running, then redistributing out to BGP, or what... 15:45:45 That would affect our choice of a routing protocol 15:46:41 amuller: that is an open question. Maybe we can do some discovery here. 15:46:59 No progress on DNS since my whole week was consumed with unplanned work. 15:47:20 #topic Agent Performance with Wrapper Overhead 15:47:30 #link https://etherpad.openstack.org/p/neutron-agent-exec-performance 15:48:23 Yuriy, are you around? 15:48:33 I made some progress on a change to L3 agent to make it more responsive to RPC. 15:48:40 #link https://review.openstack.org/#/c/78819 15:48:48 ajo: o/ 15:48:56 The patch is still a WIP but pretty much works. I could use some feedback. 15:49:25 I've pushed first version of rootwrap changes to make it run in agent mode. 15:49:44 I've also though of another speedup we can get dealing with namespaces (see ML and etherpad) 15:49:45 YorikSar: hi 15:49:48 Do you have a link? 15:49:58 https://review.openstack.org/81798 15:50:19 #link https://review.openstack.org/81798 15:50:46 YorikSar, your results look promising 15:50:52 It shows good performance (~2x speedup compared to plain sudo, ~22x compared to rootwrap) 15:51:16 Great, I'll have a look. 15:51:48 YorikSar, yes, I thought about using setns too, instead of using the full blown ip netns exec 15:51:49 I think I can add some namespace-related stuff there. But I wonder if it should be done in Neutron itself, not in common rootwrap. 15:52:05 no mounting or normal network env configuration, but it should do for many cases 15:52:13 and we cut out the overhead a lot 15:52:35 I didn't investigate if any command running in namespace actually needs conf files etc 15:52:48 YorikSar, may be we could add some filter, to do setns 15:52:57 setns xxxxxxxxxxxx ip a 15:53:05 But from what I see in filters it looks like only ip itself runs within ip netns 15:53:10 get's handled by the filter, which sets the namespace, and calls ip a 15:53:30 I'm not familiar with setns. 15:53:42 ip netns exec does several things 15:53:46 ajo: Hm... Sideeffects are bad... 15:53:49 calls "setns(xxxx) system calls... 15:54:11 ajo: I think we can add an argument to that RPC call. 15:54:13 and mounts several files around to simulate a normal environment on /etc/ or other places for the child process 15:54:24 Oh, I see. I'm following you. 15:54:28 ajo: And leave plain rootwrap ip setns exec slow. 15:54:44 the mounting itc.. it's very expensive in performance terms, and may processes probably would need the setns only 15:54:57 YorikSar, 15:55:16 do you think it would be possible to implement in neutron, with a switch to allow the old root_helper method , or the new daemon? 15:55:34 this would allow for a testing transition during icehouse, for example 15:56:17 ajo: Yes, that's the next step I'm thinking about. 15:56:20 who's more worried about performance could enable the mechanism, and who's not, can relay on rootwrap, or even plain sudo 15:57:09 YorikSar, 15:57:15 did you read my concerns about "BaseManager" 15:57:41 I yet don't have the details, but it seems that other projects using a similar mechanism for the same purpose have hit race conditions & bugs on the BaseManager implementation 15:57:54 ajo: Yes. I hope you'll be able to get what issues there was from your people. 15:57:54 do you think we could have some other alternatives if we hit those? 15:58:08 ajo: We can backport any changes necessary. 15:58:12 sure, I should get the information sure 15:58:19 sure->soon 15:58:35 ajo: In fact... I think we shouldn't hit races with running only one background process. 15:59:34 I have also built a POC on the py->C++ translation 15:59:46 it works with very little overhead, I was aiming a solution for havana/icehouse 15:59:55 but may be your solution will be soon enough, and backportable 16:00:05 ajo: What have you found out about popen and logging? 16:00:17 carl_baldwin, was about to write on this, 16:00:29 we would need to implement those modules, 16:00:44 I suppose is doable, but I'm more concerned about the auditability of the code 16:01:03 everything looks to me like dynamic, std::list<> ... etc... 16:01:09 and with bounds checkings everywhere 16:01:32 but, of course, it's machine generated C, which is hard to read 16:01:54 the performance is good, did my message on performance arrived to the list? 16:02:11 I'm not sure. I'm a little behind reading the list. 16:02:47 With the need to hand-implement some modules, this looks less attractive but maybe we can keep it in our back pocket. 16:02:59 #link http://lists.openstack.org/pipermail/openstack-dev/2014-March/030561.html 16:03:09 I don't know if there is a meeting after this but I'm running out of time. 16:03:22 I must leave too, 16:03:29 ajo: Have you written anything on the ether pad about setns? I'd like to think about it some more. 16:03:30 ajo: I think given my rootwrap daemon beats sudo itself, running C++ version of rootwrap will be behind anyway. 16:03:40 but yes, I agree, it's a solution to keep in the back pocket 16:04:33 YorikSar, I agree, if the neutron side implementation gets working fast, and work reliably , we should not need for any C++ 16:04:52 What's the deadline for such change? 16:04:54 carl_baldwin, sure I could try to expand the information on ip netns 16:05:09 carl_baldwin, man ip-netns explains the logic 16:05:14 on the first few lines 16:05:24 I've added some info on setns to the etherpad 16:05:33 ah, good YorikSar :) 16:05:51 I got disconnected again. :( 16:05:54 But I didn't explain how netns exec works there. 16:06:09 YorikSar, I'd aim on having something that can work in icehouse. 16:07:03 We may need to be content with potential back port to Icehouse. But, we can always ask. 16:07:51 Sure, if we keep backporting in mind, it should be ok 16:08:16 Oh... According to schedule, we just a week away from RC... 16:08:24 Thanks, all. Have a great week. 16:08:26 YorikSar, I will spend some time tomorrow morning on review to your rootwrap daemon, it looks very good to me, so far, simple & effective 16:08:40 I will review as well. 16:08:44 ajo: Thanks, I appreciate that. 16:08:49 #endmeeting