22:01:49 #startmeeting neutron_drivers 22:01:50 Meeting started Thu May 19 22:01:49 2016 UTC and is due to finish in 60 minutes. The chair is armax. Information about MeetBot at http://wiki.debian.org/MeetBot. 22:01:51 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 22:01:54 The meeting name has been set to 'neutron_drivers' 22:02:02 o/ 22:03:05 I hope you guys have had time this week to go through our backlog of RFEs and specs 22:03:29 bring it on 22:03:54 #link https://bugs.launchpad.net/neutron/+bugs?field.status%3Alist=Triaged&field.tag=rfe&orderby=datecreated&start=0 22:04:08 from last week we have only a handful of new entries 22:04:18 * carl_baldwin walks in a little late. 22:04:52 bug #1372441 22:04:53 bug 1372441 in neutron "[RFE] Creating port in dual-stack network requires IPv4 and IPv6 addresses to be allocated" [Wishlist,Triaged] https://launchpad.net/bugs/1372441 - Assigned to Sean M. Collins (scollins) 22:05:37 maybe it's me, but that seems like "working as intended". 22:05:49 Do we need to discuss this here? The discussion seems to be in the bug comments. 22:05:50 if you don't want to two addresses, make a single stack network? 22:05:52 I remember discussing at the summit a bit and I think I was leaning toward the same conclusion. 22:06:24 this is true only until one of the subnets runs out of space 22:06:59 in which case the user is required to be explicitely create a port by specifying the subnet that did not exhaust 22:07:25 isn't that a configuration error? 22:07:39 I still think the expectation on a dual-stack network will be to get addresses in both families. 22:07:40 dougwig: what do you mean? 22:07:45 as in, it's an odd band-aid when you don't plan your subnets correctly. 22:07:55 i think it is usual that ipv4 and ipv6 subnets have different size of ip addr ranges. 22:08:41 dougwig: though no-one can anticipate how popular your application becomes and how widely you need to scale out your webfarm 22:08:42 Yeah, I think silently giving some VMs only v6 addresses isnt a great user experience 22:08:50 ok, so i'm a user. i expect both, i get one, with no indication it's an error. how do i fix it? 22:09:07 dougwig: right now you get an error 22:09:20 * ihrachys wonders how we'll explain inconsistent behaviour when running consequent requests. 22:09:20 right, i agree with the current behavior for that reason. 22:09:30 sorry, consequent -> parallel 22:10:06 dougwig: the idea is that the user would have to specify what type of behavior they’d want 22:10:27 like in: I checked one address is still avail in all subnets; I request a port; due to other user requesting a port just before me, I get a port that I don't expect, with no error indication 22:10:33 armax: can't they do that by explicit subnet requests in fixed ups? 22:10:48 armax: so many toggles. i already have one... i can go make a different network. 22:11:01 kevinbenton: they can. 22:11:03 kevinbenton: yes, it’s a shortcut 22:11:09 dougwig: that’s sensible feedback 22:11:21 Do we have any indication that this issue is common enough to solve? I'm inclined to ignore it. 22:11:32 if we agree that we have enough primitives to address the use case with some boilerplate outside neutron 22:11:35 then I am ok with that 22:12:07 the use case was aiming at providing some API sugar to simplify the user workflow in some corner case circumstances 22:12:34 and I sense from this feedback so far that the general sentiment is ‘meh' 22:12:52 armax: Yeah, it only would save a step of getting the subnet id 22:12:58 That about sums it up. 22:13:00 i'm a tad into 'actively aganst'. 22:13:05 against. 22:13:07 sigh. 22:13:13 great, I’ll provide this feeback and kill the RFE 22:13:19 let’s move on 22:13:25 I am okay with either 22:13:40 we can achieve the reuqest in other way 22:13:49 bug #1552680 22:13:51 bug 1552680 in neutron "[RFE] Add support for DLM" [Wishlist,Triaged] https://launchpad.net/bugs/1552680 - Assigned to John Schwarz (jschwarz) 22:13:52 any update? 22:13:57 none yet 22:14:04 ok 22:14:05 moving on 22:14:14 bug 1563967 22:14:16 bug 1563967 in neutron "[RFE] Extend l2-extensions-api for flow management " [Wishlist,Triaged] https://launchpad.net/bugs/1563967 - Assigned to Miguel Angel Ajo (mangelajo) 22:14:43 this is clearly a continuation of blueprint l2-api-extensions 22:14:44 on the general idea - we definitely need it. 22:14:52 especially as we move more stuff to flows 22:15:12 the devil is in the details…we need to agree on scope and strategy 22:15:16 this is not an easy task to say the least though 22:15:20 at least for Newton 22:15:48 I think it's pretty easy to justify the need... neutron-server has a robust plugin system, the OVS agent is not there yet 22:16:01 with more and more new projects and features using the OVS agent, we need a plugin system 22:16:16 ack 22:16:34 let’s move the design discussion on gerrit then 22:16:42 I just want to see SFC not fork the OVS agent 22:16:43 should we move it to spec? 22:16:46 agree, this one is too complicated for this meeting. 22:16:57 ihrachys: right now ajo_ is working on it as devref 22:17:05 amuller: ditto 22:17:13 devref sounds good 22:17:14 amuller: being saying this since vancouver 22:17:36 armax: vancouver is a location not a time 22:17:41 * amuller leaves 22:17:51 container flavor chaining, here we come. 22:17:55 * armax takes drivers and core rights away from amuller 22:18:00 * amuller understands 22:18:08 ok moving on 22:18:13 bug #1566191 22:18:14 bug 1566191 in neutron "[RFE] Allow multiple networks with FIP range to be associated with Tenant router" [Wishlist,Triaged] https://launchpad.net/bugs/1566191 22:18:27 There is a review up now. 22:18:28 I went through this some more after last meeting 22:18:32 carl_baldwin: which one? 22:18:35 #link https://review.openstack.org/#/c/292318/ 22:18:50 oh right 22:18:57 The approach, I think, is as you suggested. 22:19:08 If this is the way to go, I don't think we need an RFE. 22:19:11 carl_baldwin: I didn’t particularly like the use of a class attribute to control behavior 22:19:22 carl_baldwin: I commented earlier today 22:19:28 armax: I didn't either. Hence my -1 22:19:33 carl_baldwin: attaboy 22:20:03 armax: I didn't see your comment. On the patch set? 22:20:08 I suppose we can work out how to address the regression and have more breathing room to figure out whetehr we want to evolve the existing model 22:20:14 carl_baldwin: no on the bug report 22:20:19 carl_baldwin: but I did reference the patch 22:20:31 we reached the same conclusions from two different angles 22:20:34 Oh, I missed that update. 22:20:37 :) 22:20:42 it was only like an hour ago 22:21:52 once this is resolved we can revise the RFE proposal to better express what is asked 22:22:03 ok 22:22:17 which, from what I understand, is the desire to allow router uplinking to external networks via router interfaces rather than gateway interfaces 22:22:23 carl_baldwin: am I right? 22:22:28 armax: Yes, exactly. 22:23:01 carl_baldwin: I am more concenred with the side effects that something like this may expose 22:23:11 rather than the API change itself 22:23:26 anyhow, we’ll continue to iterate on the RFE 22:23:35 other thoughts? amuller, kevinbenton, anyone else? 22:23:53 If we unblock them by restoring the old behavior, we can think longer on the ultimate solution. 22:23:54 i agree that it seems like a useful enhancement. and fraught with peril. 22:24:03 it sounds reasonable. 22:24:14 I'm in no rush. 22:24:34 ok 22:24:39 bug #1573843 22:24:41 bug 1573843 in neutron "[rfe] Minimize agent state reports handling on server side" [Wishlist,Triaged] https://launchpad.net/bugs/1573843 - Assigned to Oleg Bondarev (obondarev) 22:24:42 router:external flag has two meaning: default route and FIP pool. it looks okay to allow FIP pool for router interface too, but i haven't figured out potential concern. 22:25:05 amotoki: agreed 22:25:30 this bug from obondarev seems to be borderline between an rfe and a regular fix 22:25:33 I mean bug 22:25:39 enhancement if you will 22:26:19 well I guess it affects the RPC api? 22:26:39 i don't think this is necessarily about payload size 22:26:43 HenryG: maybe, it’s not clear if he intends to introduce new RPC calls 22:26:54 to distirbute the payload and thus minimizing it 22:26:56 right, this is about how the server processes report_state 22:27:02 it's about having the server understand which data should be handled 22:27:06 it's a real problem for the reference implementation, always have been 22:27:09 in the context of a normal update 22:27:15 I think a patch is a better medium for discussion though 22:27:18 cause it's all in the details 22:27:27 I don't know if there's anything to discuss at the conceptual level? 22:27:29 amuller: agreed 22:27:46 i'd say rfe-approved, then move it to gerrit 22:27:57 sure 22:28:00 +1 22:28:08 sounds good to me 22:28:14 ++ 22:28:15 I am not sure this is RFE material though, it seems a genuine optmiziation required 22:28:25 (push notifications won't get ride of state reports FWIW) 22:28:36 rid* 22:28:44 but either way we’d need to iterate and see what the code looks like 22:28:50 moving on 22:28:59 bug #1577488 22:29:01 bug 1577488 in neutron "[RFE]"Fast exit" for compute node egress flows when using DVR" [Wishlist,Triaged] https://launchpad.net/bugs/1577488 22:29:27 I gave this some thought after last week 22:29:39 I must admit the diagrams were not very helpful for me 22:30:21 lack of labelling left too much to the imagination 22:30:26 and I am not a creative person 22:31:03 so, dvr does north-south at compute node for fip, and not generate nat. and this rfe doesnt' change that, it just specifies "the operator can do north/south" with vm ip's directly addressable. isn't that use case covered by provider nets? 22:31:05 so i think basically of enable_snat is false we should always fast exit 22:31:07 having said that I wanted to better understand tidwellr’s comment on enable_snat inability to fit the need 22:31:11 if* 22:31:15 /generate nat/general nat/ 22:31:23 carl_baldwin: maybe you can chime in if tidwellr is unable to jump in here? 22:31:38 the hesitation around not enabling fast exit with enable_snat =False automatically is asymmetric routing 22:31:38 * tidwellr is lurking 22:31:44 tidwellr: hi 22:31:50 * carl_baldwin soaking in the feedback. 22:32:07 but IMO asymmetric fast exit is better than non-fast exit 22:32:11 I’d like to understand why you think that enable_snat flag on the router is not fit for the purpuse 22:32:19 tidwellr: this can be hidden to tenant via policy 22:32:34 afaik 22:32:53 that was feedback I got from someone (can't remember who) in Austin 22:33:00 https://github.com/openstack/neutron/blob/master/etc/policy.json#L100 22:33:08 and today it’s admin only 22:33:16 already 22:33:26 tidwellr: can’t remember who is not acceptable 22:33:32 we need SSN and banking details 22:33:36 enable_snat was the first place I went to 22:33:56 I think the question is, is asymmetric routing ok. 22:34:25 carl_baldwin: within Neutron or in general? 22:34:29 i would like to argue that it is 22:34:32 if you don't want asymmetic routing, use BGP or similar tool 22:34:32 armax: with Neutron 22:34:38 carl_baldwin: because asymetric routing has its own use cases 22:34:47 armax: Not in general. 22:34:56 carl_baldwin: right, that’s what I am saying 22:34:58 :) 22:35:22 Problem statement: if we fast-exit without the upstream routing knowing how to send back, the return traffic will go through the central node 22:35:46 kevinbenton: not necessarily 22:36:04 upstream needs to know to send it back to the central node 22:36:16 that's not a given 22:36:29 tidwellr: that's the use case for enable_snat=False and address scopes 22:36:33 So, we could adjust kevin's statement a little. "with upstream routing knowing how to send it back symmetrically" 22:36:46 tidwellr: if you haven't met that criteria, this discussion is irrelevant because you can't even use non fast-exit 22:36:57 If there is no reason to conntrack in the router, then maybe it is fine. 22:37:05 kevinbenton: fair enough 22:37:30 There is no NAT so we know we don't need conntrack for that. 22:38:19 imo we’d need to identify what the implications are of asym routing the way it’s advocated in this RFE 22:38:53 DVR does asymmetric e/w routing all the time. 22:38:58 perhaps this mode won’t work in conjunction with other services in a Neutron deployment 22:39:40 I think it's sort of irrelevant if we have a way to track whether there is dynamic routing over an external network 22:40:27 if we know there is a routing process operating on an external network, we can turn on fast-exit under the covers, otherwise centralize by sending through the SNAT node 22:40:32 tidwellr: But, we could break this in to two steps. First, enable fast exit optimistically. Second, try and make it smarter by knowing when there's routing. 22:40:46 carl_baldwin: true 22:40:48 tidwellr: not necessarily. fast-exit could still be desirable even without dynamic routing 22:41:00 it fully distributes outbound traffic 22:41:05 ok but the other question is, is the enable_snat knob given to operator enough to address this need? 22:41:57 and whether there’s more modeling required to expose this logically to operators when using DVR only 22:41:58 armax: i think that comes down to the question of do we need the knob to prevent asymmetric routing 22:42:04 armax: + address scope awareness. 22:43:04 carl_baldwin: right, this isn't being directly controlled by enable_snat. it's just whenever the router decides it doesn't need to do SNAT 22:43:17 right 22:43:21 good point 22:44:05 kevinbenton: when using DVR in conjunction with enable_snat=False, seems to me that the expection is that asym routing is a given, no? 22:44:34 armax: well not ATM. right now it goes through the central node which you presumably have a route pointing at for return traffic upstream 22:44:58 kevinbenton: well, that would have to change to accommodate tidwellr’s use case 22:45:26 armax: yes, that's what he's proposing changing 22:45:32 because at that point you no longer need to stricly do that 22:45:48 armax: well you need something telling upstream where to send traffic to you 22:46:05 armax: so in BGP case it can be specific enough that asymmetric doesn't happen 22:46:09 kevinbenton: but that would need to happen in conjunction with bgp 22:46:27 armax: but in a single static route case like 'enable_snat=False' now, it will result in asymmetric routing 22:46:49 kevinbenton: right, but asym routing is not a problem in itself 22:47:08 is there any problem if we start from asynmetric routing? 22:47:15 unless there are services that depend on the symmetry of the flow 22:47:20 armax: correct 22:47:44 amotoki: not that i'm aware of 22:47:45 thing is, what about something like fwaas? 22:47:47 * armax ducks 22:47:51 fwiw my thinking was to allow asym routing, then enhance BGP to give you symmetric data flow 22:48:01 tidwellr: +1 22:48:21 BGP will give asym data flow in its current state 22:49:02 alternatively the asym property can be a property of a dvr router 22:49:07 (we can even install routes on the central node pointing to the compute nodes for each internal IP via the external DVR IP of the compute node which will have the central node generate ICMP redirects) 22:49:12 combo of DVR and FWaaS alreday has a problem on async route, so i think this does not bring a new problem. 22:49:52 and thus can be controlled on a per-router basis, but I like tidwellr’s idea of leveraging the mechanics of BGP to be explicit on the nature of the packet flow 22:49:53 so if an upstream router honors ICMP redirects then we would eliminate asymmetric 22:50:50 let's move on. i think we've generally settled on 'assume asymmetric for DVR' 22:50:55 tidwellr: my feedback would be to try and enable this usecase without API changes :) 22:51:30 * carl_baldwin already gave that feedback strongly. :) 22:51:45 carl_baldwin: great minds think alike 22:51:46 * tidwellr heard loud and clear 22:52:18 having said that though, I don’t want to hinder tidwellr’s ability to address thsi use case 22:52:42 but to me it sounds the conversation started on the wrong assumption that enable_snat wasn’t fit for the purpose 22:52:44 I think we could start with the fast exit optimistically approach. 22:52:55 so we may want to go back on that premise and revise the whole thing 22:53:08 we in agreement? 22:53:10 So, the router does fast exit any time it would not be doing snat. 22:53:16 I think so. 22:53:17 carl_baldwin: +1 22:53:49 so we implicitly assume asym routing unless something else like BGP will rectify the situation? 22:54:00 aye 22:54:05 ++ 22:54:07 okeydokey 22:54:08 bug #1580588 22:54:10 bug 1580588 in neutron "[RFE] use network's dns_domain to generate dns_assignment" [Wishlist,Triaged] https://launchpad.net/bugs/1580588 - Assigned to Miguel Lavalle (minsel) 22:54:41 anyone cares to elaborate? 22:54:41 So, this was a request to use the dns_domain on the network in dnsmasq as the domain. 22:54:46 I must admit I did not see this one 22:55:11 Currently, dnsmasq uses the configured domain from neutron.conf, I think. 22:55:34 my understanding is same 22:55:44 I actually thought we were going to do this when dns_domain was added to the network. But, that isn't how it was done. 22:56:05 how is dns_domain currently used? [is it?] 22:56:45 it is used for integration with external DNS. 22:56:48 ihrachys: It is used to match up with a domain in designate. 22:57:14 if a port is created, . is added to designate. 22:57:36 ^ What amotoki said 22:57:39 I see. so in designate, we don't register a record in zone defined in neutron.conf 22:57:57 correct 22:58:41 the zones used for designate come from network's dns_domain attribute 22:59:29 external dns (desginate) has . and internal dns (dnsmasq) has . for a same IP addr. 22:59:36 we got one minute left 22:59:43 20 seconds... 22:59:43 do we take this offline 22:59:51 Ya 23:00:01 We need to figure out if we change behavior 23:00:11 long term we probably want to get rid of the configuration option in neutron.conf. but it's not clear how to do it, since existing users may rely on that domain being used for dnsmasq. maybe an option for dhcp agent to enable usage of dns_domain? and then switch it on later? 23:00:14 #endmeeting