)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"95fe0100e2fd07850cc9d8b878024e9288b517f6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"39297a83_d0753c07","updated":"2025-07-04 10:33:39.000000000","message":"I expected a much larger patch! Kudos for figuring this out.","commit_id":"276937a571fec42471a657283cb89c4f1d73e41f"}],"ironic/conductor/base_manager.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"95fe0100e2fd07850cc9d8b878024e9288b517f6","unresolved":true,"context_lines":[{"line_number":213,"context_line":"        self._periodic_tasks_worker.add_done_callback("},{"line_number":214,"context_line":"            self._on_periodic_tasks_stop)"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"        # Correct stuck states"},{"line_number":217,"context_line":"        self._correct_stuck_states()"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"        # Start consoles if it set enabled in a greenthread."}],"source_content_type":"text/x-python","patch_set":1,"id":"0b4102b8_2a2c1a38","line":216,"updated":"2025-07-04 10:33:39.000000000","message":"A bit redundant, this comment :)","commit_id":"276937a571fec42471a657283cb89c4f1d73e41f"}],"ironic/tests/unit/conductor/mgr_utils.py":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"95fe0100e2fd07850cc9d8b878024e9288b517f6","unresolved":true,"context_lines":[{"line_number":213,"context_line":"            with mock.patch.object(periodics, \u0027PeriodicWorker\u0027, autospec\u003dTrue):"},{"line_number":214,"context_line":"                self.service._collect_periodic_tasks(None)"},{"line_number":215,"context_line":"                if start_allocations:"},{"line_number":216,"context_line":"                    self.service._spawn_worker("},{"line_number":217,"context_line":"                        self.service._resume_allocations, None)"},{"line_number":218,"context_line":"        else:"},{"line_number":219,"context_line":"            self.service._collect_periodic_tasks(None)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ca88bb5f_7067ad02","line":216,"updated":"2025-07-04 10:33:39.000000000","message":"Given SynchronousExecutor, you can just call _resume_allocations directly here","commit_id":"276937a571fec42471a657283cb89c4f1d73e41f"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"95fe0100e2fd07850cc9d8b878024e9288b517f6","unresolved":true,"context_lines":[{"line_number":221,"context_line":"        # Misc expectations."},{"line_number":222,"context_line":"        self.service._keepalive_evt \u003d threading.Event()"},{"line_number":223,"context_line":""},{"line_number":224,"context_line":"        # Ideally, we should move this to the tests which need it."},{"line_number":225,"context_line":"        if CONF.conductor.enable_mdns:"},{"line_number":226,"context_line":"            self.service._publish_endpoint()"},{"line_number":227,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"27918b8b_ffa3674a","line":224,"updated":"2025-07-04 10:33:39.000000000","message":"++\n\nI\u0027m not even sure it\u0027s a good idea to call this unmocked","commit_id":"276937a571fec42471a657283cb89c4f1d73e41f"}]}
