Friday, 2022-06-24

opendevreviewwangkuntian proposed openstack/neutron master: Modify the url of OVN tutorial Original url leads user to a markdown file, I think it's better to use official document rather than a markdown file.  https://review.opendev.org/c/openstack/neutron/+/84729801:52
opendevreviewMamatisa Nurmatov proposed openstack/neutron master: Use neutron-lib method update_qos_allocation  https://review.opendev.org/c/openstack/neutron/+/84735808:14
opendevreviewMerged openstack/neutron master: Add a release note for 834162  https://review.opendev.org/c/openstack/neutron/+/84660709:31
opendevreviewArnau Verdaguer proposed openstack/neutron master: Migration revert plan  https://review.opendev.org/c/openstack/neutron/+/83563810:52
opendevreviewMerged openstack/neutron master: Fullstack tests of packet rate limit for ovs qos driver  https://review.opendev.org/c/openstack/neutron/+/81941811:01
elviralajoskatona: skoech[m] ping? The meeting room says "asking to be let in"11:06
lajoskatonaskoech[m]: sorry, I am in now, can you join also?11:11
*** bpetermann is now known as Guest314011:50
opendevreviewTakashi Kajinami proposed openstack/neutron master: ml2: Use the base module to register common ml2 agent config  https://review.opendev.org/c/openstack/neutron/+/84529212:58
opendevreviewArnau Verdaguer proposed openstack/neutron master: Migration revert plan  https://review.opendev.org/c/openstack/neutron/+/83563813:05
lajoskatonaamorin: Hi, can you join today Drivers meeting?13:27
lajoskatonaamoring: I am not sure if we will have enough people, seems it is really summer time :-)13:27
*** dasm|off is now known as dasm13:33
lajoskatona#startmeeting neutron_drivers14:00
opendevmeetMeeting started Fri Jun 24 14:00:15 2022 UTC and is due to finish in 60 minutes.  The chair is lajoskatona. Information about MeetBot at http://wiki.debian.org/MeetBot.14:00
opendevmeetUseful Commands: #action #agreed #help #info #idea #link #topic #startvote.14:00
opendevmeetThe meeting name has been set to 'neutron_drivers'14:00
lajoskatonao/14:00
yamamotohi14:00
slaweqo/14:00
mtomaskao/14:00
ralonsohhi14:01
lajoskatonahaleyb can't join today, and I think mlavalle is also ooo today (this week?)14:01
ralonsohyes14:01
amotokihi, but I was PTO today so I did not check the topics in advance....14:01
obondarevhi14:01
lajoskatonaamotoki: thanks for coming14:02
yamamotoamu14:02
yamamotosorry, wrong window14:02
lajoskatonaI think we can start14:02
amotokilajoskatona: np. will try to catch up discussions :)14:02
lajoskatonaI tried to put our topics in time order as we skipped few meetings and to avoid long hanging topics14:03
lajoskatonaThe first one is:14:03
lajoskatona[RFE] Improve performance of bulk port create/delete with networking-generic-switch (#link https://bugs.launchpad.net/neutron/+bug/1976270)14:03
lajoskatonathere's 2 proposals in the RFE:14:04
lajoskatonaadd a new "bind_port_bulk()" interface between Neutron and mechanism drivers14:05
lajoskatonaor add a way to bind ports asynchronously14:05
ralonsohcan I ask what does it means "bind ports asynchronously"?14:06
obondarevjust a thought: maybe several API calls with less port chunks would perform better than bulk creation in this case?14:06
obondarevmeaning to use neutron server threads and processes14:06
slaweqobondarev most likely as then You would paralelize ports creation :)14:07
slaweqand binding14:07
obondarevright14:07
slaweqbut from the other hand, I agree with the RFE, that if we have bulk port creation, that should be recommended and faster to create many similar ports then making many API calls14:08
obondarevbut this is more burden at a higher layer of course (API caller orchestrator)14:08
amotokiIIUC network-generic-switch driver provisions hardware switches, so I am not sure parallelization would improve the performance if the driver provisions switches when API is called14:08
ralonsohbut can't you call this API from different threads?14:08
lajoskatonathat is my understanding also from the RFE, the hw is slow in this case so the bulk soluton is not that good for it14:09
lajoskatona"and networking-generic-switch takes between 5s and 30s to bind a port (depending on the hardware)"14:09
slaweqmy understanding is that "ssh connection to configure every single port is slow"14:09
amotokislaweq: my understanding is same14:10
slaweqbut I also think that You can make more parallel connections to the switch and configure more ports in same time14:10
slaweqso bulk port creation response would be much faster14:10
slaweqif we would paralelize it14:10
amotokiI am not sure hardware switches allow to configure ports in multiple ssh connections14:10
ralonsohok, that answers my previous question then14:11
slaweqbut last comment from the rfe owner is that they are trying to move hardware configureation to post_commit method from the bind_port14:11
lajoskatona+114:11
obondarevseems testing separate port creation (API call per port) show whether parallelism is a good way14:11
obondarevshould show*14:11
slaweqfor me it makes sense and maybe, as he wrote in LP, it would be easier to optimize port_create_postcommit() rather then port_bind14:12
ralonsohbut the problem will be the same, if the response from the HW takes 30secs14:13
ralonsohwhat I think they need is an async method to update the port status14:14
slaweqso, maybe they should simply improve networking-generic-switch mech driver, and make methods which connects to the router somehow asynchronouse14:14
ralonsohsend the creation message and then receive the HW confirmation14:14
slaweqso neutron would simple call that method, driver would start some worker and do whatever it needs to do14:14
slaweqbut neutron would finish fast, even when ports aren't really configured on switches yet14:15
ralonsohright ^14:15
lajoskatonathat is back to the async solution on NGC side14:15
obondarev so agent will end process loop without notifying "ports on agent are up"?14:16
amotokithere is BUILD status in neutron port. Does neutron API consumers like nova honor it? If so, neutron server can response API in async way14:16
lajoskatonaamotoki: that's a good question14:16
lajoskatonaI am not sure if nova just uses the binding ifo or the port status also14:17
obondarevsorry, I mixed up OVS and generic switch14:17
slaweqamotoki nova don't checks port's status, it just waits for notification from neutron that port is ACTIVE/DOWN14:17
ralonsohnot active but plugged14:17
lajoskatonatrue, we ave notifiers for nova and ironic, my bad14:18
amotokiso, even if the neutron API return port creation response before a port is actually created on a backend, it should work, right?14:20
lajoskatonaIn this case the async mode can work for the RFE as when the port is plugged nova receives the notification anyway.14:20
ralonsohif we take the idea of async update, we can use the port provisioning mechanism we already have14:20
lajoskatonaamotoki: that's how I understand it14:20
ralonsohwe only inform Nova that a port is plugged14:20
ralonsohwhen DHCP/OVS provide this info (in ML2/OVS)14:21
ralonsohso we can wait until the agent provisions this port14:21
lajoskatonabut for that there is no neeed to change anything in Neutron, or do we miss something?14:22
ralonsohwhat I think should be done is a change in the networking-generic-switch mech driver not to wait for the backend, and the agent should provide this info (same as OVS agent)14:23
ralonsoh(this is what I think)14:23
obondarevneed to change mech driver afaiu14:23
obondarevagree with ralonsoh14:23
slaweq+114:24
lajoskatonaok, but that is a change in networkingGenericSwitch, not in core Neutron14:24
ralonsohright14:24
amotokigenerally +1. if the rfe author still feel the need to improve the mech driverr interface, they can request it more specifically14:25
lajoskatonaamotoki: +114:25
ralonsoh+1 to this14:25
slaweq+114:25
obondarev+114:25
lajoskatonaok I try to summarize this to the RFE and see if the reporter based on their tests can agree with it14:25
lajoskatona+114:26
amotoki+114:26
yamamoto+114:26
lajoskatonaOk, next one:14:27
lajoskatona(amorin): Neutron RBAC not sharing subnet (#link https://bugs.launchpad.net/neutron/+bug/1975603)14:27
lajoskatonaThere is even a patch for this problem: https://review.opendev.org/c/openstack/neutron/+/84387114:28
ralonsohIMO, the LP bug sounds good. But the patch shows what the real problem the submitter has. And this patch is re-introducing a previous fixed issue14:29
lajoskatonathis one: https://bugs.launchpad.net/neutron/+bug/175748214:29
ralonsohexactly14:30
ralonsohand this older bug overrides any possible new RBAC implementation14:30
ralonsohfor the consequences of handling IP pools in an external network14:30
slaweqisn't the root cause of the problem that subnets aren't shared through RBAC mechanism thus they aren't visible when regular user makes DB query?14:31
slaweqI think we had/have similar problem with SG rules14:31
ralonsohno no, he can't add an interface to a router14:32
ralonsohhe can see it, but can't add it14:32
amotokisubnet visibilility should be determined by a network visibility which corresponding subnets belong to14:32
lajoskatonayes that's what I understand also, the subnet is visible for the user, but Neutron trows exception 14:33
slaweqso this check in L861 there should be different14:33
slaweqand should be aware of the networks shared through RBAC IMO14:33
amotokislaweq: +114:33
ralonsohslaweq, agree14:34
lajoskatonathat's true14:35
slaweqso IMO we should treat that one as regular bug and "just" fix it :)14:37
lajoskatonaok, so for the proposal need to be changed, but we can go on with review14:37
ralonsoh+1 14:37
amotoki+114:37
obondarev+114:37
yamamoto+114:37
lajoskatona+114:37
lajoskatonaNext one:14:38
lajoskatona[ovn]Floating IP adds distributed attributes (#link https://bugs.launchpad.net/neutron/+bug/1978039)14:38
lajoskatonaFor this one the reporter even opened a Blueprint: #link https://blueprints.launchpad.net/neutron/+spec/custom-floatingip-distributed14:39
slaweqI read that one and I'm not big fan of this proposal really14:40
slaweqwe already have "distributed" flag for router14:40
ralonsohnot in OVN, this flag does not apply14:40
slaweqand IMO we should use that one in OVN too and make all FIPs in one router to be distributed or not14:40
slaweqthe reason for that is that I don't want to have API differences depending on the backend14:40
slaweqralonsoh I know that it don't apply now but IMO we should make OVN aware of this flag rather than adding "distributed" to the floating IPs14:41
ralonsohslaweq, but I think he wants to make this even more granular14:42
slaweqor maybe combine 2 approaches in ovn case: 1. router's distributed would be the default setting for FIPs in router14:42
ralonsohI know, I know, the current API does not allow it14:42
slaweqand "per FIP" "distributed" would allow to overide that router's setting14:42
slaweqlike we have e.g. with qos policies on network and ports14:42
slaweqthat way API will be more consistent IMO with ML2/OVS+DVR14:43
slaweqwdyt?14:43
ralonsohso implement the router --distributed flag14:43
ralonsohand also allow the flag per FIP?14:43
slaweqralonsoh yeah14:43
amotokiI have a question on "distributed" FIP. FIP is usually created by regular users. It allows users to control whether FIP is distirbuted or not. is this what operators would like to allow?14:43
ralonsohgood question...14:43
slaweqthen if someone wants to have all FIPs in router distributed (or not) it can be done with one setting on the router's level14:43
ralonsohamotoki, maybe that should be controller with a policy14:44
slaweqamotoki that could be controlled by policies14:44
slaweqand by default only admin would be able to do that14:44
opendevreviewMerged openstack/networking-ovn stable/train: Revert "Fix member_batch_update function to follow api v2"  https://review.opendev.org/c/openstack/networking-ovn/+/84725514:44
slaweqand again, that's why router's distributed flag as default would be good IMO14:44
amotokiralonsoh: slaweq: yes. we can allow oeprators to control them via policies14:44
ralonsoh+1 to this proposal (with the two steps implementation + policies)14:45
slaweqralonsoh implementation can be "one step", it would be just something like:14:46
slaweqis_fip_distributed = fip['distributed'] or router['distributed']14:46
ralonsohperfect14:46
slaweqrouter['distributed'] is already there but ovn don't respect it14:46
lajoskatona+114:46
slaweqso that way it would start to use that parameter14:46
slaweqand we need to add "fip['distributed']" (with api extension and so on)14:47
amotokiis there no case where a router is distributed but FIP is not distributed?14:47
slaweqand implement that "per fip" in ovn_l314:47
slaweqamotoki in ovn case in fact You control that "per fip"14:47
slaweqso You can have by default all fips distributed but for some reason make one fip to be centralized14:48
amotokislaweq: so, ' fip['distributed'] or router['distributed']' does not work perhaps14:48
slaweqamotoki yeah, that was kind of shortcut14:48
amotokirouter['distributed'] can be the default for "distributed" for FIP14:48
slaweqit would need to check if it's None or not14:48
slaweqetc.14:48
slaweqI just wanted to be fast here :)14:49
amotokiyeah14:49
slaweqsorry if I wasn't clear :)14:49
amotokianyway what we discussed is similar to what we do for router.distributed (and ha) now.14:49
yamamotomy honest impression is that the meaning of "distributed" is too backend specific to have it as a generic attribute. (i had the same impression on the dvr's one too.)14:50
yamamotobut maybe it's ok if it makes sense for ovn...14:51
lajoskatonaok, so we need API extension and the logic to make it with OVN14:52
lajoskatonamake it work with OVN14:52
amotokilajoskatona: an API externsion for fip.distributed, right?14:53
lajoskatonaamotoki: yes14:53
slaweq+114:53
lajoskatona+114:53
ralonsoh+114:53
amotokijust for clarification. is the first step to honor router.distributed in OVN backend?14:54
slaweqamotoki IMO it can but don't have to be14:54
slaweqas this setting will need to be checked for each FIP by ovn_l3 plugin14:55
slaweqbut we can add it as first step and then "extend" it with fip['distributed'] when that API extension will be there14:55
amotokislaweq: thanks14:55
lajoskatonaso even if router=distributed, the fips for must be checked one-by-one? ok14:55
slaweqlajoskatona I think so as You can/need to set it per IP in ovn14:56
lajoskatonaok, I will add the summary to the RFE14:56
lajoskatonaslaweq: ok, thanks14:56
slaweqbut maybe I'm wrong on that, ralonsoh will for sure know it better14:56
ralonsohthat's part of the implementation, we can review the patches later14:56
lajoskatona+114:56
slaweqyeah14:56
amotokiI did not vote yet. +1 for this proposal itself. I am okay with the direction. 14:57
yamamoto+1 (as a parameter for specific backend, similarly to router.distributed for dvr)14:58
lajoskatonaok, thanks for the discussion14:58
lajoskatonawe have one more RFE, but we have no more time, so let's postpone that one for next time14:58
slaweqok, have a great weekend all!14:59
lajoskatona#endmeeting14:59
opendevmeetMeeting ended Fri Jun 24 14:59:09 2022 UTC.  Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)14:59
opendevmeetMinutes:        https://meetings.opendev.org/meetings/neutron_drivers/2022/neutron_drivers.2022-06-24-14.00.html14:59
opendevmeetMinutes (text): https://meetings.opendev.org/meetings/neutron_drivers/2022/neutron_drivers.2022-06-24-14.00.txt14:59
opendevmeetLog:            https://meetings.opendev.org/meetings/neutron_drivers/2022/neutron_drivers.2022-06-24-14.00.log.html14:59
ralonsohhave a nice weekend14:59
slaweqo/14:59
lajoskatonaHave a nice weekend14:59
amotokihave a great weekend!14:59
yamamotogood night14:59
lajoskatonao/14:59
obondarevo/14:59
admin1hi all .. what chances are there for neutron to also support wireguard ? 19:08
*** jlibosva is now known as Guest316819:50

Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!