Wednesday, 2022-02-16

opendevreviewMichael Johnson proposed openstack/octavia master: Add the PROMETHEUS protocol to listeners  https://review.opendev.org/c/openstack/octavia/+/81225801:26
johnsom^^^ That should be good for review01:28
opendevreviewMichael Johnson proposed openstack/octavia master: Add the PROMETHEUS protocol to listeners  https://review.opendev.org/c/openstack/octavia/+/81225801:37
opendevreviewMichael Johnson proposed openstack/octavia-tempest-plugin master: API and scenario tests for PROMETHEUS listeners.  https://review.opendev.org/c/openstack/octavia-tempest-plugin/+/81226001:58
johnsomBlah, no walrus in py3.602:06
opendevreviewMichael Johnson proposed openstack/octavia master: Add the PROMETHEUS protocol to listeners  https://review.opendev.org/c/openstack/octavia/+/81225802:06
opendevreviewTom Weininger proposed openstack/octavia master: Fix wrong SQL statements in documentation  https://review.opendev.org/c/openstack/octavia/+/82950509:24
opendevreviewTom Weininger proposed openstack/octavia master: Fix wrong SQL statements in documentation  https://review.opendev.org/c/openstack/octavia/+/82950509:25
opendevreviewTom Weininger proposed openstack/octavia master: Fix wrong SQL statements in documentation  https://review.opendev.org/c/openstack/octavia/+/82950511:10
opendevreviewTom Weininger proposed openstack/octavia master: Fix detection of member operating status DRAIN  https://review.opendev.org/c/openstack/octavia/+/82689711:54
opendevreviewTom Weininger proposed openstack/octavia master: Fix detection of member operating status DRAIN  https://review.opendev.org/c/openstack/octavia/+/82689712:22
opendevreviewPooja Jadhav proposed openstack/octavia master: Add support for RHEL9  https://review.opendev.org/c/openstack/octavia/+/82953913:10
opendevreviewTom Weininger proposed openstack/octavia master: Fix detection of member operating status DRAIN  https://review.opendev.org/c/openstack/octavia/+/82689714:31
opendevreviewPooja Jadhav proposed openstack/octavia master: Add support for RHEL9  https://review.opendev.org/c/openstack/octavia/+/82953914:54
opendevreviewDouglas Viroel proposed openstack/octavia-tempest-plugin master: DNM - Testing third party ci jobs with latest commit  https://review.opendev.org/c/openstack/octavia-tempest-plugin/+/82955514:57
gthiemonge#startmeeting Octavia16:00
opendevmeetMeeting started Wed Feb 16 16:00:59 2022 UTC and is due to finish in 60 minutes.  The chair is gthiemonge. Information about MeetBot at http://wiki.debian.org/MeetBot.16:01
opendevmeetUseful Commands: #action #agreed #help #info #idea #link #topic #startvote.16:01
opendevmeetThe meeting name has been set to 'octavia'16:01
gthiemongeHi everyone16:01
johnsomo/16:01
tweining___hi16:01
rm_worko/16:01
gthiemonge#topic Announcements16:03
gthiemonge* PTL nominations are closed16:03
gthiemongeand it seems that I'm the only candidate for this role!16:04
tweining___congrats! :)16:04
johnsomCongratulations Greg in being our PTL for the Zed release!16:04
gthiemongeThanks for your support ;-)16:04
johnsomHappy to give it!16:05
johnsomgrin16:05
gthiemonge* Yoga Release Schedule16:06
gthiemonge** Final release for non-client libraries16:06
gthiemongeFYI we will releasea octavia-lib 2.5.0 for Yoga soon16:06
johnsomJust waiting on the release team to hit the button16:06
gthiemonge(it includes the definitions for PROMETHEUS support)16:07
gthiemonge** Next week is Yoga-3 milestone16:07
gthiemongeThis is: Feature freeze and Final release for client libraries16:07
gthiemongeregarding the features, there's an open review for the PROMETHEUS support (from johnsom):16:07
gthiemonge#link https://review.opendev.org/c/openstack/octavia/+/81225816:07
gthiemongeand there are still open reviews for python-octaviaclient:16:07
gthiemonge#link https://review.opendev.org/q/project:openstack/python-octaviaclient+is:open+NOT+label:Code-Review%253C%253D-116:08
johnsomYes, I need to switch the HTTP threading to be compatible with 3.6, but otherwise ready for review16:08
gthiemongeWe need to focus on those reviews16:08
gthiemongeI will take a first look at your patch johnsom!16:08
rm_workAh, I have a thing to bring up, but call on me last 😀16:09
johnsomThank you. I would really be great to get the Prometheus support into yoga.16:09
johnsomIt is fully functional and has test coverage at this point.16:10
gthiemonge** Zed PTG16:10
gthiemonge(Yeah, Z is Zed)16:11
gthiemongeI've booked a room for Thurday and Friday (2 x 3h)16:11
gthiemongeI will confirm the schedule next week16:11
gthiemongeReminder: you can register for the Virtual PTG at16:12
gthiemonge#link https://www.eventbrite.com/e/project-teams-gathering-april-2022-tickets-24680444774716:12
gthiemongeany other announcements? rm_work?16:13
rm_workAh yes16:14
rm_workSo, we're considering proposing a new feature similar to allowed_cidrs on Listeners: allowed_address_groups16:16
rm_workThis would allow for easily tracking centralized lists that can be shared between LBs and even other services16:16
rm_workI ran this by johnsom and I know he raised a valid concern about how we would handle non-neutron-network setups with this16:17
johnsomAh, so we are done with announcements?16:17
rm_workah sorry, I just saw myself pinged and went 😀16:17
gthiemonge#topic allowed_address_groups16:18
rm_workheh thanks16:18
rm_workanyway that is basically it16:19
opendevreviewMerged openstack/python-octaviaclient master: Add Python3 yoga unit tests  https://review.opendev.org/c/openstack/python-octaviaclient/+/80823216:19
rm_workDoes anyone have any other feelings about whether this is good?16:19
gthiemongerm_work: so... an address_group is a resource/object that contains a list of cidrs?16:19
rm_workessentially yes, but it is added as a native object on a SG16:19
johnsomYeah, our current model/spec for third party provider drivers is that Octavia collects all of the necessary information and passes it down to the driver. In the case of the allowed_cidrs, we pass the list down to the driver so hardware offloaded security groups can be used in the appliances.16:20
rm_workso when it is updated, the SG is automatically updated16:20
rm_workhttps://specs.openstack.org/openstack/neutron-specs/specs/victoria/address-groups-support-in-security-group-rule.html16:21
johnsomIf we start allowing neutron address_groups, how would that work with third party drivers? If we pass the list down to the driver, it could become out of date should someone update the address group in neutron.16:21
gthiemongeNotImplemented :D16:21
rm_work Basically yeah, if the driver doesn't support that16:22
johnsomDo we just pass the neutron reference down to the driver and they are on their own? (breaks our current driver spec)16:22
rm_workno, I think if the driver doesn't support that option we don't let it be set?16:22
johnsomgthiemonge So you are saying force the drivers to never support that API feature? Block it in the o-api?16:23
gthiemongethe driver (not the api) could deny the request, right?16:24
rm_workIs it not already the case that if a driver doesn't support something, we already check in the API and refuse certain features16:24
rm_workI thought?16:24
rm_workwhich IS the driver denying the API request16:24
johnsomrm_work Yes, that is not an issue for this feature. We already have specs/code for if a driver doesn't support something. That is not the question here.16:25
rm_workwait, then what is the question?16:26
johnsomThe question here is how we would allow a driver to implement this feature should they want to.16:26
rm_workOh, then yes, we would pass the address_group ID I think16:26
rm_workand let them deal with it16:26
rm_workmaybe they DO use SGs in the backend?16:27
johnsomThat breaks our spec/model for drivers.16:27
rm_workit's possible16:27
rm_workhow?16:27
johnsomWe explicitly called out that we do not require drivers to have tokens and access the cloud for Octavia API features.16:27
rm_workwe don't REQUIRE them to16:28
johnsomFor example, with TLS, we collect the cert/key on behalf of the driver and provide it to them.16:28
rm_workand if they don't have that access, they're certainly not required to implement the feature 😛16:28
johnsomThis is why we implemented allowed_cidrs instead of taking neutron SGs.16:29
rm_worki think it's not so critical as TLS Term16:29
rm_workI definitely didn't think of that as the reason to not take neutron SGs, at the time 😛16:29
johnsomWe had a long discussion about it.16:29
rm_workthe reason I remember was that we didn't want the users to be able to manipulate the SG in a way that would allow them to shoot themselves in the foot16:30
johnsomWell, that is also another issue, that neutron doesn't support AND with SG16:31
johnsomThe use case I remember debating was for hardware offload of SGs in third party appliances.16:31
rm_workso we allow A way to do this without neutron access, with allowed_cidrs16:32
rm_workso it's possible to do without a neutron-requiring feature16:32
rm_workwhy does that block us adding a second way to do it WITH neutron that's slightly more convenient?16:33
johnsomI'm just saying we need to discuss how we would handle this feature with third party drivers.16:33
johnsom1. We break our model and spec for third party drivers and pass the driver the neutron address group ID.16:34
rm_work(where did we explicitly notate that model/spec BTW?)16:34
johnsom2. We scrape the neutron address group at creation time, pass the list of cidrs down to the driver just like we do for the existing allowed-cidrs feature.16:34
johnsom3. ???? Other options?16:34
johnsom4. Build some kind of notification sink with neutron to hope to capture updates to the address groups and push that down to the drivers as updates?16:35
rm_workI'd be for #1 but with the default of NotImplemented unless providers opt in16:35
rm_work4 is madness 😀16:35
rm_workand 2 is inconsistent16:35
johnsomIt's in the driver development guide16:35
rm_work(would lead to user frustration and essentially be false advertising)16:35
johnsomNot implemented is already there. Greg was joking I think16:36
johnsom5. Don't implement this and stick to allowed_cidrs which provides this capability, maybe not as convenient.16:37
rm_workOctavia Provider API endpoint to have octavia re-fetch the address_groups contents and return it for that LB?16:37
johnsomHmm, that is interesting. We could provide that via the driver API.16:37
johnsomSo we would pass them a scrape, then it would be up to the driver to pool that API as they see fit?16:38
johnsomIs that the proposal16:38
rm_workyeah16:38
johnsom?16:38
rm_workI mean, that's my current thought16:39
rm_workI'm not married to it 😀16:39
rm_workbut it seems workable16:39
johnsomThis is why we have design discussions. Collect ideas and spec out the best one.16:39
johnsomGreg or Tom, any thoughts/comments/ideas?16:40
gthiemongenot yet, I need to think about it first16:41
rm_workso, adding a parallel to `allowed_cidrs` to Listeners called `allowed_address_groups` that provides similar functionality, but by using the address groups feature in neutron rather than adding a huge list of individual rules to the SGs; providers that aren't neutron-aware would get a snapshot and be able to refresh that via the provider-api16:41
opendevreviewTom Weininger proposed openstack/octavia-dashboard master: Display Draining state correctly  https://review.opendev.org/c/openstack/octavia-dashboard/+/82690516:41
gthiemongebut I agree that using address groups would be a good feature16:41
rm_workI believe the address-groups thing is, besides just more convenient for users with large lists of CIDRs and lots of LBs / other services using them, also more performant/efficient16:42
johnsomrm_work Maybe leave allowed_cidrs, pass the addr-group ID(s) to the driver, with the API they can use the ID to poll16:42
johnsomThat way we aren't forcing them to get tokens, etc. but if they already have some path to neutron they have the IDs16:43
tweining___sorry, I know too little about the subject to comment16:43
rm_workright now we have users with hundreds of CIDRs in their allowed_cidrs list, with many LBs using the same list, and also VMs and other services too, and any time they have to modify it they have to update every single LB... and then they update their address_group and everything else besides octavia is instantly done 😀16:43
rm_workjohnsom: yeah that seems doable too16:43
johnsomI can live with that.16:44
johnsomSo next step would be write up a quick spec and propose some patches.16:44
johnsomIt won't make yoga, but Zed16:44
rm_workyeah np16:45
rm_workwill poke at a spec then16:45
johnsomYoga octavia-lib is basically frozen now.16:45
rm_work(when did we start requiring specs? :D)16:45
rm_workyeah Zed is totally fine16:45
johnsom(since day one)16:45
johnsomIt doesn't need to be a novel16:45
rm_worknot aiming at having code out the door for this even within a month prolly16:45
rm_workheh16:45
rm_workman, one of the things I appreciated about working on Octavia was that we didn't need a whole spec written up for every little thing 😉16:46
johnsom#link https://github.com/openstack/octavia/tree/master/specs16:46
johnsomThe reason I personally lean towards a spec is this impacts provider drivers and a spec would give them an opportunity to comment before it's all coded up.16:46
* johnsom thinks rm_work remembers it that way because other people wrote the specs for him.....16:47
gthiemongelol16:48
gthiemongeOk Folks, thanks for this discussion!16:49
rm_workahaha maybe 😀16:49
rm_workyeah I think that's fine, I'll start on a spec16:49
johnsomFeels good to have an actual design discussion again....16:49
gthiemongemaybe this can be a topic for our PTG in april16:49
rm_workthanks for the productive discussion16:49
gthiemonge#topic Brief progress reports / bugs needing review16:51
johnsomOn the Octavia front, I have mostly be focused on updating the metrics patch based on the PTG comments and getting that ready for review.16:51
gthiemongeI have a small fix for the new network interface management tool (that is include in wallaby, xena and master)16:52
gthiemongeIt was not waiting for the ipv6 address to leave the tentative state, so a member may have appeared in ERROR During a few seconds16:52
gthiemonge#link https://review.opendev.org/c/openstack/octavia/+/82860616:52
gthiemonge^ it fixes some random failures in our jobs so it would be great to merge it soon16:53
gthiemongeAnd I also wrote a quick hack to reduce the duration of the noop-api tests:16:53
gthiemonge#link https://review.opendev.org/c/openstack/octavia-tempest-plugin/+/82896316:54
gthiemongewe are frequently hitting the 3h(and a few minutes) timeout in the noop-api tests16:54
gthiemongesplitting the MemberAPITest into 2 classes helps us to spread the load on different workers16:55
gthiemongeso the patch changes the name of the tests, but it doesn't change the IDs of the tests, I was wondering if you would have some concerns about it16:56
johnsomAs long as the ID stays the same, it's ok to change the test name.16:57
johnsomI still wish I new why some of the noop tests take so long. They should be fast, not a minute or more to run16:57
tweining___couldn't we run it with a profiler to see what makes them so slow?16:58
gthiemongeI guess the answer would be: SQLAlchemy16:59
johnsomYeah, it tanked in performance 40% in 1.417:00
tweining___https://review.opendev.org/c/openstack/octavia-dashboard/+/826905 could use another reviewer17:01
gthiemongetweining___: feel free to take a look with a profiler if you have experiences with it, I don't how if it is doable beside our unit tests17:02
johnsomgthiemonge Are we going to revive the priority review list for the end of yoga?17:02
gthiemongeho yeah, I forgot this point, I will restore the list17:03
gthiemongeI don't know if I can do it before the end of the week, but perhaps on Monday we will have it17:03
gthiemongeI will ping you on this channel when it's ready17:04
gthiemongeOk Folks, we're late :D17:05
gthiemonge#topic Open Discussion17:05
gthiemongeanything to add?17:05
johnsomNope, thanks!17:05
gthiemongeOk Thanks!17:06
gthiemonge#endmeeting17:06
opendevmeetMeeting ended Wed Feb 16 17:06:55 2022 UTC.  Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)17:06
opendevmeetMinutes:        https://meetings.opendev.org/meetings/octavia/2022/octavia.2022-02-16-16.00.html17:06
opendevmeetMinutes (text): https://meetings.opendev.org/meetings/octavia/2022/octavia.2022-02-16-16.00.txt17:06
opendevmeetLog:            https://meetings.opendev.org/meetings/octavia/2022/octavia.2022-02-16-16.00.log.html17:06
opendevreviewMichael Johnson proposed openstack/octavia master: Add the PROMETHEUS protocol to listeners  https://review.opendev.org/c/openstack/octavia/+/81225817:11
johnsomFixed for python 3.6 compatibility ^^^17:11
opendevreviewDouglas Viroel proposed openstack/octavia master: Add missing release note for commit 0a9f3a8  https://review.opendev.org/c/openstack/octavia/+/82960821:05

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