)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7cecc2f9b3d7c9ce91c2c32d74a29743b3f1dc47","unresolved":true,"context_lines":[{"line_number":23,"context_line":"[2] https://github.com/openstack/oslo.service/blob/37b90521ea01baa0c8e6412453c42972a28e3b12/oslo_service/backend/_threading/service.py#L296-L300"},{"line_number":24,"context_line":"[3] https://docs.openstack.org/oslo.messaging/latest/reference/transport.html#forking-processes-and-oslo-messaging-transport-objects"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Depends-On: https://review.opendev.org/c/openstack/oslo.service/+/966458"},{"line_number":27,"context_line":"Change-Id: If6daffc25d737f53b1a478d42fd85a0446b09e6d"},{"line_number":28,"context_line":"Signed-off-by: Balazs Gibizer \u003cgibi@redhat.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"51596610_b45577dc","line":26,"updated":"2025-11-12 14:44:15.000000000","message":"we are not co-testing with master oslo libs in all our jobs so this depends-on does not work. We need to wait for the M1 release of oslo.service and bump deps.","commit_id":"e015a43c3c827efbede5563a4fac5583126404ca"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"ac845b14b0d4a9ba7912d20b967a5d83d47df4a9","unresolved":false,"context_lines":[{"line_number":23,"context_line":"[2] https://github.com/openstack/oslo.service/blob/37b90521ea01baa0c8e6412453c42972a28e3b12/oslo_service/backend/_threading/service.py#L296-L300"},{"line_number":24,"context_line":"[3] https://docs.openstack.org/oslo.messaging/latest/reference/transport.html#forking-processes-and-oslo-messaging-transport-objects"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Depends-On: https://review.opendev.org/c/openstack/oslo.service/+/966458"},{"line_number":27,"context_line":"Change-Id: If6daffc25d737f53b1a478d42fd85a0446b09e6d"},{"line_number":28,"context_line":"Signed-off-by: Balazs Gibizer \u003cgibi@redhat.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"89dacd9c_38e5c0ab","line":26,"in_reply_to":"2b391d1b_1a3d6a52","updated":"2025-11-21 14:45:30.000000000","message":"Done","commit_id":"e015a43c3c827efbede5563a4fac5583126404ca"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"1c2b38ebb9052e49218369e22f1dcfa0f0ab4178","unresolved":true,"context_lines":[{"line_number":23,"context_line":"[2] https://github.com/openstack/oslo.service/blob/37b90521ea01baa0c8e6412453c42972a28e3b12/oslo_service/backend/_threading/service.py#L296-L300"},{"line_number":24,"context_line":"[3] https://docs.openstack.org/oslo.messaging/latest/reference/transport.html#forking-processes-and-oslo-messaging-transport-objects"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"Depends-On: https://review.opendev.org/c/openstack/oslo.service/+/966458"},{"line_number":27,"context_line":"Change-Id: If6daffc25d737f53b1a478d42fd85a0446b09e6d"},{"line_number":28,"context_line":"Signed-off-by: Balazs Gibizer \u003cgibi@redhat.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"2b391d1b_1a3d6a52","line":26,"in_reply_to":"51596610_b45577dc","updated":"2025-11-17 08:27:01.000000000","message":"oslo.service 4.4.0 is released but it broke heat. So we expect to have 4.4.1 soon after https://review.opendev.org/c/openstack/oslo.service/+/967218 lands.","commit_id":"e015a43c3c827efbede5563a4fac5583126404ca"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b961ed72901078bf8c3e811ec87ea5c61bde1144","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Ghanshyam Maan \u003cgmaan@ghanshyammann.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2025-12-24 01:37:02 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Do not fork compute workers in native threading mode"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Force running the Compute Service within the main Process with native"},{"line_number":10,"context_line":"threading to keep the baseline behavior."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"c3341464_b11e7917","line":7,"updated":"2026-01-14 12:02:32.000000000","message":"so we dont actully supprot workers for the nova compute agent and never have.\n\nthe worker config option i supported for the conducotr and schduler but it was never supproted for nova-compute.\n\nso nova compute only ever had 1 porcess/thread","commit_id":"0498e2ad76d9a198e10a0418995f76e76486a258"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b961ed72901078bf8c3e811ec87ea5c61bde1144","unresolved":true,"context_lines":[{"line_number":12,"context_line":"In eventlet mode with workers\u003d1 or workers\u003dNone it is oslo.service\u0027s"},{"line_number":13,"context_line":"default behavior[1]. But with native threading we need to explicitly"},{"line_number":14,"context_line":"pass no_fork\u003dTrue to oslo to get this behavior instead of forking a"},{"line_number":15,"context_line":"single worker [2]."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Forking a single worker for compute would also be problematic as compute"},{"line_number":18,"context_line":"initializes the conductor RPC client before such fork and the rabbitmq"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"d8b77f15_fd1b1101","line":15,"updated":"2026-01-14 12:02:32.000000000","message":"ack, ya that makes sense to encode explcitly in that case.\n\nby the way the fact the behvior differs is also a oslo bug but we can work around it.\n\nthe behvior between the backend should be identical\nandy deviation in default behavior is a bug in the threaded version as it was ment to provide exactly the same interface and behvieor as the eventlet veriosn.\n\nthat include the worker behvior.\n\nwe can fix this on the applcaition rathre the lib side but its still a behavior bug in oslo. if it was not for the fact we are workign to delete the eventlet backend we woudl more corerctly fix it in oslo. as it stands it not relly worht the errofrt to fix in oslo imo","commit_id":"0498e2ad76d9a198e10a0418995f76e76486a258"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"b519f1e73b48731f5b1556c68a556ae32c8b8715","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"efc9268e_f2fb6fe5","updated":"2026-01-14 03:11:24.000000000","message":"I agree to continue compute service on same process and using with no_fork option. \n\nThough, for this way (ProcessLauncher with no_fork\u003dTrue), we need some more work on oslo.service side to handle the signal (SIGTERM, SIGALRM etc) (currently it does not have signal handler implemented[1]) but that is the work we need to as part of graceful shutodown work. I am planning that part.\n\n\n[1] https://github.com/openstack/oslo.service/blob/9ca3b4a3e5c3d976ba57205791d250b1ca223ed6/oslo_service/backend/_threading/service.py#L263","commit_id":"0498e2ad76d9a198e10a0418995f76e76486a258"}],"nova/service.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8fc473ccd6194e484a40bd28b649faec6d0aa590","unresolved":true,"context_lines":[{"line_number":327,"context_line":"    if _launcher:"},{"line_number":328,"context_line":"        raise RuntimeError(_(\u0027serve() can only be called once\u0027))"},{"line_number":329,"context_line":""},{"line_number":330,"context_line":"    if utils.concurrency_mode_threading():"},{"line_number":331,"context_line":"        _launcher \u003d service.launch(CONF, server, workers\u003dworkers,"},{"line_number":332,"context_line":"                                   restart_method\u003d\u0027mutate\u0027, no_fork\u003dno_fork)"},{"line_number":333,"context_line":"    else:"},{"line_number":334,"context_line":"        # eventlet oslo.service backend does not support no_fork parameter"},{"line_number":335,"context_line":"        # but actually applies the no_fork logic if worker count is 1"},{"line_number":336,"context_line":"        _launcher \u003d service.launch(CONF, server, workers\u003dworkers,"},{"line_number":337,"context_line":"                                   restart_method\u003d\u0027mutate\u0027)"},{"line_number":338,"context_line":""},{"line_number":339,"context_line":""},{"line_number":340,"context_line":"def wait():"}],"source_content_type":"text/x-python","patch_set":1,"id":"bdeb8b08_6a5c6e0c","line":337,"range":{"start_line":330,"start_character":3,"end_line":337,"end_character":59},"updated":"2025-10-31 10:46:25.000000000","message":"this can just be one function since no_fork is a bool and your passign it true right if we fix the eventlet verion to accpet  no_fork\u003dfalse and treat it as if its unset or perhapsp we can default no_fork to None instead?\n\n```suggestion\n        _launcher \u003d service.launch(CONF, server, workers\u003dworkers,\n                                   restart_method\u003d\u0027mutate\u0027, no_fork\u003dno_fork)\n```","commit_id":"7e9cab4be9509241aa814dfa9251d350a53f880e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"aa6655c55d67659e24364d21ea1ba178af97cee9","unresolved":true,"context_lines":[{"line_number":327,"context_line":"    if _launcher:"},{"line_number":328,"context_line":"        raise RuntimeError(_(\u0027serve() can only be called once\u0027))"},{"line_number":329,"context_line":""},{"line_number":330,"context_line":"    if utils.concurrency_mode_threading():"},{"line_number":331,"context_line":"        _launcher \u003d service.launch(CONF, server, workers\u003dworkers,"},{"line_number":332,"context_line":"                                   restart_method\u003d\u0027mutate\u0027, no_fork\u003dno_fork)"},{"line_number":333,"context_line":"    else:"},{"line_number":334,"context_line":"        # eventlet oslo.service backend does not support no_fork parameter"},{"line_number":335,"context_line":"        # but actually applies the no_fork logic if worker count is 1"},{"line_number":336,"context_line":"        _launcher \u003d service.launch(CONF, server, workers\u003dworkers,"},{"line_number":337,"context_line":"                                   restart_method\u003d\u0027mutate\u0027)"},{"line_number":338,"context_line":""},{"line_number":339,"context_line":""},{"line_number":340,"context_line":"def wait():"}],"source_content_type":"text/x-python","patch_set":1,"id":"a935b50f_73c589b9","line":337,"range":{"start_line":330,"start_character":3,"end_line":337,"end_character":59},"in_reply_to":"284f1db1_617598dd","updated":"2025-11-07 16:18:09.000000000","message":"OK. I started https://review.opendev.org/c/openstack/oslo.service/+/966458 . I will respin this to depend on that fix and simplify the calling of launch here.","commit_id":"7e9cab4be9509241aa814dfa9251d350a53f880e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"1fe5f3d4ce0435a62813ffa48f43a6e8b474d213","unresolved":false,"context_lines":[{"line_number":327,"context_line":"    if _launcher:"},{"line_number":328,"context_line":"        raise RuntimeError(_(\u0027serve() can only be called once\u0027))"},{"line_number":329,"context_line":""},{"line_number":330,"context_line":"    if utils.concurrency_mode_threading():"},{"line_number":331,"context_line":"        _launcher \u003d service.launch(CONF, server, workers\u003dworkers,"},{"line_number":332,"context_line":"                                   restart_method\u003d\u0027mutate\u0027, no_fork\u003dno_fork)"},{"line_number":333,"context_line":"    else:"},{"line_number":334,"context_line":"        # eventlet oslo.service backend does not support no_fork parameter"},{"line_number":335,"context_line":"        # but actually applies the no_fork logic if worker count is 1"},{"line_number":336,"context_line":"        _launcher \u003d service.launch(CONF, server, workers\u003dworkers,"},{"line_number":337,"context_line":"                                   restart_method\u003d\u0027mutate\u0027)"},{"line_number":338,"context_line":""},{"line_number":339,"context_line":""},{"line_number":340,"context_line":"def wait():"}],"source_content_type":"text/x-python","patch_set":1,"id":"af54eaa5_802529fe","line":337,"range":{"start_line":330,"start_character":3,"end_line":337,"end_character":59},"in_reply_to":"a935b50f_73c589b9","updated":"2025-11-10 13:29:21.000000000","message":"I\u0027ve added depends-on to the oslo.service fix and based on that I simplified this nova change.","commit_id":"7e9cab4be9509241aa814dfa9251d350a53f880e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"6717dcfe01548d1ad097bc934052ec372c29bf56","unresolved":true,"context_lines":[{"line_number":327,"context_line":"    if _launcher:"},{"line_number":328,"context_line":"        raise RuntimeError(_(\u0027serve() can only be called once\u0027))"},{"line_number":329,"context_line":""},{"line_number":330,"context_line":"    if utils.concurrency_mode_threading():"},{"line_number":331,"context_line":"        _launcher \u003d service.launch(CONF, server, workers\u003dworkers,"},{"line_number":332,"context_line":"                                   restart_method\u003d\u0027mutate\u0027, no_fork\u003dno_fork)"},{"line_number":333,"context_line":"    else:"},{"line_number":334,"context_line":"        # eventlet oslo.service backend does not support no_fork parameter"},{"line_number":335,"context_line":"        # but actually applies the no_fork logic if worker count is 1"},{"line_number":336,"context_line":"        _launcher \u003d service.launch(CONF, server, workers\u003dworkers,"},{"line_number":337,"context_line":"                                   restart_method\u003d\u0027mutate\u0027)"},{"line_number":338,"context_line":""},{"line_number":339,"context_line":""},{"line_number":340,"context_line":"def wait():"}],"source_content_type":"text/x-python","patch_set":1,"id":"f561c74d_23598dc5","line":337,"range":{"start_line":330,"start_character":3,"end_line":337,"end_character":59},"in_reply_to":"bdeb8b08_6a5c6e0c","updated":"2025-10-31 12:07:24.000000000","message":"I cannot pass no_fork arg to oslo.service when it is using the eventlet backend and that launch() function does not accept such arg.","commit_id":"7e9cab4be9509241aa814dfa9251d350a53f880e"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"cd173f4ae8cacd9e874fb96828627032ea38f31a","unresolved":true,"context_lines":[{"line_number":327,"context_line":"    if _launcher:"},{"line_number":328,"context_line":"        raise RuntimeError(_(\u0027serve() can only be called once\u0027))"},{"line_number":329,"context_line":""},{"line_number":330,"context_line":"    if utils.concurrency_mode_threading():"},{"line_number":331,"context_line":"        _launcher \u003d service.launch(CONF, server, workers\u003dworkers,"},{"line_number":332,"context_line":"                                   restart_method\u003d\u0027mutate\u0027, no_fork\u003dno_fork)"},{"line_number":333,"context_line":"    else:"},{"line_number":334,"context_line":"        # eventlet oslo.service backend does not support no_fork parameter"},{"line_number":335,"context_line":"        # but actually applies the no_fork logic if worker count is 1"},{"line_number":336,"context_line":"        _launcher \u003d service.launch(CONF, server, workers\u003dworkers,"},{"line_number":337,"context_line":"                                   restart_method\u003d\u0027mutate\u0027)"},{"line_number":338,"context_line":""},{"line_number":339,"context_line":""},{"line_number":340,"context_line":"def wait():"}],"source_content_type":"text/x-python","patch_set":1,"id":"284f1db1_617598dd","line":337,"range":{"start_line":330,"start_character":3,"end_line":337,"end_character":59},"in_reply_to":"f561c74d_23598dc5","updated":"2025-10-31 12:17:21.000000000","message":"right but we could fix that in oslo right and simplify this in the future?\n\nthe are emtn to be provideing a stable common api between both so there shoudl not be any args that are accceted by one backend but not the other today.\n\nim fine with this for now but it feels like something that shoudl be fixed in oslo.","commit_id":"7e9cab4be9509241aa814dfa9251d350a53f880e"}]}
