14:00:34 #startmeeting neutron_drivers 14:00:35 Meeting started Fri Jul 31 14:00:34 2020 UTC and is due to finish in 60 minutes. The chair is slaweq. Information about MeetBot at http://wiki.debian.org/MeetBot. 14:00:36 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 14:00:39 The meeting name has been set to 'neutron_drivers' 14:00:48 hi 14:00:50 Hi 14:00:51 Hello 14:00:52 hi 14:01:41 hi, but I had a virtual drinking with my team, so I might be optional today. I will try my best. 14:01:50 o/ 14:02:03 I know that haleyb is on PTO this week and mlavalle will probably not be here today 14:02:26 but we have quorum so lets start 14:02:30 #topic RFEs 14:02:52 first one: 14:02:54 #link https://bugs.launchpad.net/neutron/+bug/1880532 14:02:55 Launchpad bug 1880532 in neutron "[RFE]L3 Router should support ECMP" [Wishlist,New] - Assigned to XiaoYu Zhu (honglan0914) 14:03:13 we already talked about it few times 14:03:23 o/ 14:03:45 and reporter checked that it can be done with existing API only, using extraroutes attribute of the router 14:04:57 hi mlavalle :) 14:06:38 so for me this proposal looks ok now, and if we don't need to change API (or only do some very small changes, than it's fine for me) 14:07:08 I feel similarly 14:08:41 fine for me 14:08:53 Agree. Went thorugh it last week and came to the same conclusion 14:10:49 Generally looks good. I wonder whether we need to update the description of the API behavior, thought? 14:10:49 ok for me, I still need to review the uploaded patch 14:11:22 amotoki: yes, that's are small changes which I think will be needed 14:11:51 thx all for votes, I will mark it as approved, and please also review proposed spec :) 14:12:00 yeah, it is a reasonable improvement 14:12:25 ok, so next one 14:12:28 #link https://bugs.launchpad.net/neutron/+bug/1889431 14:12:29 Launchpad bug 1889431 in neutron "[RFE] Add local-ip-prefix to Neutron metering label rules" [Wishlist,In progress] - Assigned to Rafael Weingartner (rafaelweingartner) 14:13:00 with that one I have small problem 14:13:37 it seems reasonable and valid change but from the other hand it will be backward incompatible 14:13:56 of course we may add new api extension to make it discoverable 14:15:39 to be fair, the commit cited there in [1] also broke it. And the documentation was not updated accordingly; this leads people to think that there is a bug with the current code. just when looking at the storyline, we see that it was changed on purpose. 14:16:02 yes, that's true 14:17:54 That is why we proposed a migration plan for people using the current code base. I agree with you though, we would be breaking API compatibility. 14:18:57 but what's the problem of adding an extension here? 14:19:03 to the current API 14:19:22 ralonsoh: no problem for me 14:19:27 ah ok 14:19:37 What do you guys mean by API extension? 14:19:42 There certainly does seem to be a legitimate case for this, and with discoverability I am totally OK with this. 14:19:45 just wanted to mention that we need api extension to make it discoverable 14:20:01 is it like microversioning in Cinder? 14:20:01 rafaelweingartne, something like this https://review.opendev.org/#/c/740058/ 14:20:02 patch 740058 - neutron-lib - New api-def: port-numa-affinity-policy - 6 patch sets 14:20:25 when slaweq said "discoverable", that means you enable this extension and the API contains this new parameter 14:20:30 that won't break the current code 14:21:07 rafaelweingartne: yes, neutron does not introduce microversioning and a new feature needs to be discovered by an API extension 14:21:21 well, that is the problem 14:21:30 because we introduce a new parameter 14:21:42 and that's ok 14:21:43 but this new parameter will take the role/behavior of the old one 14:21:55 but referred to a new extension 14:22:08 we can discuss the technical issues in the n-lib patch 14:22:14 what I am not sure so far is whether how we should interprete "lcoal" now. 14:22:17 rafaelweingartne: this isn't a problem for sure, You will add this new parameter in new extension and that's fine 14:22:28 ok 14:22:43 I am not sure with these details in some of openstack components 14:22:48 rafaelweingartne: if you will need help with that, we can discuss it on neutron channel :) 14:22:55 sure 14:23:00 The problem description says that we changed the interpretation of "local"/"remote" at some time. 14:23:21 amotoki: that's good point 14:23:28 yes, here: https://github.com/openstack/neutron/commit/92db1d4a2c49b1f675b6a9552a8cc5a417973b64 14:23:41 wouldn't "source" and "destination" better names? 14:23:52 good point :) 14:23:59 internally, I proposed source 14:24:12 but the network engineers said that it would make more sense local... 14:24:18 I am not sure though, which one is better 14:25:05 what is the real problem? what is "local"? 14:25:28 local_ip_prefix would be the internal network behind the router 14:25:33 amotoki: in fact when I'm now thinking about it, it depends on "direction" really 14:25:47 no? 14:25:51 hmm 14:25:57 yes and no 14:26:17 source and dest are directional attributes, whereas local and remote are proximal attributes 14:26:27 IIRC the commit clarifies the meaining of "remote" was different from other context in neutron. "remote" is external, soI think the commit is right. 14:27:04 the commit in [1] is using the remote attribute as the source/local IP of the VMs inside openstack 14:27:09 this creates confusions 14:27:24 people were using the remote attribute as the remote (IP outside openstack) 14:29:17 sounds fair. I cannot remember the whole discussion at that time. 14:29:39 and also, with respect to inflow and outflow, we wrote a section describind that "Neutron Metering agent changes" 14:29:55 ok, so local/remote will be from the "vm" point of view - local is vm IP address and remote is something in outside world, right? 14:30:03 exactly 14:30:11 that sounds good for me 14:30:35 and by having these two attributes we can address the need described in [1], and many others 14:30:46 and now it's not like that as remote_ip_prefix is in fact IP which belongs to the OpenStack vm 14:30:48 right? 14:30:55 exactly 14:31:20 that's why You want to change this naming convention and not only add new parameter 14:31:21 ok 14:31:26 now it seems clear for me 14:32:33 that's perfect if this is also documented 14:32:46 yes, it will be 14:33:02 same standard as I did with the granular extension for the neutron metering 14:33:26 I agree with the confusion discussed so far. the question now looks like whether we need to change the current interpretation in addtion to a new proposed field. 14:33:59 Changing the existing behavior will introduce another confusion, so we might be conservative. 14:34:01 amotoki: I think so as currently "remote_ip_prefix" is in fact used as local IP (belongs to OpenStack vm) 14:34:36 slaweq: I think so too 14:34:37 I would say so, otherwise, confusions would still be created by using something called "remote_IP" to indicate an IP inside OpenStack where these rules are applied 14:36:55 I now wonder how we can achieve this without breaking existing users.... 14:38:27 one way would be to create new names - let's say we use 'cloud_ip_prefix' and 'external_ip_prefix' - and deprecate remote_ip_prefix in the docs, while mapping it to cloud_ip_prefix internally 14:39:11 njohnston: good point, maybe it could also be "internal_ip_prefix" and "external_ip_prefix" 14:39:20 but will that be clear for people? 14:39:38 that would work, but the pseudo bug would still exist, the remote_ip_prefix would need proper documentation and deprecation 14:39:53 yeah, it will be the best way when we have a wrong/confusing naming. 14:39:54 cant this create more confusions? having external and remote attributes? 14:40:07 at the same time 14:40:43 rafaelweingartne: doesn't the RFE propose to change the meaning of 'remote'? am I wrong? 14:40:57 yes 14:41:35 I mean, it depends on the perspective. The remote would start to fulfill its claim (being the remote IP) 14:41:50 instead of the internal/loca/vmIP 14:42:04 what we are wonder is how we won't break existing API users when we change the API behavior. Of course we need to clarify what the new terms mean. 14:42:16 yes, and that is a good point 14:42:27 How was the change introduced via [1] handled? That also changed the way API was being used and broke compatibility. 14:42:56 I believe that was not a good example. 14:43:10 hmm 14:43:11 I see 14:44:12 I think that remote_ip is tainted by the fact that we have to maintain API compatibility with an implementation that has the opposite meaning of the name. I think replacing and deprecating it - and making a special note in the API ref - is the best path. 14:44:51 Perhaps 'cloud_ip" for the local and "peer_ip" for the remote would work, as they don't frame the sides in terms of an assumed reference point of the user. 14:44:51 ok, so I will need to add that into my proposal then, right? 14:45:11 njohnston: agree (but I need double check after the meeting) 14:46:04 njohnston: amotoki I like that proposal 14:46:19 that way we will not break any existing users and their applications 14:46:30 and we will improve our API 14:46:33 rafaelweingartne: I think so. we are reverting the meaning of the field twice. It should be avoided in general, so it is better to be covered in the context. 14:46:49 ok, I will do that then 14:48:17 so I'm ok to approve this rfe with the note that it should add new attributes, and just deprecate the existing one but not remove or change it's behaviour 14:48:21 seems reasonable to me 14:48:33 are others ok too? 14:48:36 +1 14:48:42 sounds good 14:48:53 +1 14:48:56 Thank you guys 14:49:18 yamamoto: any thoughts? 14:49:29 rafaelweingartne: thanks for taking care of this complicated one. 14:49:30 i'd like to abstain as i'm just confused :-) 14:50:07 ok 14:50:30 but as we have most people +1 about it, I will mark it as approved 14:51:02 rafaelweingartne: please propose spec with detailed description of the current status and proposed changes (api especially) 14:51:14 sure, I will do 14:51:18 thx a lot 14:51:26 and thx for the new proposal :) 14:51:32 ok, lets move on 14:51:38 there is third one for today 14:51:42 https://bugs.launchpad.net/neutron/+bug/1888487 14:51:43 Launchpad bug 1888487 in neutron "Change the default value of "propagate_uplink_status" to True" [Wishlist,New] - Assigned to Rodolfo Alonso (rodolfo-alonso-hernandez) 14:51:45 from ralonsoh 14:51:49 very quick 14:52:10 this extension, "propagate_uplink_status", allows to propagate the PF status to the VF, in SRIOV 14:52:16 (that's only for SRIOV) 14:52:30 by default, the VF status will be set to enabled/disables 14:52:48 with this extension and the paremeter to True, the link status will be auto 14:53:00 my proposal: when this extension is enabled 14:53:17 "propagate_uplink_status" is port's parameter in API, right? 14:53:17 set "propagate_uplink_status" to True by default --> set link status to auto 14:53:20 yes 14:53:28 by default now is False 14:53:34 I want to change that 14:53:43 and You want to basically change default value of this attribute, right? 14:53:47 yes 14:54:07 I know could sound trivial, but is a change in a default parameter 14:54:43 reason: customers enabling this extension want to have VF link status to auto 14:55:13 with this parameter set to True, they don't need to change nothing in the port creation 14:55:25 *change anything 14:56:00 I am +1 on this because I think it is very unusual for a user to actually desire the behavior that we currently have as the default 14:56:44 and by default this extension isn't enabled so users who don't want to use "auto" don't have this extension loaded probably 14:56:55 exactly 14:57:09 I'm ok to change that 14:57:21 of course with "big" release note about the change :) 14:57:27 sure!! 14:57:54 +1 14:57:56 sounds reasonable to me too so far. 14:58:08 thank you all 14:58:17 +1 14:58:33 do we introduce a new extension? 14:58:33 ok, sounds like we can approve it :) 14:59:12 amotoki: I'm not sure if we need that in this case TBH 14:59:32 amotoki: but we can discuss it in the review of the patch probably 14:59:38 ok for You? 14:59:49 slaweq: I am okay 14:59:57 thx 14:59:59 this is really a gray zone 15:00:03 we are running out of time now 15:00:08 thx for attending the meeting 15:00:10 bye 15:00:14 very productive meeting! thanks all 15:00:16 have a great weekend 15:00:18 good night 15:00:18 o/ 15:00:20 o 15:00:21 o/ 15:00:22 #endmeeting