)]}'
{"ironic/conductor/manager.py":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"d2b11141f81453678f56adf98081deee1e69df25","unresolved":true,"context_lines":[{"line_number":3992,"context_line":"            LOG.error(\u0027Error in deferred action launcher: %s\u0027,"},{"line_number":3993,"context_line":"                      e)"},{"line_number":3994,"context_line":""},{"line_number":3995,"context_line":"    def _do_launch_deferred_actions(self, context):"},{"line_number":3996,"context_line":"        self._deferred_action_iteration +\u003d 1"},{"line_number":3997,"context_line":""},{"line_number":3998,"context_line":"        # Calculate how many deferred action workers we can"}],"source_content_type":"text/x-python","patch_set":1,"id":"dc56ab6c_ce7c59a1","line":3995,"updated":"2026-06-25 18:23:14.000000000","message":"nit: it would be nice if there was a docstring here...","commit_id":"609015ea4553794ee41ccfb545bd932533c4a48b"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"d2b11141f81453678f56adf98081deee1e69df25","unresolved":true,"context_lines":[{"line_number":4063,"context_line":"        Loads the action, acquires the node lock, resolves"},{"line_number":4064,"context_line":"        the call path, invokes it, and handles the outcome."},{"line_number":4065,"context_line":"        \"\"\""},{"line_number":4066,"context_line":"        from ironic.objects import deferred_action"},{"line_number":4067,"context_line":""},{"line_number":4068,"context_line":"        action \u003d deferred_action.DeferredAction.get_by_id("},{"line_number":4069,"context_line":"            context, action_id)"}],"source_content_type":"text/x-python","patch_set":1,"id":"88117d54_4dcb01b6","line":4066,"updated":"2026-06-25 18:23:14.000000000","message":"Imports must be at the start of the file in the existing standard.","commit_id":"609015ea4553794ee41ccfb545bd932533c4a48b"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"d2b11141f81453678f56adf98081deee1e69df25","unresolved":true,"context_lines":[{"line_number":4083,"context_line":"                \u0027action as failed.\u0027,"},{"line_number":4084,"context_line":"                {\u0027node\u0027: node_uuid,"},{"line_number":4085,"context_line":"                 \u0027action\u0027: action.uuid})"},{"line_number":4086,"context_line":"            action.state \u003d states.DEFERREDFAILED"},{"line_number":4087,"context_line":"            action.result \u003d \u0027Node not found\u0027"},{"line_number":4088,"context_line":"            action.save()"},{"line_number":4089,"context_line":"        except exception.NodeLocked:"}],"source_content_type":"text/x-python","patch_set":1,"id":"bb8794c6_12416135","line":4086,"updated":"2026-06-25 18:23:14.000000000","message":"So to end up in this case, the node was deleted sometime between the deferred task was created and being executed upon. That doesn\u0027t seem like a failure really, but we do likely just need to let it go. Minimally: add an inline note for reviewers to understand. Possibly we out to consider this a success, but I\u0027d prefer to let code reviewers reach consensus and it would be good to call out in the code to let future folks to understand that this is also a case where \"this is okay, we just need to handle it properly.","commit_id":"609015ea4553794ee41ccfb545bd932533c4a48b"}]}
