)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"bc91f18f1d72a729905be31b1bd5deec59fa95db","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Sean Mooney \u003cwork@seanmooney.info\u003e"},{"line_number":5,"context_line":"CommitDate: 2026-03-16 10:35:52 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[WIP] perf(compute): parallelise per-node update_available_resource loop (B2)"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The update_available_resource periodic task iterates all managed nodes"},{"line_number":10,"context_line":"serially.  For the Ironic driver with N\u003d1000 nodes and ~2 s per node"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"e452a2ac_fc30c683","line":7,"range":{"start_line":7,"start_character":20,"end_line":7,"end_character":72},"updated":"2026-03-23 17:58:03.000000000","message":"ignoring the deepcopy patch this is really the one i think that would add the most value.\n\nmainly because it will give operators a way to tune this based on the scale they operate at.\n\nif they are at small sacle the can stay with the defautl of worker thread if they see this perodic is takign minutes they can tweak it and make the memory/cpu cost tradefoff themselves.","commit_id":"82a836f74430d217ca05df41795bceee86a8517a"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2f3d3ca7bc479274abfe5a512d5287c1823a0dc0","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Sean Mooney \u003cwork@seanmooney.info\u003e"},{"line_number":5,"context_line":"CommitDate: 2026-03-16 10:35:52 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"[WIP] perf(compute): parallelise per-node update_available_resource loop (B2)"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The update_available_resource periodic task iterates all managed nodes"},{"line_number":10,"context_line":"serially.  For the Ironic driver with N\u003d1000 nodes and ~2 s per node"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9b4107b5_3e4f0824","line":7,"range":{"start_line":7,"start_character":20,"end_line":7,"end_character":72},"in_reply_to":"e452a2ac_fc30c683","updated":"2026-07-06 12:39:26.000000000","message":"Acknowledged","commit_id":"82a836f74430d217ca05df41795bceee86a8517a"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"bc91f18f1d72a729905be31b1bd5deec59fa95db","unresolved":true,"context_lines":[{"line_number":7,"context_line":"[WIP] perf(compute): parallelise per-node update_available_resource loop (B2)"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The update_available_resource periodic task iterates all managed nodes"},{"line_number":10,"context_line":"serially.  For the Ironic driver with N\u003d1000 nodes and ~2 s per node"},{"line_number":11,"context_line":"this takes ~33 minutes — nearly the entire periodic interval."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Add [compute] update_resources_max_workers (default 1) which creates a"},{"line_number":14,"context_line":"futurist thread-pool executor and fans out per-node updates through"},{"line_number":15,"context_line":"nova.utils.spawn_on().  When the option is 1 (default) the original"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"cf76d385_4a81a829","line":12,"range":{"start_line":10,"start_character":10,"end_line":12,"end_character":1},"updated":"2026-03-23 17:58:03.000000000","message":"actully the default for the peroc is 5 minutes but ironic deployment obviously do not use the default.","commit_id":"82a836f74430d217ca05df41795bceee86a8517a"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2f3d3ca7bc479274abfe5a512d5287c1823a0dc0","unresolved":false,"context_lines":[{"line_number":7,"context_line":"[WIP] perf(compute): parallelise per-node update_available_resource loop (B2)"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The update_available_resource periodic task iterates all managed nodes"},{"line_number":10,"context_line":"serially.  For the Ironic driver with N\u003d1000 nodes and ~2 s per node"},{"line_number":11,"context_line":"this takes ~33 minutes — nearly the entire periodic interval."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Add [compute] update_resources_max_workers (default 1) which creates a"},{"line_number":14,"context_line":"futurist thread-pool executor and fans out per-node updates through"},{"line_number":15,"context_line":"nova.utils.spawn_on().  When the option is 1 (default) the original"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"b7d061cd_8f83c576","line":12,"range":{"start_line":10,"start_character":10,"end_line":12,"end_character":1},"in_reply_to":"cf76d385_4a81a829","updated":"2026-07-06 12:39:26.000000000","message":"Acknowledged","commit_id":"82a836f74430d217ca05df41795bceee86a8517a"}],"nova/compute/manager.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"63fcbed3d1b65faa61049c35ebaa83cffac348a3","unresolved":false,"context_lines":[{"line_number":11505,"context_line":"                    \"re-raising the first failure from node %(node)s.\","},{"line_number":11506,"context_line":"                    {\u0027count\u0027: len(failed_nodes), \u0027node\u0027: failed_nodes[0]})"},{"line_number":11507,"context_line":"                exc \u003d first_exc_info[1]"},{"line_number":11508,"context_line":"                raise exc.with_traceback(first_exc_info[2])"},{"line_number":11509,"context_line":"        else:"},{"line_number":11510,"context_line":"            for nodename in nodenames:"},{"line_number":11511,"context_line":"                self._update_available_resource_for_node(context, nodename,"}],"source_content_type":"text/x-python","patch_set":2,"id":"6c910c6d_1e947395","line":11508,"updated":"2026-07-06 12:07:48.000000000","message":"pep8: error: Item \"None\" of \"BaseException | None\" has no attribute \"with_traceback\"  [union-attr]","commit_id":"82427231e66fbb9c78d343486386cc0a1c0eaa4b"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2f3d3ca7bc479274abfe5a512d5287c1823a0dc0","unresolved":true,"context_lines":[{"line_number":11505,"context_line":"                    \"re-raising the first failure from node %(node)s.\","},{"line_number":11506,"context_line":"                    {\u0027count\u0027: len(failed_nodes), \u0027node\u0027: failed_nodes[0]})"},{"line_number":11507,"context_line":"                exc \u003d first_exc_info[1]"},{"line_number":11508,"context_line":"                raise exc.with_traceback(first_exc_info[2])"},{"line_number":11509,"context_line":"        else:"},{"line_number":11510,"context_line":"            for nodename in nodenames:"},{"line_number":11511,"context_line":"                self._update_available_resource_for_node(context, nodename,"}],"source_content_type":"text/x-python","patch_set":2,"id":"057c1916_8ef284cd","line":11508,"in_reply_to":"6c910c6d_1e947395","updated":"2026-07-06 12:39:26.000000000","message":"hum you know what let me just simpfy this\n\nwe dont need to use sys.exc_info abov ewe can just save and rerais the exepction","commit_id":"82427231e66fbb9c78d343486386cc0a1c0eaa4b"}]}
