)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"0480d8e4cee48fce8b5bb6971974d7dbdc92dad3","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 13:09:06 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Adding a new method migrations_supported and using method to determine whether or not to issue get migrations api calls as part of resource tracker. Closes-Bug: #2117708"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I4184c101481351e7d1c04d8b661b4d6be6af8677"},{"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":"0281e852_7f182099","line":7,"updated":"2025-07-23 13:56:03.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.","commit_id":"58cf0f38abfce6b0a536f039d4cf481ae02fdf38"},{"author":{"_account_id":38234,"name":"Ian Watson","display_name":"Ian Watson","email":"ianwatson92@hotmail.co.uk","username":"ianwatsonit"},"change_message_id":"b59b4db1b6a927d9570c8c529e26bcd9dd845ea4","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 13:09:06 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Adding a new method migrations_supported and using method to determine whether or not to issue get migrations api calls as part of resource tracker. Closes-Bug: #2117708"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I4184c101481351e7d1c04d8b661b4d6be6af8677"},{"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":"c3d303b5_b4c91778","line":7,"in_reply_to":"0281e852_7f182099","updated":"2025-08-06 14:10:47.000000000","message":"Done","commit_id":"58cf0f38abfce6b0a536f039d4cf481ae02fdf38"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"59fff513860d175d1b87821fda9cef55c3279466","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-30 11:30:13 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add migrations_supported methed for resource tracker"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"A new method migrations_supported is created for use in resource tracker"},{"line_number":10,"context_line":"defaulting to raising NotImplementedError. Allows drivers to implement"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"cb7e0809_61c60e76","line":7,"range":{"start_line":7,"start_character":1,"end_line":7,"end_character":52},"updated":"2025-07-30 10:43:28.000000000","message":"`methed` should be `method` \n\nbut you also change how this work now to not add one\n\ncan you rewirte the commit message to refect what this change is now doing.","commit_id":"a493b475a8195c6c608b3e49de96870618ba728d"},{"author":{"_account_id":38234,"name":"Ian Watson","display_name":"Ian Watson","email":"ianwatson92@hotmail.co.uk","username":"ianwatsonit"},"change_message_id":"b59b4db1b6a927d9570c8c529e26bcd9dd845ea4","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-30 11:30:13 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add migrations_supported methed for resource tracker"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"A new method migrations_supported is created for use in resource tracker"},{"line_number":10,"context_line":"defaulting to raising NotImplementedError. Allows drivers to implement"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"3956d30b_7ab165e5","line":7,"range":{"start_line":7,"start_character":1,"end_line":7,"end_character":52},"in_reply_to":"cb7e0809_61c60e76","updated":"2025-08-06 14:10:47.000000000","message":"Done","commit_id":"a493b475a8195c6c608b3e49de96870618ba728d"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"change_message_id":"ac703732f0d293e6f7a654c5cf1947018142189c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"0f0486c4_01464df8","updated":"2025-08-05 14:31:09.000000000","message":"Just a minor nit, otherwise LGTM.","commit_id":"5c8194a375b8f6e4e5b321a8cb0f25b1aebc0f78"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"e65913e381599b7cee26d560d23982c11b13c839","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"31ca9846_4a5046f2","updated":"2025-11-18 09:33:47.000000000","message":"FWIW, I think this is a sound bug fix, without a spec, because ironic doesn\u0027t do migraitons.\n\nFor extra context, this is especially true with RabbitMQ quorum queues.","commit_id":"c4faee0b1d207bc5dd73831ee4fcf095ccb2b6b7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e40852122083c2e8b5fc7e435a14cdcb4d46b5a0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"c3bea75f_4ee6a6f5","updated":"2025-09-17 10:14:58.000000000","message":"Idea seems sound. I suspect this _might_ require a very small spec, just to make sure we\u0027re not missing something obvious. Would be interested to know what @gibizer@gmail.com and @smooney@redhat.com think...","commit_id":"c4faee0b1d207bc5dd73831ee4fcf095ccb2b6b7"},{"author":{"_account_id":38234,"name":"Ian Watson","display_name":"Ian Watson","email":"ianwatson92@hotmail.co.uk","username":"ianwatsonit"},"change_message_id":"9dc6522cd00a44ab7dfdb579a4cbebc0b40f1f7e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"28183d4b_61418389","updated":"2025-08-07 09:55:49.000000000","message":"recheck","commit_id":"c4faee0b1d207bc5dd73831ee4fcf095ccb2b6b7"},{"author":{"_account_id":38234,"name":"Ian Watson","display_name":"Ian Watson","email":"ianwatson92@hotmail.co.uk","username":"ianwatsonit"},"change_message_id":"c9fa12ee677f30affcfc77758cf936af04d96f03","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"ca423c9d_0776a4be","updated":"2025-08-11 08:29:19.000000000","message":"recheck","commit_id":"c4faee0b1d207bc5dd73831ee4fcf095ccb2b6b7"}],"nova/compute/manager.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"59fff513860d175d1b87821fda9cef55c3279466","unresolved":true,"context_lines":[{"line_number":11352,"context_line":"                            \"Failed to delete compute node resource provider \""},{"line_number":11353,"context_line":"                            \"for compute node %s: %s\", cn.uuid, str(e))"},{"line_number":11354,"context_line":"        support_migrations \u003d self.driver.capabilities.get("},{"line_number":11355,"context_line":"            \u0027supports_migrations\u0027, True)"},{"line_number":11356,"context_line":""},{"line_number":11357,"context_line":"        for nodename in nodenames:"},{"line_number":11358,"context_line":"            self._update_available_resource_for_node(context, nodename,"}],"source_content_type":"text/x-python","patch_set":6,"id":"6bc7fd1b_41a16105","line":11355,"updated":"2025-07-30 10:43:28.000000000","message":"while this is working you shoudl expelcity update \n\nhttps://github.com/openstack/nova/blob/master/nova/virt/driver.py#L277-L317","commit_id":"a493b475a8195c6c608b3e49de96870618ba728d"},{"author":{"_account_id":38234,"name":"Ian Watson","display_name":"Ian Watson","email":"ianwatson92@hotmail.co.uk","username":"ianwatsonit"},"change_message_id":"03d7783eb85651abee1eb104ae711558ae400a93","unresolved":false,"context_lines":[{"line_number":11352,"context_line":"                            \"Failed to delete compute node resource provider \""},{"line_number":11353,"context_line":"                            \"for compute node %s: %s\", cn.uuid, str(e))"},{"line_number":11354,"context_line":"        support_migrations \u003d self.driver.capabilities.get("},{"line_number":11355,"context_line":"            \u0027supports_migrations\u0027, True)"},{"line_number":11356,"context_line":""},{"line_number":11357,"context_line":"        for nodename in nodenames:"},{"line_number":11358,"context_line":"            self._update_available_resource_for_node(context, nodename,"}],"source_content_type":"text/x-python","patch_set":6,"id":"8c6c1d35_34556463","line":11355,"in_reply_to":"6bc7fd1b_41a16105","updated":"2025-08-13 13:31:31.000000000","message":"Done","commit_id":"a493b475a8195c6c608b3e49de96870618ba728d"}],"nova/compute/resource_tracker.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7dceaa57670f56d6f942de2dbd6ff927c9e1bdc8","unresolved":true,"context_lines":[{"line_number":1026,"context_line":"                            \u0027flavor\u0027, \u0027migration_context\u0027,"},{"line_number":1027,"context_line":"                            \u0027resources\u0027])"},{"line_number":1028,"context_line":""},{"line_number":1029,"context_line":"        if support_migrations:"},{"line_number":1030,"context_line":"            # Grab all in-progress migrations and error migrations:"},{"line_number":1031,"context_line":"            migrations \u003d objects.MigrationList.get_in_progress_and_error("},{"line_number":1032,"context_line":"                context, self.host, nodename)"}],"source_content_type":"text/x-python","patch_set":3,"id":"dc8b3f33_64bfcb0a","line":1029,"updated":"2025-07-24 11:11:00.000000000","message":"your assuming this is a boolean but you default implemation is raising and you only implented it for ironic.","commit_id":"0cd2d74e7e1c5385d53055b09e4e1a91e73be750"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"59fff513860d175d1b87821fda9cef55c3279466","unresolved":false,"context_lines":[{"line_number":1026,"context_line":"                            \u0027flavor\u0027, \u0027migration_context\u0027,"},{"line_number":1027,"context_line":"                            \u0027resources\u0027])"},{"line_number":1028,"context_line":""},{"line_number":1029,"context_line":"        if support_migrations:"},{"line_number":1030,"context_line":"            # Grab all in-progress migrations and error migrations:"},{"line_number":1031,"context_line":"            migrations \u003d objects.MigrationList.get_in_progress_and_error("},{"line_number":1032,"context_line":"                context, self.host, nodename)"}],"source_content_type":"text/x-python","patch_set":3,"id":"cc3e1e2b_a164ac6d","line":1029,"in_reply_to":"dc8b3f33_64bfcb0a","updated":"2025-07-30 10:43:28.000000000","message":"this is mostly adressed by the refactor so ill resolve this now.","commit_id":"0cd2d74e7e1c5385d53055b09e4e1a91e73be750"},{"author":{"_account_id":20733,"name":"Rajesh Tailor","email":"ratailor@redhat.com","username":"rajesht"},"change_message_id":"ac703732f0d293e6f7a654c5cf1947018142189c","unresolved":true,"context_lines":[{"line_number":1029,"context_line":"        else:"},{"line_number":1030,"context_line":"            migrations \u003d migration_obj.MigrationList(objects\u003d[])"},{"line_number":1031,"context_line":"            LOG.debug("},{"line_number":1032,"context_line":"                    \"Driver does not support migrations\""},{"line_number":1033,"context_line":"                    \"so skipping migration steps\")"},{"line_number":1034,"context_line":""},{"line_number":1035,"context_line":"        # Check for tracked instances with in-progress, incoming, but not"}],"source_content_type":"text/x-python","patch_set":15,"id":"06e7de4c_b9819773","line":1032,"range":{"start_line":1032,"start_character":45,"end_line":1032,"end_character":55},"updated":"2025-08-05 14:31:09.000000000","message":"add a space add end after \u0027migrations\u0027.","commit_id":"5c8194a375b8f6e4e5b321a8cb0f25b1aebc0f78"},{"author":{"_account_id":38234,"name":"Ian Watson","display_name":"Ian Watson","email":"ianwatson92@hotmail.co.uk","username":"ianwatsonit"},"change_message_id":"b59b4db1b6a927d9570c8c529e26bcd9dd845ea4","unresolved":false,"context_lines":[{"line_number":1029,"context_line":"        else:"},{"line_number":1030,"context_line":"            migrations \u003d migration_obj.MigrationList(objects\u003d[])"},{"line_number":1031,"context_line":"            LOG.debug("},{"line_number":1032,"context_line":"                    \"Driver does not support migrations\""},{"line_number":1033,"context_line":"                    \"so skipping migration steps\")"},{"line_number":1034,"context_line":""},{"line_number":1035,"context_line":"        # Check for tracked instances with in-progress, incoming, but not"}],"source_content_type":"text/x-python","patch_set":15,"id":"fd7d31b2_da24fbf8","line":1032,"range":{"start_line":1032,"start_character":45,"end_line":1032,"end_character":55},"in_reply_to":"06e7de4c_b9819773","updated":"2025-08-06 14:10:47.000000000","message":"Done","commit_id":"5c8194a375b8f6e4e5b321a8cb0f25b1aebc0f78"}],"nova/virt/driver.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7dceaa57670f56d6f942de2dbd6ff927c9e1bdc8","unresolved":true,"context_lines":[{"line_number":223,"context_line":"        os_traits.COMPUTE_SECURITY_STATELESS_FIRMWARE,"},{"line_number":224,"context_line":"    \"supports_virtio_fs\": os_traits.COMPUTE_STORAGE_VIRTIO_FS,"},{"line_number":225,"context_line":"    \"supports_mem_backing_file\": os_traits.COMPUTE_MEM_BACKING_FILE,"},{"line_number":226,"context_line":"}"},{"line_number":227,"context_line":""},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"def _check_image_type_exclude_list(capability, supported):"}],"source_content_type":"text/x-python","patch_set":3,"id":"148c1851_bba9d518","line":226,"updated":"2025-07-24 11:11:00.000000000","message":"weather the driver support migration is really a compute capability although we dont have a trait we can use currently.\n\nthat might be a better design longterm but not everything need to be a triat.","commit_id":"0cd2d74e7e1c5385d53055b09e4e1a91e73be750"},{"author":{"_account_id":38234,"name":"Ian Watson","display_name":"Ian Watson","email":"ianwatson92@hotmail.co.uk","username":"ianwatsonit"},"change_message_id":"03d7783eb85651abee1eb104ae711558ae400a93","unresolved":false,"context_lines":[{"line_number":223,"context_line":"        os_traits.COMPUTE_SECURITY_STATELESS_FIRMWARE,"},{"line_number":224,"context_line":"    \"supports_virtio_fs\": os_traits.COMPUTE_STORAGE_VIRTIO_FS,"},{"line_number":225,"context_line":"    \"supports_mem_backing_file\": os_traits.COMPUTE_MEM_BACKING_FILE,"},{"line_number":226,"context_line":"}"},{"line_number":227,"context_line":""},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"def _check_image_type_exclude_list(capability, supported):"}],"source_content_type":"text/x-python","patch_set":3,"id":"0abe926a_8de19794","line":226,"in_reply_to":"148c1851_bba9d518","updated":"2025-08-13 13:31:31.000000000","message":"Done","commit_id":"0cd2d74e7e1c5385d53055b09e4e1a91e73be750"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7dceaa57670f56d6f942de2dbd6ff927c9e1bdc8","unresolved":true,"context_lines":[{"line_number":314,"context_line":"        \"supports_image_type_vhdx\": False,"},{"line_number":315,"context_line":"        \"supports_image_type_vmdk\": False,"},{"line_number":316,"context_line":"        \"supports_image_type_ploop\": False,"},{"line_number":317,"context_line":"    }"},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"    # Indicates if this driver will rebalance nodes among compute service"},{"line_number":320,"context_line":"    # hosts. This is really here for ironic and should not be used by any"}],"source_content_type":"text/x-python","patch_set":3,"id":"f7f5bfa6_675d494c","line":317,"updated":"2025-07-24 11:11:00.000000000","message":"but the driver itself has a non trait interface as well to express capablities\n\nso instead of breaking the driver interface you should just add a new compute capahblity here.\n\n\"supports_migrations\": True\n\nand override that for ironic.","commit_id":"0cd2d74e7e1c5385d53055b09e4e1a91e73be750"},{"author":{"_account_id":38234,"name":"Ian Watson","display_name":"Ian Watson","email":"ianwatson92@hotmail.co.uk","username":"ianwatsonit"},"change_message_id":"03d7783eb85651abee1eb104ae711558ae400a93","unresolved":false,"context_lines":[{"line_number":314,"context_line":"        \"supports_image_type_vhdx\": False,"},{"line_number":315,"context_line":"        \"supports_image_type_vmdk\": False,"},{"line_number":316,"context_line":"        \"supports_image_type_ploop\": False,"},{"line_number":317,"context_line":"    }"},{"line_number":318,"context_line":""},{"line_number":319,"context_line":"    # Indicates if this driver will rebalance nodes among compute service"},{"line_number":320,"context_line":"    # hosts. This is really here for ironic and should not be used by any"}],"source_content_type":"text/x-python","patch_set":3,"id":"7e7ecc8b_f0c7c6e8","line":317,"in_reply_to":"f7f5bfa6_675d494c","updated":"2025-08-13 13:31:31.000000000","message":"Done","commit_id":"0cd2d74e7e1c5385d53055b09e4e1a91e73be750"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7dceaa57670f56d6f942de2dbd6ff927c9e1bdc8","unresolved":true,"context_lines":[{"line_number":422,"context_line":"        This method is called for the resource tracker to determine"},{"line_number":423,"context_line":"        whether to support migration tracking."},{"line_number":424,"context_line":"        \"\"\""},{"line_number":425,"context_line":"        raise NotImplementedError()"},{"line_number":426,"context_line":""},{"line_number":427,"context_line":"    def instance_exists(self, instance):"},{"line_number":428,"context_line":"        \"\"\"Checks existence of an instance on the host."}],"source_content_type":"text/x-python","patch_set":3,"id":"3dc5f01a_c73f447d","line":425,"updated":"2025-07-24 11:11:00.000000000","message":"if you dont want to break every other virt driver this  need to return true by default\n\nbut as  i noted above you shoudl nto modify the driver interface and instead should extned the capablities dict and use that.","commit_id":"0cd2d74e7e1c5385d53055b09e4e1a91e73be750"},{"author":{"_account_id":38234,"name":"Ian Watson","display_name":"Ian Watson","email":"ianwatson92@hotmail.co.uk","username":"ianwatsonit"},"change_message_id":"03d7783eb85651abee1eb104ae711558ae400a93","unresolved":false,"context_lines":[{"line_number":422,"context_line":"        This method is called for the resource tracker to determine"},{"line_number":423,"context_line":"        whether to support migration tracking."},{"line_number":424,"context_line":"        \"\"\""},{"line_number":425,"context_line":"        raise NotImplementedError()"},{"line_number":426,"context_line":""},{"line_number":427,"context_line":"    def instance_exists(self, instance):"},{"line_number":428,"context_line":"        \"\"\"Checks existence of an instance on the host."}],"source_content_type":"text/x-python","patch_set":3,"id":"b64840e7_e5013b44","line":425,"in_reply_to":"3dc5f01a_c73f447d","updated":"2025-08-13 13:31:31.000000000","message":"Done","commit_id":"0cd2d74e7e1c5385d53055b09e4e1a91e73be750"}]}
