Monday, 2025-06-09

oschwarthey folks o/ do you know how can I modify some lines in oslo.messaging on devstack and then see the changes on designate?09:36
oschwartI tried adding some log prints and creating/using a virtual environment (/opt/stack/data/venv)09:37
oschwartI ran `pip install -e .` and restarted the designate services09:37
oschwartbut I didn't see my log prints when I ran journalctl -u "devstack@designate*" | rg 'OSLO_MESSAGING_CHECK'09:37
tkajinamoschwart, I wonder if people in #openstack-qa have a better idea10:26
tkajinamIt has been a while since I looked into devstack env, and a lot has been changed (mainly due to global venv change) since then so I'm not quite familiar with recent devstack tbvh,10:27
oschwartthanks tkajinam, I will try debugging a little more and if I won't find it I will write there10:40
ralonsohdamani[m], hberaud[m] hello folks. I'm having some issues with https://github.com/openstack/neutron/blob/master/neutron/service.py#L310-L313. In a nutshell: we create several workers, different all of them, and then we call launch_service()14:26
ralonsohbut it seems now that this call can be done once per process14:26
ralonsohhttps://paste.opendev.org/show/bkxcZXwNjp12r6YDecCI/14:26
ralonsohso I would prefer not to change how we spawn the services (I mean, not to create one process per worker type). Is there an alternative implementation?14:27
ralonsohmore context: this is the Neutron API periodic process. Any service plugin, extension or whatever can create a PeriodicWorker (https://github.com/openstack/neutron/blob/master/neutron/worker.py#L33). This process will collect all of them and spawn them14:29
damani[m]ralonsoh, you're right, i will do a patch to fix that 14:34
ralonsohdamani[m], thanks! add me to the review  list14:35
ralonsohdamani[m], hello. I need to leave just now. I've seen this: https://paste.opendev.org/show/bMAHVkOuXb1Dp6Szk635/15:18
ralonsohdo you want me to report a bug? just to document it15:18
ralonsohhttps://bugs.launchpad.net/oslo.service/+bug/211377515:20
itamarsthello, I am trying to figure out what it takes to make oslo.service not use fork() because fork() is fundamentally broken15:48
itamarst(and getting eventlet to support fork() in Python 3.13 is going to be a pain)15:49
itamarst("support", I should say, cause fork() is fundamentally broken so you can't really support it)15:49
itamarstit looks like there's a newly added thread pool based implementation - to what extent is this a sufficient replacement for using subprocesses?15:50
itamarstif the thread pool is not sufficient for all use cases, I suspect it's possible to make a process pool that doesn't rely on fork(), e.g. there's cloudpickle that is much better at pickling arbitrary objects than Python's built-in pickle16:13
itamarst(fork() is fundamentally broken any time you use a thread before the fork() happens, which is very easy to do by accident, and then you get deadlocks, memory corruption, and other fun stuff, it's really not a thing one should rely on, ever)16:14

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