opendevreview | Sam Clippinger proposed openstack/oslo.db master: Allow configurable pre-ping checks https://review.opendev.org/c/openstack/oslo.db/+/948969 | 03:32 |
---|---|---|
opendevreview | Takashi Kajinami proposed openstack/oslo.config master: add pyproject.toml to support pip 23.1 https://review.opendev.org/c/openstack/oslo.config/+/948976 | 04:24 |
opendevreview | Takashi Kajinami proposed openstack/tooz master: add pyproject.toml to support pip 23.1 https://review.opendev.org/c/openstack/tooz/+/948977 | 04:55 |
opendevreview | Merged openstack/taskflow master: Add release note for mask keys https://review.opendev.org/c/openstack/taskflow/+/948853 | 06:43 |
opendevreview | Merged openstack/oslo.middleware master: typing: Fix issue with HealthCheck.app_factory https://review.opendev.org/c/openstack/oslo.middleware/+/948861 | 10:04 |
opendevreview | Daniel Bengtsson proposed openstack/oslo.service master: Add threading backend implementation using cotyledon and standard threads https://review.opendev.org/c/openstack/oslo.service/+/945720 | 11:22 |
opendevreview | Daniel Bengtsson proposed openstack/oslo.service master: Add threading backend implementation using cotyledon and standard threads https://review.opendev.org/c/openstack/oslo.service/+/945720 | 11:41 |
opendevreview | Daniel Bengtsson proposed openstack/oslo.service master: Add threading backend implementation using cotyledon and standard threads https://review.opendev.org/c/openstack/oslo.service/+/945720 | 11:50 |
opendevreview | Felix Huettner proposed openstack/oslo.service master: Fix signal lookup to only include singals. https://review.opendev.org/c/openstack/oslo.service/+/945093 | 11:50 |
opendevreview | Takashi Kajinami proposed openstack/taskflow master: add pyproject.toml to support pip 23.1 https://review.opendev.org/c/openstack/taskflow/+/949028 | 12:36 |
tkajinam | seems we skip the meeting today ? | 13:08 |
hberaud[m] | ¯_(ツ)_/¯ | 13:09 |
tkajinam | damani[m], ^^^ | 13:15 |
ralonsoh | hberaud[m], hello! I have one question about "the patch" | 13:19 |
ralonsoh | https://review.opendev.org/c/openstack/oslo.service/+/945720 | 13:19 |
ralonsoh | I'm checking the setup.cfg file and I see there are two threading_backend | 13:19 |
ralonsoh | sorry, not threading_backend | 13:20 |
ralonsoh | my question: what is the variable to define which one is used? | 13:20 |
tkajinam | from oslo_service import backend as service_backend | 13: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 |
tkajinam | service_backend.init_backend(service_backend.BackendType.THREADING) | 13:34 |
hberaud[m] | ralonsoh: is that answer your question? | 13:34 |
tkajinam | calling these two in very early phase may be needed | 13:34 |
ralonsoh | yeah, sure! | 13:34 |
tkajinam | (and I see hberaud[m] is answering the same) | 13:34 |
ralonsoh | I'll check how to add it in the Neutron code now | 13:35 |
ralonsoh | thanks! | 13:35 |
hberaud[m] | Nice | 13:35 |
hberaud[m] | thanks | 13:35 |
tkajinam | theoretically it can be called at the state where monkey_patch was previously called | 13:35 |
tkajinam | s/the state/the stage/ | 13:35 |
tkajinam | these should be called early enough before any other modules from oslo_service are imported | 13:36 |
tkajinam | that's my understanding | 13:36 |
hberaud[m] | Nova put that in their monkey_patch.py module https://review.opendev.org/c/openstack/nova/+/948311 | 13:36 |
hberaud[m] | I suppose Neutron more or less own the same kind of Eventlet patcher | 13:37 |
hberaud[m] | *own | 13:37 |
hberaud[m] | IMO it should go into neutron/neutron/common/eventlet_utils.py | 13:38 |
hberaud[m] | https://opendev.org/openstack/neutron/src/branch/master/neutron/common/eventlet_utils.py | 13:38 |
tkajinam | IIUC neutron/cmd/eventlet/__init__.py does the trick now for eventlet services | 13:38 |
tkajinam | so that monkey_patch is called during early import phase | 13:39 |
tkajinam | what you can try first is explicitly call the init_backend method at early phase of entry point file | 13:39 |
tkajinam | I mean something like neutron/cmd/agents/metadata.py | 13:39 |
hberaud[m] | it call from neutron.common import eventlet_utils | 13:39 |
hberaud[m] | https://opendev.org/openstack/neutron/src/branch/master/neutron/cmd/eventlet/__init__.py | 13:40 |
tkajinam | yeah but service may not import eventlet_utils when it is migrated to non-eventlet | 13:40 |
tkajinam | I mean it may be moved out from the cmd/eventlet directory | 13:40 |
hberaud[m] | indeed | 13:40 |
tkajinam | so we may need something else. | 13:40 |
tkajinam | but the ideal is similar | 13:41 |
tkajinam | "idea" is similar | 13:41 |
hberaud[m] | you are right | 13:41 |
hberaud[m] | amorin: this discussion might interest you ^ | 13:42 |
stephenfin | tkajinam: https://review.opendev.org/c/openstack/taskflow/+/949028/comment/36b9185f_75df2ece/ jfyi, if you're doing bulk updates | 13:44 |
stephenfin | if it's too much hassle to update them all, I can ignore that and send it through. Up to you | 13:44 |
opendevreview | Takashi Kajinami proposed openstack/taskflow master: add pyproject.toml to support pip 23.1 https://review.opendev.org/c/openstack/taskflow/+/949028 | 13:45 |
opendevreview | Takashi Kajinami proposed openstack/oslo.config master: add pyproject.toml to support pip 23.1 https://review.opendev.org/c/openstack/oslo.config/+/948976 | 13:46 |
opendevreview | Takashi Kajinami proposed openstack/tooz master: add pyproject.toml to support pip 23.1 https://review.opendev.org/c/openstack/tooz/+/948977 | 13:47 |
ralonsoh | hi folks, I'm trying to use the oslo.service patch | 14:43 |
ralonsoh | I'm calling the init_backend at the very beginning of the agent | 14:43 |
ralonsoh | I've also manually changed the default value in DEFAULT_BACKEND_TYPE | 14:43 |
ralonsoh | but I have this | 14:43 |
ralonsoh | https://paste.opendev.org/show/b7slrLKywXdK6Lvl8bNu/ | 14:44 |
ralonsoh | INFO oslo_service.backend [-] Loading backend: eventlet | 14:44 |
ralonsoh | I'm trying to find what is calling this, a second time (the first time is correctly called but not logged) | 14:44 |
ralonsoh | because the logger is still not configured | 14: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 |
ralonsoh | yes | 15:03 |
ralonsoh | in any case, I'm also having some problems with the RPC and the threads processing the L3 agent events | 15:04 |
ralonsoh | so I would need to investigate that too | 15: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_TYPE | 15:06 |
ralonsoh | hberaud[m], I'm doing that too | 15:06 |
hberaud[m] | ack | 15:06 |
damani[m] | once a backend is selected, it’s cached | 15:06 |
ralonsoh | I don't know (I need to check) if that is being called by privsep or any other library | 15:07 |
ralonsoh | I don't know... | 15:07 |
ralonsoh | yes, I see that | 15:07 |
damani[m] | to use the threading backend, the only safe way is to do this before any oslo.service code is imported or used | 15:07 |
hberaud[m] | damani: but apparently, IIUC, Rodolfo overrided the `DEFAULT_BACKEND_TYPE` manually. | 15:07 |
ralonsoh | yes, I'm doing that in the agent first script | 15:08 |
ralonsoh | and I can see this method being called correctly, with "threading" | 15:08 |
ralonsoh | but then is called again (and logged this time) with "eventlet" | 15:08 |
ralonsoh | so I don't know if that is privsep calling | 15:08 |
ralonsoh | or other library | 15: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.privsep | 15:10 |
hberaud[m] | oslo.policy neither https://codesearch.opendev.org/?q=oslo_service&i=nope&literal=nope&files=&excludeFiles=&repos=openstack/oslo.policy | 15:11 |
gibi | ralonsoh: 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 |
ralonsoh | and I still see that just after every privsep daemon start | 15:12 |
damani[m] | interesting, right now the backend must be selected explicitly by calling init_backend() before anything else | 15:12 |
damani[m] | we deliberately avoided using environment variables to prevent side effects and ensure clear initialization | 15:12 |
damani[m] | but i will think about how we could safely handle this edge case, maybe with a more controlled fallback | 15:13 |
ralonsoh | gibi, I'm doing that manually in the testing patch, forcing it and removing any call to moneky patch | 15:13 |
gibi | in 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 threading | 15:13 |
ralonsoh | the problem seems to be in other libraries calling it | 15:13 |
ralonsoh | I see this log several times, always after the privsep daemon start | 15:14 |
ralonsoh | one sec | 15:14 |
gibi | yeah the call needs to be early enough that other libs are not initialized the backend already with the default eventlet | 15:14 |
ralonsoh | https://paste.opendev.org/show/boTen8Rl9OpuUTfYklhL/ | 15:14 |
ralonsoh | I need to leave right now, sorry | 15:14 |
ralonsoh | Is very late and I need to go for my kid | 15:15 |
gibi | ralonsoh: meeting here too, no worries | 15:15 |
damani[m] | ralonsoh, i have an idea to fix that | 15:15 |
*** ralonsoh is now known as ralonsoh_out | 15:15 | |
ralonsoh_out | sorry, I'll check the chat later today | 15:15 |
gibi | ralonsoh: you need to track down where you spawn the privsep | 15:15 |
damani[m] | ralonsoh, we can talk about it tomorrow | 15:15 |
ralonsoh_out | sure thanks | 15: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.concurrency | 15: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.concurrency | 15:18 |
opendevreview | Merged openstack/oslo.config master: add pyproject.toml to support pip 23.1 https://review.opendev.org/c/openstack/oslo.config/+/948976 | 16:24 |
opendevreview | Stephen Finucane proposed openstack/pbr master: Remove need for setup.cfg if pyproject.toml present https://review.opendev.org/c/openstack/pbr/+/949049 | 16:30 |
opendevreview | Stephen Finucane proposed openstack/pbr master: docs: Reflect changes to setup.cfg requirement https://review.opendev.org/c/openstack/pbr/+/949050 | 16:30 |
opendevreview | Stephen Finucane proposed openstack/pbr master: docs: Use code-block for syntax highlighting https://review.opendev.org/c/openstack/pbr/+/949051 | 16:30 |
opendevreview | Stephen Finucane proposed openstack/pbr master: Deprecate '[entry_points]' section https://review.opendev.org/c/openstack/pbr/+/949052 | 16:30 |
opendevreview | Stephen Finucane proposed openstack/pbr master: Deprecate '[files]' section https://review.opendev.org/c/openstack/pbr/+/949053 | 16:30 |
opendevreview | Stephen Finucane proposed openstack/pbr master: Deprecate various '[metadata]' options https://review.opendev.org/c/openstack/pbr/+/949054 | 16:30 |
opendevreview | Stephen Finucane proposed openstack/pbr master: Deprecate various '[backwards_compat]' options https://review.opendev.org/c/openstack/pbr/+/949055 | 16:30 |
amorin | Thank you hberaud[m] for the highlight, I will certainly need the same for mistral | 17:05 |
JayF | https://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/!