Wednesday, 2025-05-07

opendevreviewSam Clippinger proposed openstack/oslo.db master: Allow configurable pre-ping checks  https://review.opendev.org/c/openstack/oslo.db/+/94896903:32
opendevreviewTakashi Kajinami proposed openstack/oslo.config master: add pyproject.toml to support pip 23.1  https://review.opendev.org/c/openstack/oslo.config/+/94897604:24
opendevreviewTakashi Kajinami proposed openstack/tooz master: add pyproject.toml to support pip 23.1  https://review.opendev.org/c/openstack/tooz/+/94897704:55
opendevreviewMerged openstack/taskflow master: Add release note for mask keys  https://review.opendev.org/c/openstack/taskflow/+/94885306:43
opendevreviewMerged openstack/oslo.middleware master: typing: Fix issue with HealthCheck.app_factory  https://review.opendev.org/c/openstack/oslo.middleware/+/94886110:04
opendevreviewDaniel Bengtsson proposed openstack/oslo.service master: Add threading backend implementation using cotyledon and standard threads  https://review.opendev.org/c/openstack/oslo.service/+/94572011:22
opendevreviewDaniel Bengtsson proposed openstack/oslo.service master: Add threading backend implementation using cotyledon and standard threads  https://review.opendev.org/c/openstack/oslo.service/+/94572011:41
opendevreviewDaniel Bengtsson proposed openstack/oslo.service master: Add threading backend implementation using cotyledon and standard threads  https://review.opendev.org/c/openstack/oslo.service/+/94572011:50
opendevreviewFelix Huettner proposed openstack/oslo.service master: Fix signal lookup to only include singals.  https://review.opendev.org/c/openstack/oslo.service/+/94509311:50
opendevreviewTakashi Kajinami proposed openstack/taskflow master: add pyproject.toml to support pip 23.1  https://review.opendev.org/c/openstack/taskflow/+/94902812:36
tkajinamseems we skip the meeting today ?13:08
hberaud[m]¯_(ツ)_/¯13:09
tkajinamdamani[m], ^^^13:15
ralonsohhberaud[m], hello! I have one question about "the patch"13:19
ralonsohhttps://review.opendev.org/c/openstack/oslo.service/+/94572013:19
ralonsohI'm checking the setup.cfg file and I see there are two threading_backend13:19
ralonsohsorry, not threading_backend13:20
ralonsohmy question: what is the variable to define which one is used?13:20
tkajinamfrom oslo_service import backend as service_backend13:34
hberaud[m]ralonsoh: My understanding is that we can setup the backend to use by using:... (full message at <https://matrix.org/oftc/media/v1/media/download/AYgy8467vgMStT1tHsezJK1QbDMytfBnxO0TRA5PKIbU5BXV22Jg2lPc7E_V3UbIyX5u3dsFH5MTTuXry3hVPxNCeW8w01vwAG1hdHJpeC5vcmcvUU5rT0dsVWxnZU9NYXhzZmNtc1BYemF3>)13:34
tkajinamservice_backend.init_backend(service_backend.BackendType.THREADING)13:34
hberaud[m]ralonsoh: is that answer your question?13:34
tkajinamcalling these two in very early phase may be needed13:34
ralonsohyeah, sure!13:34
tkajinam(and I see hberaud[m] is answering the same)13:34
ralonsohI'll check how to add it in the Neutron code now13:35
ralonsohthanks!13:35
hberaud[m]Nice13:35
hberaud[m]thanks13:35
tkajinamtheoretically it can be called at the state where monkey_patch was previously called13:35
tkajinams/the state/the stage/13:35
tkajinamthese should be called early enough before any other modules from oslo_service are imported13:36
tkajinamthat's my understanding13:36
hberaud[m]Nova put that in their monkey_patch.py module https://review.opendev.org/c/openstack/nova/+/94831113:36
hberaud[m]I suppose Neutron more or less own the same kind of Eventlet patcher13:37
hberaud[m]*own13:37
hberaud[m]IMO it should go into neutron/neutron/common/eventlet_utils.py13:38
hberaud[m]https://opendev.org/openstack/neutron/src/branch/master/neutron/common/eventlet_utils.py13:38
tkajinamIIUC neutron/cmd/eventlet/__init__.py does the trick now for eventlet services13:38
tkajinamso that monkey_patch is called during early import phase13:39
tkajinamwhat you can try first is explicitly call the init_backend method at early phase of entry point file13:39
tkajinamI mean something like neutron/cmd/agents/metadata.py13:39
hberaud[m]it call from neutron.common import eventlet_utils13:39
hberaud[m]https://opendev.org/openstack/neutron/src/branch/master/neutron/cmd/eventlet/__init__.py13:40
tkajinamyeah but service may not import eventlet_utils when it is migrated to non-eventlet13:40
tkajinamI mean it may be moved out from the cmd/eventlet directory13:40
hberaud[m]indeed13:40
tkajinamso we may need something else.13:40
tkajinambut the ideal is similar13:41
tkajinam"idea" is similar13:41
hberaud[m]you are right13:41
hberaud[m]amorin: this discussion might interest you ^13:42
stephenfintkajinam: https://review.opendev.org/c/openstack/taskflow/+/949028/comment/36b9185f_75df2ece/ jfyi, if you're doing bulk updates13:44
stephenfinif it's too much hassle to update them all, I can ignore that and send it through. Up to you13:44
opendevreviewTakashi Kajinami proposed openstack/taskflow master: add pyproject.toml to support pip 23.1  https://review.opendev.org/c/openstack/taskflow/+/94902813:45
opendevreviewTakashi Kajinami proposed openstack/oslo.config master: add pyproject.toml to support pip 23.1  https://review.opendev.org/c/openstack/oslo.config/+/94897613:46
opendevreviewTakashi Kajinami proposed openstack/tooz master: add pyproject.toml to support pip 23.1  https://review.opendev.org/c/openstack/tooz/+/94897713:47
ralonsohhi folks, I'm trying to use the oslo.service patch14:43
ralonsohI'm calling the init_backend at the very beginning of the agent14:43
ralonsohI've also manually changed the default value in DEFAULT_BACKEND_TYPE14:43
ralonsohbut I have this14:43
ralonsohhttps://paste.opendev.org/show/b7slrLKywXdK6Lvl8bNu/14:44
ralonsohINFO oslo_service.backend [-] Loading backend: eventlet14:44
ralonsohI'm trying to find what is calling this, a second time (the first time is correctly called but not logged)14:44
ralonsohbecause the logger is still not configured14:44
hberaud[m]Just to be sure to understand it correctly, you twicked the code of oslo.service to override DEFAULT_BACKEND_TYPE to threading, and even with that you still observe the backend loaded with eventlet, correct?15:02
hberaud[m]ralonsoh: ^15:03
ralonsohyes15:03
ralonsohin any case, I'm also having some problems with the RPC and the threads processing the L3 agent events15:04
ralonsohso I would need to investigate that too15:04
damani[m]ralonsoh, thanks a lot for testing and feedback 15:04
hberaud[m]Why not doing the backend switch using:... (full message at <https://matrix.org/oftc/media/v1/media/download/AUDs7jyVFybMArk2HlBBIvbl1SCkm0SDaeyHKIKErfj37AVU16jbK-jpJJxMdTNtemMHXLzcobkynPswXpP_CRNCeW82BKQQAG1hdHJpeC5vcmcvTm9vb3VnZ3dpR3NTbklNZXJWT3VWVEtD>)15:04
damani[m]the backend is selected once and only once at runtime using init_backend(BackendType.THREADING) (or EVENTLET) and if init_backend() is not called manually, it will default to EVENTLET, as defined by DEFAULT_BACKEND_TYPE15:06
ralonsohhberaud[m], I'm doing that too15:06
hberaud[m]ack15:06
damani[m]once a backend is selected, it’s cached15:06
ralonsohI don't know (I need to check) if that is being called by privsep or any other library15:07
ralonsohI don't know...15:07
ralonsohyes, I see that15:07
damani[m]to use the threading backend, the only safe way is to do this before any oslo.service code is imported or used15:07
hberaud[m]damani: but apparently, IIUC, Rodolfo overrided the `DEFAULT_BACKEND_TYPE` manually.15:07
ralonsohyes, I'm doing that in the agent first script15:08
ralonsohand I can see this method being called correctly, with "threading"15:08
ralonsohbut then is called again (and logged this time) with "eventlet"15:08
ralonsohso I don't know if that is privsep calling15:08
ralonsohor other library15:08
hberaud[m]oslo.privsep do not seems to rely on oslo.service https://codesearch.opendev.org/?q=oslo_service&i=nope&literal=nope&files=&excludeFiles=&repos=openstack/oslo.privsep15:10
hberaud[m]oslo.policy neither https://codesearch.opendev.org/?q=oslo_service&i=nope&literal=nope&files=&excludeFiles=&repos=openstack/oslo.policy15:11
gibiralonsoh: you can get some inspiration from my trials here https://review.opendev.org/c/openstack/nova/+/948311/11/nova/monkey_patch.py#102 and below in the series 15:12
ralonsohand I still see that just after every privsep daemon start15:12
damani[m]interesting, right now the backend must be selected explicitly by calling init_backend() before anything else15:12
damani[m]we deliberately avoided using environment variables to prevent side effects and ensure clear initialization15:12
damani[m]but i will think  about how we could safely handle this edge case, maybe with a more controlled fallback15:13
ralonsohgibi, I'm doing that manually in the testing patch, forcing it and removing any call to moneky patch15:13
gibiin nova we have an env variable to disable monkey patching, and now if the monkey patching is disabled then we init the oslo backend to threading15:13
ralonsohthe problem seems to be in other libraries calling it15:13
ralonsohI see this log several times, always after the privsep daemon start15:14
ralonsohone sec15:14
gibiyeah the call needs to be early enough that other libs are not initialized the backend already with the default eventlet15:14
ralonsohhttps://paste.opendev.org/show/boTen8Rl9OpuUTfYklhL/15:14
ralonsohI need to leave right now, sorry15:14
ralonsohIs very late and I need to go for my kid15:15
gibiralonsoh: meeting here too, no worries15:15
damani[m]ralonsoh, i have an idea to fix that 15:15
*** ralonsoh is now known as ralonsoh_out15:15
ralonsoh_outsorry, I'll check the chat later today15:15
gibiralonsoh: you need to track down where you spawn the privsep15:15
damani[m]ralonsoh, we can talk about it tomorrow 15:15
ralonsoh_outsure thanks15:15
hberaud[m]ralonsoh: is eventlet installed in your env? Can you try with a new env free from any eventlet installation, because sometime so patching relies on the presence of eventlet (if eventlet can be or not imported) https://codesearch.opendev.org/?q=eventlet&i=nope&literal=nope&files=&excludeFiles=&repos=openstack/oslo.concurrency15:16
hberaud[m]I wonder if we should not isolate the installation of eventlet into oslo.service, like the installation of cotyledon 15:17
hberaud[m]if I'm right that could have side effects on libs like oslo.concurrency15:18
opendevreviewMerged openstack/oslo.config master: add pyproject.toml to support pip 23.1  https://review.opendev.org/c/openstack/oslo.config/+/94897616:24
opendevreviewStephen Finucane proposed openstack/pbr master: Remove need for setup.cfg if pyproject.toml present  https://review.opendev.org/c/openstack/pbr/+/94904916:30
opendevreviewStephen Finucane proposed openstack/pbr master: docs: Reflect changes to setup.cfg requirement  https://review.opendev.org/c/openstack/pbr/+/94905016:30
opendevreviewStephen Finucane proposed openstack/pbr master: docs: Use code-block for syntax highlighting  https://review.opendev.org/c/openstack/pbr/+/94905116:30
opendevreviewStephen Finucane proposed openstack/pbr master: Deprecate '[entry_points]' section  https://review.opendev.org/c/openstack/pbr/+/94905216:30
opendevreviewStephen Finucane proposed openstack/pbr master: Deprecate '[files]' section  https://review.opendev.org/c/openstack/pbr/+/94905316:30
opendevreviewStephen Finucane proposed openstack/pbr master: Deprecate various '[metadata]' options  https://review.opendev.org/c/openstack/pbr/+/94905416:30
opendevreviewStephen Finucane proposed openstack/pbr master: Deprecate various '[backwards_compat]' options  https://review.opendev.org/c/openstack/pbr/+/94905516:30
amorinThank you hberaud[m] for the highlight, I will certainly need the same for mistral17:05
JayFhttps://review.opendev.org/c/openstack/oslo.log/+/937729 has 1x +2 from Herve, needs to be landed to fix an eventlet bug in oslo.log. If we don't land this soon, itamar's work to fix this bug will timeout (primarily bceause eventlet will be gone)17:21

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