)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"0e7fd0e7cd2102b18d73dcb621eb8fa289bab4df","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Ian Watson \u003cianwatson92@hotmail.co.uk\u003e"},{"line_number":5,"context_line":"CommitDate: 2025-07-23 12:53:58 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Changing how placement updates are trigger by seeing if a full reshape has occured and whether any changes to the provider tree has taken place. Closes-Bug: #2117701"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ifa64e02eec8c4f08258450e39844e548b5c78e34"},{"line_number":10,"context_line":"Signed-off-by: Ian Watson \u003cianwatson92@hotmail.co.uk\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"b5dbd169_4e14d32c","line":7,"updated":"2025-07-23 13:57:16.000000000","message":"Please also take a moment to read https://wiki.openstack.org/wiki/GitCommitMessages#Summary_of_Git_commit_message_structure and update the commit message structure accordingly.\n\nAlso it\u0027s considered to be a best practice to explain why we need this change, instead of how code is changed actually.","commit_id":"b07a020a8093c0fddfbe727a12c703de62f7706e"},{"author":{"_account_id":38234,"name":"Ian Watson","display_name":"Ian Watson","email":"ianwatson92@hotmail.co.uk","username":"ianwatsonit"},"change_message_id":"07d324dd7ad6216a46f589683b86d63a7deeff58","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Ian Watson \u003cianwatson92@hotmail.co.uk\u003e"},{"line_number":5,"context_line":"CommitDate: 2025-07-23 12:53:58 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Changing how placement updates are trigger by seeing if a full reshape has occured and whether any changes to the provider tree has taken place. Closes-Bug: #2117701"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ifa64e02eec8c4f08258450e39844e548b5c78e34"},{"line_number":10,"context_line":"Signed-off-by: Ian Watson \u003cianwatson92@hotmail.co.uk\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"498fad6f_9278336b","line":7,"in_reply_to":"b5dbd169_4e14d32c","updated":"2025-07-30 15:21:15.000000000","message":"Done","commit_id":"b07a020a8093c0fddfbe727a12c703de62f7706e"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":38234,"name":"Ian Watson","display_name":"Ian Watson","email":"ianwatson92@hotmail.co.uk","username":"ianwatsonit"},"change_message_id":"07d324dd7ad6216a46f589683b86d63a7deeff58","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"002ae26d_3c925d4e","updated":"2025-07-30 15:21:15.000000000","message":"recheck","commit_id":"64d53ae42d86cb4c704d50d8f3b881bf31962fa0"}],"nova/compute/resource_tracker.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1c84a7c68b5083fcd501b5f5ecb446a2dbe0cf30","unresolved":true,"context_lines":[{"line_number":1314,"context_line":"        allocs \u003d self.reportclient.get_allocations_for_provider_tree("},{"line_number":1315,"context_line":"            context, nodename)"},{"line_number":1316,"context_line":"        driver_reshaped \u003d False"},{"line_number":1317,"context_line":"        node_updated \u003d False"},{"line_number":1318,"context_line":"        try:"},{"line_number":1319,"context_line":"            node_updated \u003d self.driver.update_provider_tree("},{"line_number":1320,"context_line":"                prov_tree, nodename)"}],"source_content_type":"text/x-python","patch_set":4,"id":"1b186ba9_6f759fa3","line":1317,"updated":"2025-09-22 10:09:43.000000000","message":"Could you add a comment here explaining why we\u0027re storing this (for future reviewers of this code).","commit_id":"64d53ae42d86cb4c704d50d8f3b881bf31962fa0"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1c84a7c68b5083fcd501b5f5ecb446a2dbe0cf30","unresolved":true,"context_lines":[{"line_number":1316,"context_line":"        driver_reshaped \u003d False"},{"line_number":1317,"context_line":"        node_updated \u003d False"},{"line_number":1318,"context_line":"        try:"},{"line_number":1319,"context_line":"            node_updated \u003d self.driver.update_provider_tree("},{"line_number":1320,"context_line":"                prov_tree, nodename)"},{"line_number":1321,"context_line":"        except exception.ReshapeNeeded:"},{"line_number":1322,"context_line":"            if not startup:"}],"source_content_type":"text/x-python","patch_set":4,"id":"ea640ad4_6b4198c4","line":1319,"updated":"2025-09-22 10:09:43.000000000","message":"I\u0027ve left a note on the ironic virt driver file, but I\u0027m not a fan of this returning either a boolean or None. I\u0027d much rather we thought about this and always returned a boolean.","commit_id":"64d53ae42d86cb4c704d50d8f3b881bf31962fa0"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1c84a7c68b5083fcd501b5f5ecb446a2dbe0cf30","unresolved":true,"context_lines":[{"line_number":1389,"context_line":"            # update_provider_tree_for_pci did reshape, then we need to pass"},{"line_number":1390,"context_line":"            # allocs to update_from_provider_tree to hit placement\u0027s POST"},{"line_number":1391,"context_line":"            # /reshaper route."},{"line_number":1392,"context_line":"            if driver_reshaped or node_updated is None:"},{"line_number":1393,"context_line":"                self.reportclient.update_from_provider_tree("},{"line_number":1394,"context_line":"                    context,"},{"line_number":1395,"context_line":"                    prov_tree,"},{"line_number":1396,"context_line":"                    allocations\u003d("},{"line_number":1397,"context_line":"                        allocs if driver_reshaped or pci_reshaped"},{"line_number":1398,"context_line":"                        else None"},{"line_number":1399,"context_line":"                    )"},{"line_number":1400,"context_line":"                )"},{"line_number":1401,"context_line":"            elif node_updated:"},{"line_number":1402,"context_line":"                self.reportclient.update_from_provider_tree("},{"line_number":1403,"context_line":"                    context,"},{"line_number":1404,"context_line":"                    prov_tree,"},{"line_number":1405,"context_line":"                    allocations\u003d("},{"line_number":1406,"context_line":"                        allocs if driver_reshaped or pci_reshaped"},{"line_number":1407,"context_line":"                        else None"},{"line_number":1408,"context_line":"                    ),"},{"line_number":1409,"context_line":"                    nodename\u003dnodename"},{"line_number":1410,"context_line":"                )"},{"line_number":1411,"context_line":"        except exception.InventoryInUse as e:"},{"line_number":1412,"context_line":"            # This means an inventory reconfiguration (e.g.: removing a parent"},{"line_number":1413,"context_line":"            # PF and adding a VF under that parent) was not possible due to"}],"source_content_type":"text/x-python","patch_set":4,"id":"40365ea2_02e065cf","line":1410,"range":{"start_line":1392,"start_character":0,"end_line":1410,"end_character":17},"updated":"2025-09-22 10:09:43.000000000","message":"nit:\n\n```suggestion\n            if driver_reshaped or node_updated:\n                self.reportclient.update_from_provider_tree(\n                    context,\n                    prov_tree,\n                    allocations\u003d(\n                        allocs if driver_reshaped or pci_reshaped\n                        else None\n                    ),\n                    nodename\u003dnodename if node_updated else None,\n                )\n```","commit_id":"64d53ae42d86cb4c704d50d8f3b881bf31962fa0"}],"nova/virt/ironic/driver.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1c84a7c68b5083fcd501b5f5ecb446a2dbe0cf30","unresolved":true,"context_lines":[{"line_number":911,"context_line":"            allocations."},{"line_number":912,"context_line":"        :raises ReshapeNeeded: If allocations is None and any inventory needs"},{"line_number":913,"context_line":"            to be moved from one provider to another and/or to a different"},{"line_number":914,"context_line":"            resource class."},{"line_number":915,"context_line":"        \"\"\""},{"line_number":916,"context_line":"        # nodename is the ironic node\u0027s UUID."},{"line_number":917,"context_line":"        node \u003d self._node_from_cache(nodename)"}],"source_content_type":"text/x-python","patch_set":4,"id":"d52dae10_f00e3ba6","line":914,"updated":"2025-09-22 10:09:43.000000000","message":"You need to update the docstrings for this method (and the other virt driver methods) to indicate that there is a return value now. I\u0027d also update those methods to return a value (or explicitly add `return False` where it doesn\u0027t make sense) so we\u0027re not muddling types.","commit_id":"64d53ae42d86cb4c704d50d8f3b881bf31962fa0"}]}
