Friday, 2024-05-31

*** dmitriis is now known as Guest811001:29
opendevreviewTakashi Kajinami proposed openstack/networking-sfc master: Switch back to attribute_mapped_collection  https://review.opendev.org/c/openstack/networking-sfc/+/92086807:43
opendevreviewMerged openstack/neutron unmaintained/zed: [stable only] Do not fail on missing logical router ports  https://review.opendev.org/c/openstack/neutron/+/92062107:49
slaweqhaleyb hi, FYI: I just added one small topic to the 'on demand' agenda for today's drivers meeting08:04
opendevreviewSlawek Kaplonski proposed openstack/neutron-lib master: [api-ref] Add note about no validation of the target_tenant in RBAC API  https://review.opendev.org/c/openstack/neutron-lib/+/92087008:51
opendevreviewMerged openstack/ovn-octavia-provider stable/2023.2: Remove leftover OVN LB HM port upon deletion of a member  https://review.opendev.org/c/openstack/ovn-octavia-provider/+/91772508:54
opendevreviewSahid Orentino Ferdjaoui proposed openstack/neutron master: ml2/ovs: avoid reconfig bridges/flows when reconnecting to OVS  https://review.opendev.org/c/openstack/neutron/+/92081909:09
opendevreviewMerged openstack/ovn-octavia-provider stable/2023.1: Remove leftover OVN LB HM port upon deletion of a member  https://review.opendev.org/c/openstack/ovn-octavia-provider/+/91772609:45
opendevreviewMerged openstack/ovn-octavia-provider stable/2024.1: Remove leftover OVN LB HM port upon deletion of a member  https://review.opendev.org/c/openstack/ovn-octavia-provider/+/91772409:45
opendevreviewMerged openstack/ovn-octavia-provider stable/2023.1: FIX OVN LB Health Monitor checks for IPv6 members  https://review.opendev.org/c/openstack/ovn-octavia-provider/+/91980911:42
opendevreviewTakashi Kajinami proposed openstack/networking-sfc master: Switch back to attribute_mapped_collection if needed  https://review.opendev.org/c/openstack/networking-sfc/+/92086811:53
opendevreviewTakashi Kajinami proposed openstack/networking-sfc master: Switch back to attribute_mapped_collection  https://review.opendev.org/c/openstack/networking-sfc/+/92086813:11
opendevreviewTakashi Kajinami proposed openstack/networking-sfc master: Switch back to attribute_mapped_collection  https://review.opendev.org/c/openstack/networking-sfc/+/92086813:23
haleybslaweq: ack, just getting in but looks like a full meeting13:55
slaweqyeap13:55
haleyb#startmeeting neutron_drivers14:00
opendevmeetMeeting started Fri May 31 14:00:35 2024 UTC and is due to finish in 60 minutes.  The chair is haleyb. 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
haleybping list: ykarel, mlavalle, mtomaska, slaweq, obondarev, tobias-urdin, lajoskatona, amotoki, haleyb, ralonsoh14:00
slaweqo/14:00
ihrachyso/14:00
lajoskatonao/14:01
mlavalle\o14:01
haleybi know one of the rfes was from seba but he's marked away14:02
lajoskatonaseba is Christian Rohmann's nick?14:03
haleybsebastian lohff - i had https://bugs.launchpad.net/neutron/+bug/2065198 on the list14:04
haleybwell, i didn't put it in the on-demand, its just been screened14:05
lajoskatonahaleyb: ack14:05
haleybwhat is Christian's nick? he didn't follow the (nick):topic format14:05
mlavallewe can discuss the RFE wiyhout him in the meeting, can't we?14:06
haleybsure, just if we had questions14:06
mlavalleif we have questions we can ask in Launchpad or the patches14:07
haleybalright, can get started14:07
haleyb#link https://bugs.launchpad.net/neutron/+bug/206412014:07
haleyb[RFE] BGP Dynamic Routing for IPv4 AND IPv6 routes not possible with just one dragent (really make use of MP-BGP or support multiple BGP speakers / sessions per dragent)14:07
haleybi triaged this about a month ago14:08
lajoskatonaracosta actually asked about this topic also (https://meetings.opendev.org/irclogs/%23openstack-neutron/%23openstack-neutron.2024-05-28.log.html )14:09
haleyband i see he had a comment on the ML14:10
racostao/14:11
racostaI'm just following the discussion...14:11
lajoskatonaTo tell the truth I am not so deeply faimiliar with n-d-r but based on the option in the RFE ,a spec would be good to dug deeper and select which option to select14:11
lajoskatona1) Enabling a BGP speaker to have more than one address family14:12
lajoskatona2) Somehow get more than one BGP speaker per dragent working by14:12
haleybracosta: hi, you probably know more about this space than most14:12
haleyb2a) extend os_ken to support more than one BGP session14:13
racostayeah, the os-ken side is the biggest problem in my opinion...14:13
haleyb2b)  if extending os_ken is not an option, maybe the whole dragent can be built to run multiple instances of a single driver (os_ken) to then accept more than one bgp speaker scheduled to it.14:13
haleybcopy/paste from the email14:14
slaweqso this seems like clearly n-d-r specific RFE and because of that I think we may also ask frickler about his opinion as he is one of the most active maintainers of that stadium project14:14
mlavalle++14:14
slaweqregarding os-ken - do You know if maybe something like that was implemented in ryu after we forked it?14:15
lajoskatonatrue frickler hasgood backgound for n-d-r14:15
slaweqmaybe we 'just' would need to port some changes14:15
lajoskatonaI checked ryu a few weeks ago and there were no changes as I remember, and the last changes/fixes  were ported by ralonsoh14:16
lajoskatonabut it can be double checked14:16
haleybyes, good idea. and it seems a spec would be good as lajoskatona mentioned so we have more info on the possible solutions14:16
slaweqlajoskatona ok, thx14:16
haleybso i will add some comments based on above and ask for a spec so we can discuss options14:18
lajoskatona+114:18
mlavalle+114:19
slaweqbefore the spec shouldn't we vote if we accept that rfe in general? I'm ok with it and spec can help to choose correct solution to be implemented but just for formality I think we should approve rfe :)14:19
mlavallethe rfe is reasonable IMO14:20
lajoskatona+1 from me to the RFE14:20
haleybslaweq: true, i was only thinking of getting more info, but it does seem reasonable to me as well14:21
haleybi actually don't remember the rules, is 4 quorum?14:22
haleybit might be the best we can do until rodolfo gets back14:23
slaweq+1 from me for the RFE14:23
ihrachysI can throw my +0.5 in (hides)14:23
slaweqand I think we already have 5 votes now14:23
slaweq5.5 :)14:24
mlavallelol 5.514:24
haleybi only counted myself lajoskatona mlavalle slaweq (4) + ihrachys (.5)14:25
racostaI also think this RFE reasonable ;)14:25
mlavallethanks for your opinion racosta :-)14:26
haleybracosta: ack, thanks, i will approve then and ask for a spec14:26
slaweqyes, it's 414:26
slaweqsorry14:26
* haleyb is only on first coffee and was out late so had to double check14:26
* slaweq had holiday yestarday and today work is hard :P14:27
haleybok, next topic14:28
haleyblajoskatona added a topic about sqlachemy, i've been looking at this too14:28
lajoskatonayes actually my goal was to make it visible to everybody and has a discussion14:29
haleybi was in the process of creating a bug yesterday when i had to leave14:30
haleyband i was testing a change to see if it helped with the cover job14:30
ihrachysis there more to do there except posting a sed /old/new/s patch + pass CI? are there hidden risks beyond it?14:30
lajoskatonaso my understanding is that we currently have lazy=subquery which was fine for years with sqlalchemy<214:30
haleybbut let's talk, i have a link to the selectin page14:31
lajoskatonaand even today we can live with it, but it is not effective14:31
haleyb#link https://docs.sqlalchemy.org/en/20/orm/queryguide/relationships.html#selectin-eager-loading14:31
lajoskatonaihrachys: I suppose no but never tried :-)14:31
haleybWhat Kind of Loading to Use ?14:31
haleybthat's where i was reading14:31
haleybOne to Many / Many to Many Collection - The selectinload() is generally the best loading strategy to use14:32
ihrachys"The only scenario in which selectin eager loading is not feasible is when the model is using composite primary keys, and the backend database does not support tuples with IN, which currently includes SQL Server." does it imply we are good as long as we don't deploy on microsoft?14:32
lajoskatona"The subqueryload() eager loader is mostly legacy at this point, superseded by the selectinload()14:33
lajoskatonaso it can happen even that it will be dropped in a future release I suppose14:34
lajoskatonaihrachys: does microsoft is a deploy destination for Neutron / openstack?14:34
slaweqIMO we are still in a pretty good moment in the cycle to try it - worst case we can revert the change, right?14:35
ihrachyswon't be dropped; not until ms sql is gone I guess. but we don't care.14:35
lajoskatona:-)14:35
lajoskatonaslaweq: +114:35
ihrachyslajoskatona I don't think a lot of people even try postgres... we are mysql shop, for better or worse.14:35
slaweqlajoskatona: no, we officially support only mysql/mariadb and postgresql14:35
ihrachysso let's just post a sed s/old/new/ and see if anything falls off :)14:35
haleybi can create a bug today and propose a patch. i've only looked in neutron so far, not neutron-lib or other places14:35
slaweqihrachys++14:36
mlavalleyeap, let's give it a try14:36
lajoskatona+1, haleyb if you lack time next week I can jump in14:36
ihrachyshaleyb probably a good idea to run neutron-lib change against master neutron test suite... which reminds me that we don't have such a job :) https://bugs.launchpad.net/neutron/+bug/206751514:36
lajoskatonaI quiclky grepped stadiums and as I see directly no mention of lazy=subquery14:37
haleyblajoskatona: i already have a patch locally, i was waiting for cover test to complete when i had to leave yesterday14:37
lajoskatonahaleyb: cool, thanks14:38
ihrachysbeyond the sql query type change... do we want to touch on memory consumption in general?14:38
ihrachysafair Mike said query change may save memory, but sqla2 should not have blown the memory in the first place14:39
haleybwe might need a change in neutron-lib though in _load_one_to_manys() will have to look14:39
ihrachyshaleyb can probably switch in stages, no need to replace all of them at once if some pose unexpected work14:40
racostawill it be possible to see a reduction in the time spent on queries through tests in Zuul?14:40
racostaI remembered this discussion here: https://etherpad.opendev.org/p/oct2023-ptg-os-dbperf-crossproject14:40
haleybihrachys: my results show old and new versions of coverage use about the same amount of memory, so no smoking gun yet14:41
ihrachys:(14:41
ihrachysracosta I see select counters; will the SELECT IN switch show a reduction?14:41
haleyband it's sitll unclear why the sqlachemy bump triggered this to me14:42
ihrachyshaleyb I think I ran with sqla1 vs 2 locally (cover tox) and both seemed to have grown in memory consumed over time. so I couldn't reproduce locally. can you?14:43
haleybihrachys: i can occasionally get my VM to go sideways with sqla2, i need to move back to v1 and retry there14:45
ihrachysack. "occasionally" is the worst. maybe I was just lucky then.14:46
haleybthe fact each coverage process can consume 30-40% memory is sad14:46
ihrachysthanks for the update. I guess we will learn more in the next weeks. we should probably move on?14:47
haleybwe have one more topic from slaweq 14:47
slaweqthx haleyb, I wanted to ask about Your opinion about https://bugs.launchpad.net/neutron/+bug/2022043/14:48
slaweqI was trying to explain it better in comment #5 in that LP14:48
ihrachysslaweq thanks for the last comment, helps a lot14:48
slaweqthere was fix for that but apparently it broke some ci jobs14:48
lajoskatonatempest jobs also? 14:49
slaweqso I am now not sure if we want/should try to fix it or maybe it is better to leave  it as it is now and close the LP simply14:49
ihrachysI have a question about "Unfortunately, due to the "populate_project_id" method  ... project_id is always added to every resource". AFAIU the patch (reverted) was accommodating for this behavior. Should this behavior be unconditional though in the first place? E.g. should populate_project_id populate for all dicts regardless whether API definition has the field?..14:49
slaweqihrachys that is good question which I asked myself yesterday too14:50
ihrachysyou have an answer or also confused like me?14:50
slaweqmaybe it should be fixed in different way and in https://github.com/openstack/neutron-lib/blob/master/neutron_lib/api/attributes.py#L259 it shouldn't be added at all to the res_dict if attributes don't have it14:50
slaweqihrachys I don't have answer for that14:51
slaweq:)14:51
ihrachyson superfluous level, this SOUNDS like a reasonable thing to do - don't add fields that are not supported. I suspect there may be a risk of breakage if a plugin then relies on them present?14:52
slaweqihrachys maybe but I am not aware of anything like that really. Also tenant_id is still in the context object always. If plugin relies on e.g. flavor['project_id'] then this is IMO mistake simply14:53
haleybslaweq: so if these resources don't need a project_id, what is it set to? just the caller's project_id?14:54
slaweqhaleyb yes, look in https://github.com/openstack/neutron-lib/blob/master/neutron_lib/api/attributes.py#L25914:54
slaweqfor every POST request, if there is no project_id in the res_dict it is added from the context14:54
ihrachysit is a bug in a plugin if it does rely on it. still a break that can go nasty. :) (gonna revert another one lol)14:54
haleyback14:55
slaweqfor resources which belongs to project it makes sense14:55
slaweqbut for some resources not really14:55
slaweqihrachys and that's why I am asking here what we should do with it14:55
slaweqmaybe it is better to leave it as it is simply14:55
slaweq:)14:55
ihrachysI'm always for trying to make the code correct. we can throw this change at the wall and see if it sticks, like with sql queries :)14:56
ihrachysif not, we should add a comment to api definitions explaining why these are part of the definitions. perhaps link to a bug.14:57
mlavalleyes, let's try to fix it14:58
slaweqok, so I will try to propose another fix for it and make sure I don't break any ci this time14:58
slaweq:)14:58
ihrachysthanks! we should check against neutron suite at least.14:58
mlavallelike you said, we are still early in the cycle14:58
slaweqthank You for help with this14:59
lajoskatona+114:59
haleybslaweq: ack, thanks, but someone beat you to breaking the CI, that job is failing again :(14:59
slaweqand sorry for breaking ci so You had to revert it :)14:59
slaweqLOL14:59
* haleyb is crying15:00
ihrachysnp, it's part of the job. we learned ci is not testing something, so hopefully we'll plug the gap15:00
haleybihrachys: it might have been one of the netaddr changes...15:01
ihrachysI was going to ask about the logs after the meeting because of course - landed a bunch of these yesterday.15:01
haleybalright, we can end meeting15:02
ihrachyso/15:02
mlavalle\o15:03
haleyb#endmeeting15:03
opendevmeetMeeting ended Fri May 31 15:03:02 2024 UTC.  Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)15:03
opendevmeetMinutes:        https://meetings.opendev.org/meetings/neutron_drivers/2024/neutron_drivers.2024-05-31-14.00.html15:03
opendevmeetMinutes (text): https://meetings.opendev.org/meetings/neutron_drivers/2024/neutron_drivers.2024-05-31-14.00.txt15:03
opendevmeetLog:            https://meetings.opendev.org/meetings/neutron_drivers/2024/neutron_drivers.2024-05-31-14.00.log.html15:03
haleybthanks, and we'll need to look at gate15:03
slaweqo/15:03
ihrachyshaleyb link to failure?15:03
lajoskatonao/15:04
haleybihrachys: pick any neutron patch? :P15:05
haleybhttps://73c7e5d11add2b6adb65-e4098ecd70541ccfec6de5edaad12e3e.ssl.cf1.rackcdn.com/919844/2/check/openstack-tox-py311-with-sqlalchemy-master/aaf84fc/testr_results.html15:05
ihrachyshaleyb ok I think that's because we no longer fail on None passed? let me see, this seems like a test case issue, will report back15:07
haleybihrachys: ack, thanks15:08
ihrachyswe do now (as per your suggestion btw): if value is None: return []15:08
ihrachyswhich I think is sane15:08
ihrachysif it's none, it now behaves as if it was not passed at all (allocation pools picked by generate_pools). haleyb this is sane, right? if so, I will need to adjust the test cases to not check what they check - though I wonder how we are supposed to do it except just removing the test cases (or disabling) until neutron-lib is bumped?15:14
ihrachyshaleyb question btw - why is this job in neutron gate voting at all? shouldn't it be advisory?15:16
haleybihrachys: it's voting because it consistently passed, and we wanted to make sure we didn't regress with sqlalchemy215:16
ihrachyswell... it passed until it didn't. as we started landing neutron-lib patches, we realized it's a gap in cross-gate deps.15:17
haleybihrachys: and i can't say i've looked at failure to know what's best, or if we broke the expected behavior15:17
ihrachyshaleyb the behavior we broke is if subnet[allocation_pools] is passed as None, it no longer crashes with 404, but is accepted (handled as if nothing was passed for the field). we can make it crash again, but seems wrong.15:18
ihrachyss/404/40015:19
haleybihrachys: ah, i hadn't noticed it's the same test via different paths15:20
haleybi am fried for the week...15:21
opendevreviewIhar Hrachyshka proposed openstack/neutron master: Make openstack-tox-py311-with-sqlalchemy-master non-voting  https://review.opendev.org/c/openstack/neutron/+/92089615:22
haleybihrachys: so if we disable that job, then bump neutron-lib, then fix tests we'll be good? if we bump i think the jobs will just start failing15:22
opendevreviewIhar Hrachyshka proposed openstack/neutron master: tests: Don't except error 400 from allocation_pools=None  https://review.opendev.org/c/openstack/neutron/+/92089715:25
ihrachyshaleyb I think we can just not validate this case in the test suite ^15:25
haleybihrachys: ack, seems reasonable will watch it15:30
ihrachysyeah I haven't tested it lol15:30
ihrachyssec, will do to speed up things...15:30
haleybihrachys: 8-o - pre-commit hooks can't come fast enough :)15:31
haleybslaweq: question on the pre-commit hooks, if you know the answer (unrelated to above change) - if i change a file, say neutron/worker.py, can a pre-commit hook force the running of neutron.tests.unit.test_worker ?15:34
haleybi'm actually creating a short downstream presentation on saving the planet using pre-commit hooks :)15:35
opendevreviewIhar Hrachyshka proposed openstack/neutron master: Revert "[OVN] Prevent Trunk creation/deletion with parent port bound"  https://review.opendev.org/c/openstack/neutron/+/91985815:39
opendevreviewIhar Hrachyshka proposed openstack/neutron master: reno: ml2/ovn allows to create/delete trunks for bound ports  https://review.opendev.org/c/openstack/neutron/+/91985915:39
-opendevstatus- NOTICE: Gerrit on review.opendev.org is being upgraded to version 3.9 and will be offline. We have allocated an hour for the outage window lasting until 1700 UTC16:01
ihrachyshaleyb not slaweq but you can collect changes files with git diff and then run test runner with just these files? a bit of scripting but should be doable. I don't think pre-commit hook itself receives any args for changed files.16:14
ihrachyswhat I hate is that tox itself is rather slow to prepare env (even to start running any tests), so putting it directly in pre-commit will end up with me skipping pre-commits completely to speed up work :) I am an obsessive git commit --amend'er and commit every second minute :)16:15
haleybihrachys: with pep8 you can just run it on the changes in the most recent commit, at least I have an alias for it, 'tox -e pep8 -- HEAD~1 $@'16:16
haleyband i usually run the unit tests for the file in question, but manually16:16
haleyband neutron pretty much requires a test_* file for every source file, so it should be doable, i just wondered if slaweq noticed something like that while adding it16:17
ihrachysyou can build a script around it. pep8 target for pylint has a wrapper already, see run_pylint function in tools/coding-checks.sh16:17
ihrachysregardless of pre-commit having unit tox target support a revision would be very helpful16:19
ihrachyshaleyb the fix passed zuul; need a second +2 now17:03
ihrachyswho wants to be the gate hero? https://review.opendev.org/c/openstack/neutron/+/92089717:03
ihrachysah sorry; there is no +2 yet, misread my own Priority+217:04
haleybihrachys: I +2'd but am not the gate hero19:00
opendevreviewJay Jahns proposed openstack/neutron master: Add network dns_domain to dns assignment if present  https://review.opendev.org/c/openstack/neutron/+/92045919:03
opendevreviewBrian Haley proposed openstack/neutron master: Change to use selectin for DB load strategy  https://review.opendev.org/c/openstack/neutron/+/92093320:19
opendevreviewBrian Haley proposed openstack/neutron-lib master: [api-ref] Add note about no validation of the target_tenant in RBAC API  https://review.opendev.org/c/openstack/neutron-lib/+/92087020:30
opendevreviewBrian Haley proposed openstack/neutron master: Change to use selectin for DB load strategy  https://review.opendev.org/c/openstack/neutron/+/92093321:28
opendevreviewBrian Haley proposed openstack/neutron-lib master: Add 'selectin' as a supported lazy relationship attribute  https://review.opendev.org/c/openstack/neutron-lib/+/92093621:35

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