)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"55f528b594723542cc858e3f574f7deb1f15e64f","unresolved":true,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"This patch ensures the correct image ID is set in the libvirt"},{"line_number":16,"context_line":"domain metadata when ephemeral instances are unshelved."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Co-Authored-By: Jeremy Lamb \u003cjeremy.lamb@catalystcloud.nz\u003e"},{"line_number":19,"context_line":"Change-Id: Ifd9f092299912606931848b2b25b4be6b36effac"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"16b686c0_cb0f5e2d","line":17,"updated":"2025-02-28 10:48:55.000000000","message":"just incase you dont se the irc ping.\n\nif you can file a bug for this and add Closes-Bug: #####  we can backport it.","commit_id":"865c389725663597e611ea7e9c4720b561298c94"},{"author":{"_account_id":36393,"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","username":"Callum027","status":"Catalyst Cloud"},"change_message_id":"0407fc7a73043cdf6f17dc577495d58cd8e8fe44","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"This patch ensures the correct image ID is set in the libvirt"},{"line_number":16,"context_line":"domain metadata when ephemeral instances are unshelved."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Co-Authored-By: Jeremy Lamb \u003cjeremy.lamb@catalystcloud.nz\u003e"},{"line_number":19,"context_line":"Change-Id: Ifd9f092299912606931848b2b25b4be6b36effac"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"4ca83b4f_9bae32a9","line":17,"in_reply_to":"03cb9ac3_cfa8c385","updated":"2025-05-27 21:44:16.000000000","message":"Done","commit_id":"865c389725663597e611ea7e9c4720b561298c94"},{"author":{"_account_id":36393,"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","username":"Callum027","status":"Catalyst Cloud"},"change_message_id":"6bd7526c7d56f82bcb78f08225aa614f2fe966ba","unresolved":true,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"This patch ensures the correct image ID is set in the libvirt"},{"line_number":16,"context_line":"domain metadata when ephemeral instances are unshelved."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Co-Authored-By: Jeremy Lamb \u003cjeremy.lamb@catalystcloud.nz\u003e"},{"line_number":19,"context_line":"Change-Id: Ifd9f092299912606931848b2b25b4be6b36effac"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"03cb9ac3_cfa8c385","line":17,"in_reply_to":"16b686c0_cb0f5e2d","updated":"2025-02-28 11:49:26.000000000","message":"Created bug and updated commit message: https://bugs.launchpad.net/nova/+bug/2100588\n\nThanks for your other comments. I\u0027ll address them when I\u0027m back at work on Monday.","commit_id":"865c389725663597e611ea7e9c4720b561298c94"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":36393,"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","username":"Callum027","status":"Catalyst Cloud"},"change_message_id":"edb72f1a24f060edf0e22aa352c97cf180f2eb57","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"dc1f5250_cf217305","updated":"2025-05-28 00:13:53.000000000","message":"recheck nova-multi-cell transient failure","commit_id":"dd8f8d753ea8a200e95a814438897f644196b616"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b37cf2acfa36a038ab11db8448fe8a76a4b3b4c4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"7d19bc8e_a9b0d206","updated":"2025-08-05 11:30:48.000000000","message":"is this still something your interested in this cycle?\n\nif so can you respond to the coments in this change and rebase the seriese of 3 patches on top of the current tip of master","commit_id":"34a6ace9d429ea732c1839d14954f6e2e60abc4b"},{"author":{"_account_id":36393,"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","username":"Callum027","status":"Catalyst Cloud"},"change_message_id":"1ad8e1ebbc5723cd87986d89252605b173cbb65f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"6f55681b_be705710","in_reply_to":"7d19bc8e_a9b0d206","updated":"2025-08-05 20:50:03.000000000","message":"Hiya, yes I\u0027m still interested in getting this done this cycle. I was investigating issues we were having that could have been related to this at the time, but it turns out they\u0027re unrelated and I\u0027ll a separate bug upstream for that. Looking into this now, thanks for the reminder.","commit_id":"34a6ace9d429ea732c1839d14954f6e2e60abc4b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"432c7c201779ea4ddc914ab6a67dcceb6758c81c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"4dcdebcb_d3b75002","updated":"2025-08-07 11:04:23.000000000","message":"One nit. I\u0027m only -1 because I suspect we\u0027ll want to backport this and would like to ensure the comment is present in the backports also. Otherwise, this LGTM. Please assume a +2 from me once added.","commit_id":"9b1f6e184217f0269f3844f820ffe7afac32f045"},{"author":{"_account_id":36393,"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","username":"Callum027","status":"Catalyst Cloud"},"change_message_id":"7e947719d5be72569f6e28b278ae001ab97bf192","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"185bab7a_af67e002","updated":"2025-08-08 13:32:22.000000000","message":"Guess it needs a maintainer to kick off the retry for the gate pipeline?","commit_id":"4c64f84058560be95af9ae6e71625e52986d32f9"},{"author":{"_account_id":36393,"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","username":"Callum027","status":"Catalyst Cloud"},"change_message_id":"1d3385a8905330981127b33d825b52c7ff8db20b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"c008c96e_edd1e4b8","updated":"2025-08-08 12:03:58.000000000","message":"recheck nova-ceph-multistore unrelated error","commit_id":"4c64f84058560be95af9ae6e71625e52986d32f9"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"e64644d3bc74fa3e2d44d3538a98fa62ce7656ec","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"74c3e3ff_925e5956","in_reply_to":"185bab7a_af67e002","updated":"2025-08-08 14:20:00.000000000","message":"no restarting only gate is not allowed.\n\nit was 10-12 years ago but we implemated a ploicy call green check a very long time ago and remvoed the reverify trigger\n\n\nbefore that yes only cores could do reverify to retrigger gate\n\nnow we only do recheck which runs check and if that passes then gate.","commit_id":"4c64f84058560be95af9ae6e71625e52986d32f9"}],"nova/virt/driver.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4f1c494a7d454a0982da15968bf41e5acec53af5","unresolved":true,"context_lines":[{"line_number":87,"context_line":"    image: ImageMeta"},{"line_number":88,"context_line":"    flavor: FlavorMeta"},{"line_number":89,"context_line":"    network_info: network_model.NetworkInfo"},{"line_number":90,"context_line":"    base_image_ref: ty.Optional[str] \u003d None"},{"line_number":91,"context_line":"    nova_package: str \u003d dataclasses.field("},{"line_number":92,"context_line":"        default_factory\u003dversion.version_string_with_package)"},{"line_number":93,"context_line":"    creation_time: float \u003d dataclasses.field(default_factory\u003dtime.time)"}],"source_content_type":"text/x-python","patch_set":6,"id":"ebd9bf02_0ed39e53","line":90,"updated":"2025-06-06 00:14:35.000000000","message":"this proably is not needed see my comments below","commit_id":"34a6ace9d429ea732c1839d14954f6e2e60abc4b"},{"author":{"_account_id":36393,"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","username":"Callum027","status":"Catalyst Cloud"},"change_message_id":"d5b7dfc7113749bbf5afe32711cc7df20e2ff15b","unresolved":false,"context_lines":[{"line_number":87,"context_line":"    image: ImageMeta"},{"line_number":88,"context_line":"    flavor: FlavorMeta"},{"line_number":89,"context_line":"    network_info: network_model.NetworkInfo"},{"line_number":90,"context_line":"    base_image_ref: ty.Optional[str] \u003d None"},{"line_number":91,"context_line":"    nova_package: str \u003d dataclasses.field("},{"line_number":92,"context_line":"        default_factory\u003dversion.version_string_with_package)"},{"line_number":93,"context_line":"    creation_time: float \u003d dataclasses.field(default_factory\u003dtime.time)"}],"source_content_type":"text/x-python","patch_set":6,"id":"fa4d8d71_86ac1e11","line":90,"in_reply_to":"ebd9bf02_0ed39e53","updated":"2025-08-05 21:58:56.000000000","message":"Removed in accordance with the other suggested changes.","commit_id":"34a6ace9d429ea732c1839d14954f6e2e60abc4b"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4f1c494a7d454a0982da15968bf41e5acec53af5","unresolved":true,"context_lines":[{"line_number":395,"context_line":"            flavor\u003dflavor,"},{"line_number":396,"context_line":"            image\u003dimage,"},{"line_number":397,"context_line":"            root_type \u003d \u0027image\u0027 if instance.image_ref else \u0027volume\u0027,"},{"line_number":398,"context_line":"            root_id \u003d instance.image_ref,"},{"line_number":399,"context_line":"            # root_id is the ID of the image actually being booted."},{"line_number":400,"context_line":"            # base_image_ref is the ID of the image that the instance"},{"line_number":401,"context_line":"            # was originally created from (if booted from image)."}],"source_content_type":"text/x-python","patch_set":6,"id":"4d11c3f8_631cee5f","line":398,"updated":"2025-06-06 00:14:35.000000000","message":"shoudl we instad change thsi to \n\n\n```suggestion\n            root_id \u003d system_meta.get(\u0027image_base_image_ref\u0027, instance.image_ref),\n```\n\nthat way we will prefer image_base_image_ref and fall back to instance.image_ref otherwise.","commit_id":"34a6ace9d429ea732c1839d14954f6e2e60abc4b"},{"author":{"_account_id":36393,"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","username":"Callum027","status":"Catalyst Cloud"},"change_message_id":"d5b7dfc7113749bbf5afe32711cc7df20e2ff15b","unresolved":false,"context_lines":[{"line_number":395,"context_line":"            flavor\u003dflavor,"},{"line_number":396,"context_line":"            image\u003dimage,"},{"line_number":397,"context_line":"            root_type \u003d \u0027image\u0027 if instance.image_ref else \u0027volume\u0027,"},{"line_number":398,"context_line":"            root_id \u003d instance.image_ref,"},{"line_number":399,"context_line":"            # root_id is the ID of the image actually being booted."},{"line_number":400,"context_line":"            # base_image_ref is the ID of the image that the instance"},{"line_number":401,"context_line":"            # was originally created from (if booted from image)."}],"source_content_type":"text/x-python","patch_set":6,"id":"9d9ecc9a_2b531cf4","line":398,"in_reply_to":"13ce1616_6c60894a","updated":"2025-08-05 21:58:56.000000000","message":"Changed as suggested, thanks.","commit_id":"34a6ace9d429ea732c1839d14954f6e2e60abc4b"},{"author":{"_account_id":36393,"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","username":"Callum027","status":"Catalyst Cloud"},"change_message_id":"1ad8e1ebbc5723cd87986d89252605b173cbb65f","unresolved":true,"context_lines":[{"line_number":395,"context_line":"            flavor\u003dflavor,"},{"line_number":396,"context_line":"            image\u003dimage,"},{"line_number":397,"context_line":"            root_type \u003d \u0027image\u0027 if instance.image_ref else \u0027volume\u0027,"},{"line_number":398,"context_line":"            root_id \u003d instance.image_ref,"},{"line_number":399,"context_line":"            # root_id is the ID of the image actually being booted."},{"line_number":400,"context_line":"            # base_image_ref is the ID of the image that the instance"},{"line_number":401,"context_line":"            # was originally created from (if booted from image)."}],"source_content_type":"text/x-python","patch_set":6,"id":"13ce1616_6c60894a","line":398,"in_reply_to":"4d11c3f8_631cee5f","updated":"2025-08-05 20:50:03.000000000","message":"The reason why we didn\u0027t do this was we thought that `instance.image_ref` (the unshelved one) might be used somewhere where it\u0027s required, but I\u0027ve had a look and it turns it out the only place it\u0027s used is where I\u0027ve changed it over to `base_image_ref`, so I think this change will work fine.","commit_id":"34a6ace9d429ea732c1839d14954f6e2e60abc4b"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4f1c494a7d454a0982da15968bf41e5acec53af5","unresolved":true,"context_lines":[{"line_number":402,"context_line":"            # This distinction is important in some cases, as when the"},{"line_number":403,"context_line":"            # image is shelved and unshelved the two ID values diverge."},{"line_number":404,"context_line":"            base_image_ref \u003d instance.system_metadata.get("},{"line_number":405,"context_line":"                \u0027image_base_image_ref\u0027),"},{"line_number":406,"context_line":"            creation_time \u003d time.time(),"},{"line_number":407,"context_line":"            network_info\u003dnetwork_info"},{"line_number":408,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":6,"id":"ed3b4f4d_07a1940d","line":405,"updated":"2025-06-06 00:14:35.000000000","message":"i do wonder if we shoudl be seting the root_id to this when we are unshleving but\nin the limit scope fo the issue you ar etrying to fix i think this is accpetable.\n\nthe temproy image we use for shelve is really not ment to persist in any way once we unshleve tso thsi feel a little odd.\n\nonce you have unshelved there should nolonger be a distinction betwen the root disk and base image ref.\n\n\nthis can also just be base_image_ref \u003d system_meta.get(\u0027image_base_image_ref\u0027)","commit_id":"34a6ace9d429ea732c1839d14954f6e2e60abc4b"},{"author":{"_account_id":36393,"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","username":"Callum027","status":"Catalyst Cloud"},"change_message_id":"d5b7dfc7113749bbf5afe32711cc7df20e2ff15b","unresolved":false,"context_lines":[{"line_number":402,"context_line":"            # This distinction is important in some cases, as when the"},{"line_number":403,"context_line":"            # image is shelved and unshelved the two ID values diverge."},{"line_number":404,"context_line":"            base_image_ref \u003d instance.system_metadata.get("},{"line_number":405,"context_line":"                \u0027image_base_image_ref\u0027),"},{"line_number":406,"context_line":"            creation_time \u003d time.time(),"},{"line_number":407,"context_line":"            network_info\u003dnetwork_info"},{"line_number":408,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":6,"id":"9f92a002_21fdafcc","line":405,"in_reply_to":"ed3b4f4d_07a1940d","updated":"2025-08-05 21:58:56.000000000","message":"Switched to `system_meta` instead of `image.system_metadata`.","commit_id":"34a6ace9d429ea732c1839d14954f6e2e60abc4b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"432c7c201779ea4ddc914ab6a67dcceb6758c81c","unresolved":true,"context_lines":[{"line_number":394,"context_line":"            flavor\u003dflavor,"},{"line_number":395,"context_line":"            image\u003dimage,"},{"line_number":396,"context_line":"            root_type \u003d \u0027image\u0027 if instance.image_ref else \u0027volume\u0027,"},{"line_number":397,"context_line":"            root_id\u003dsystem_meta.get(\u0027image_base_image_ref\u0027,"},{"line_number":398,"context_line":"                                    instance.image_ref),"},{"line_number":399,"context_line":"            creation_time \u003d time.time(),"},{"line_number":400,"context_line":"            network_info\u003dnetwork_info"}],"source_content_type":"text/x-python","patch_set":7,"id":"e887e8cc_6a4b63d4","line":397,"updated":"2025-08-07 11:04:23.000000000","message":"Could we get a small comment explaining what you\u0027re doing here and why, to prevent someone attempting to \"optimize\" this in the future 😄","commit_id":"9b1f6e184217f0269f3844f820ffe7afac32f045"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"00b99425e9a789a393e7c543adcab76190bb9708","unresolved":false,"context_lines":[{"line_number":394,"context_line":"            flavor\u003dflavor,"},{"line_number":395,"context_line":"            image\u003dimage,"},{"line_number":396,"context_line":"            root_type \u003d \u0027image\u0027 if instance.image_ref else \u0027volume\u0027,"},{"line_number":397,"context_line":"            root_id\u003dsystem_meta.get(\u0027image_base_image_ref\u0027,"},{"line_number":398,"context_line":"                                    instance.image_ref),"},{"line_number":399,"context_line":"            creation_time \u003d time.time(),"},{"line_number":400,"context_line":"            network_info\u003dnetwork_info"}],"source_content_type":"text/x-python","patch_set":7,"id":"3ea68e14_8d7efc1d","line":397,"in_reply_to":"e887e8cc_6a4b63d4","updated":"2025-08-07 11:30:05.000000000","message":"Done","commit_id":"9b1f6e184217f0269f3844f820ffe7afac32f045"},{"author":{"_account_id":36393,"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","username":"Callum027","status":"Catalyst Cloud"},"change_message_id":"1dcd704690f2f51a274c4a1033cac2a5640be831","unresolved":false,"context_lines":[{"line_number":394,"context_line":"            flavor\u003dflavor,"},{"line_number":395,"context_line":"            image\u003dimage,"},{"line_number":396,"context_line":"            root_type \u003d \u0027image\u0027 if instance.image_ref else \u0027volume\u0027,"},{"line_number":397,"context_line":"            root_id\u003dsystem_meta.get(\u0027image_base_image_ref\u0027,"},{"line_number":398,"context_line":"                                    instance.image_ref),"},{"line_number":399,"context_line":"            creation_time \u003d time.time(),"},{"line_number":400,"context_line":"            network_info\u003dnetwork_info"}],"source_content_type":"text/x-python","patch_set":7,"id":"36cc496b_739afb81","line":397,"in_reply_to":"e887e8cc_6a4b63d4","updated":"2025-08-07 11:28:32.000000000","message":"That\u0027s a good idea, now added, thanks!","commit_id":"9b1f6e184217f0269f3844f820ffe7afac32f045"}],"nova/virt/libvirt/driver.py":[{"author":{"_account_id":36393,"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","username":"Callum027","status":"Catalyst Cloud"},"change_message_id":"04785f8a07152720cb73223be440c386235c819a","unresolved":true,"context_lines":[{"line_number":6179,"context_line":"        meta.roottype \u003d dmeta.root_type"},{"line_number":6180,"context_line":"        meta.rootid \u003d ("},{"line_number":6181,"context_line":"            dmeta.root_id"},{"line_number":6182,"context_line":"            if dmeta.vm_state !\u003d \u0027shelved_offloaded\u0027"},{"line_number":6183,"context_line":"            else dmeta.base_image_ref)"},{"line_number":6184,"context_line":""},{"line_number":6185,"context_line":"        ometa \u003d vconfig.LibvirtConfigGuestMetaNovaOwner()"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba3ed286_d40c1755","line":6182,"updated":"2025-02-28 07:23:59.000000000","message":"Could we sidestep the condition and just use `dmeta.base_image_ref` directly?","commit_id":"865c389725663597e611ea7e9c4720b561298c94"},{"author":{"_account_id":36393,"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","username":"Callum027","status":"Catalyst Cloud"},"change_message_id":"93b8deb2e2a79592e2ac34765beee4bb44df422c","unresolved":true,"context_lines":[{"line_number":6179,"context_line":"        meta.roottype \u003d dmeta.root_type"},{"line_number":6180,"context_line":"        meta.rootid \u003d ("},{"line_number":6181,"context_line":"            dmeta.root_id"},{"line_number":6182,"context_line":"            if dmeta.vm_state !\u003d \u0027shelved_offloaded\u0027"},{"line_number":6183,"context_line":"            else dmeta.base_image_ref)"},{"line_number":6184,"context_line":""},{"line_number":6185,"context_line":"        ometa \u003d vconfig.LibvirtConfigGuestMetaNovaOwner()"}],"source_content_type":"text/x-python","patch_set":2,"id":"f5226c65_e8dcbb8c","line":6182,"in_reply_to":"72d84e7c_42231553","updated":"2025-03-03 00:12:51.000000000","message":"My testing indicated that `system_metadata[\u0027image_base_image_ref\u0027]` is always available, so I removed the conditional. This simplifies the diff somewhat.\n\nAssuming you\u0027re talking about adding a new field to the `Instance` Oslo versioned object, while I think it\u0027s a good idea, that would be a less backward compatible change, so it\u0027s probably better off in its own separate patch.","commit_id":"865c389725663597e611ea7e9c4720b561298c94"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"55f528b594723542cc858e3f574f7deb1f15e64f","unresolved":true,"context_lines":[{"line_number":6179,"context_line":"        meta.roottype \u003d dmeta.root_type"},{"line_number":6180,"context_line":"        meta.rootid \u003d ("},{"line_number":6181,"context_line":"            dmeta.root_id"},{"line_number":6182,"context_line":"            if dmeta.vm_state !\u003d \u0027shelved_offloaded\u0027"},{"line_number":6183,"context_line":"            else dmeta.base_image_ref)"},{"line_number":6184,"context_line":""},{"line_number":6185,"context_line":"        ometa \u003d vconfig.LibvirtConfigGuestMetaNovaOwner()"}],"source_content_type":"text/x-python","patch_set":2,"id":"72d84e7c_42231553","line":6182,"in_reply_to":"ba3ed286_d40c1755","updated":"2025-02-28 10:48:55.000000000","message":"maybe.\n\ni would be tempeted to add a property to the instance opbejct image_uuid\n\nthat would encapsulate the knowledge and refactor root_id and or base_image_ref to be initialized by that property.","commit_id":"865c389725663597e611ea7e9c4720b561298c94"},{"author":{"_account_id":36393,"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","username":"Callum027","status":"Catalyst Cloud"},"change_message_id":"2acce87820d3b444f332802618e54b87cef2a3ef","unresolved":false,"context_lines":[{"line_number":6179,"context_line":"        meta.roottype \u003d dmeta.root_type"},{"line_number":6180,"context_line":"        meta.rootid \u003d ("},{"line_number":6181,"context_line":"            dmeta.root_id"},{"line_number":6182,"context_line":"            if dmeta.vm_state !\u003d \u0027shelved_offloaded\u0027"},{"line_number":6183,"context_line":"            else dmeta.base_image_ref)"},{"line_number":6184,"context_line":""},{"line_number":6185,"context_line":"        ometa \u003d vconfig.LibvirtConfigGuestMetaNovaOwner()"}],"source_content_type":"text/x-python","patch_set":2,"id":"900fa069_d02e55fd","line":6182,"in_reply_to":"f5226c65_e8dcbb8c","updated":"2025-05-27 20:54:02.000000000","message":"Done","commit_id":"865c389725663597e611ea7e9c4720b561298c94"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4f1c494a7d454a0982da15968bf41e5acec53af5","unresolved":true,"context_lines":[{"line_number":6229,"context_line":"        meta.name \u003d dmeta.instance_meta.name"},{"line_number":6230,"context_line":"        meta.creationTime \u003d dmeta.creation_time"},{"line_number":6231,"context_line":"        meta.roottype \u003d dmeta.root_type"},{"line_number":6232,"context_line":"        meta.rootid \u003d dmeta.base_image_ref"},{"line_number":6233,"context_line":""},{"line_number":6234,"context_line":"        ometa \u003d vconfig.LibvirtConfigGuestMetaNovaOwner()"},{"line_number":6235,"context_line":"        ometa.userid \u003d dmeta.owner.userid"}],"source_content_type":"text/x-python","patch_set":6,"id":"9c200a34_c634faa4","line":6232,"updated":"2025-06-06 00:14:35.000000000","message":"will this work?\n\nin a non shleve case what will the value fo this be.\n\ncan you add a test showign that this is correct for edxample when we instally create a vm from an image using local storage.","commit_id":"34a6ace9d429ea732c1839d14954f6e2e60abc4b"},{"author":{"_account_id":36393,"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","username":"Callum027","status":"Catalyst Cloud"},"change_message_id":"a8c1a0e0f58bb910b7a23bcd7da4db194a275ed3","unresolved":false,"context_lines":[{"line_number":6229,"context_line":"        meta.name \u003d dmeta.instance_meta.name"},{"line_number":6230,"context_line":"        meta.creationTime \u003d dmeta.creation_time"},{"line_number":6231,"context_line":"        meta.roottype \u003d dmeta.root_type"},{"line_number":6232,"context_line":"        meta.rootid \u003d dmeta.base_image_ref"},{"line_number":6233,"context_line":""},{"line_number":6234,"context_line":"        ometa \u003d vconfig.LibvirtConfigGuestMetaNovaOwner()"},{"line_number":6235,"context_line":"        ometa.userid \u003d dmeta.owner.userid"}],"source_content_type":"text/x-python","patch_set":6,"id":"101ebfe4_3288eddd","line":6232,"in_reply_to":"59244593_75fd61ab","updated":"2025-08-06 11:43:36.000000000","message":"Done","commit_id":"34a6ace9d429ea732c1839d14954f6e2e60abc4b"},{"author":{"_account_id":36393,"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","username":"Callum027","status":"Catalyst Cloud"},"change_message_id":"1ad8e1ebbc5723cd87986d89252605b173cbb65f","unresolved":true,"context_lines":[{"line_number":6229,"context_line":"        meta.name \u003d dmeta.instance_meta.name"},{"line_number":6230,"context_line":"        meta.creationTime \u003d dmeta.creation_time"},{"line_number":6231,"context_line":"        meta.roottype \u003d dmeta.root_type"},{"line_number":6232,"context_line":"        meta.rootid \u003d dmeta.base_image_ref"},{"line_number":6233,"context_line":""},{"line_number":6234,"context_line":"        ometa \u003d vconfig.LibvirtConfigGuestMetaNovaOwner()"},{"line_number":6235,"context_line":"        ometa.userid \u003d dmeta.owner.userid"}],"source_content_type":"text/x-python","patch_set":6,"id":"de53f639_330f3e6b","line":6232,"in_reply_to":"9c200a34_c634faa4","updated":"2025-08-05 20:50:03.000000000","message":"For instances booted from image, `base_image_ref` is always set to the original image ID the image was booted with.\n\nIn our testing, for instances booted from volume (Cinder), `base_image_ref` in the system metadata seems to be set to an empty string most of the time. There may be cases where the value is not defined at all, in which case the value of `base_image_ref` here would be `None`.\n\nYep, I can add a test for that case.","commit_id":"34a6ace9d429ea732c1839d14954f6e2e60abc4b"},{"author":{"_account_id":36393,"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","username":"Callum027","status":"Catalyst Cloud"},"change_message_id":"d5b7dfc7113749bbf5afe32711cc7df20e2ff15b","unresolved":true,"context_lines":[{"line_number":6229,"context_line":"        meta.name \u003d dmeta.instance_meta.name"},{"line_number":6230,"context_line":"        meta.creationTime \u003d dmeta.creation_time"},{"line_number":6231,"context_line":"        meta.roottype \u003d dmeta.root_type"},{"line_number":6232,"context_line":"        meta.rootid \u003d dmeta.base_image_ref"},{"line_number":6233,"context_line":""},{"line_number":6234,"context_line":"        ometa \u003d vconfig.LibvirtConfigGuestMetaNovaOwner()"},{"line_number":6235,"context_line":"        ometa.userid \u003d dmeta.owner.userid"}],"source_content_type":"text/x-python","patch_set":6,"id":"59244593_75fd61ab","line":6232,"in_reply_to":"de53f639_330f3e6b","updated":"2025-08-05 21:58:56.000000000","message":"Added test cases that should hopefully cover these cases.","commit_id":"34a6ace9d429ea732c1839d14954f6e2e60abc4b"}],"releasenotes/notes/bug-2100588-fix-image-id-xml-after-unshelve-e5f6116043ba1c41.yaml":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4f1c494a7d454a0982da15968bf41e5acec53af5","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    When an ephemeral instance booted from image is unshelved,"},{"line_number":5,"context_line":"    the image ID published to the libvirt domain metadata was"},{"line_number":6,"context_line":"    the ID for the temporary Glance image generated to store"},{"line_number":7,"context_line":"    the instance state, instead of the original image as intended."}],"source_content_type":"text/x-yaml","patch_set":6,"id":"95be3a6c_e19d8202","line":4,"range":{"start_line":4,"start_character":12,"end_line":4,"end_character":21},"updated":"2025-06-06 00:14:35.000000000","message":"dont use the them ephmeral to mean boot from an image.\nthat is not correct.\n\nyou shoudl say\n```suggestion\n    When an instance booted from local storage is unshelved,\n```","commit_id":"34a6ace9d429ea732c1839d14954f6e2e60abc4b"},{"author":{"_account_id":36393,"name":"Callum Dickinson","email":"callum.dickinson@catalystcloud.nz","username":"Callum027","status":"Catalyst Cloud"},"change_message_id":"d5b7dfc7113749bbf5afe32711cc7df20e2ff15b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    When an ephemeral instance booted from image is unshelved,"},{"line_number":5,"context_line":"    the image ID published to the libvirt domain metadata was"},{"line_number":6,"context_line":"    the ID for the temporary Glance image generated to store"},{"line_number":7,"context_line":"    the instance state, instead of the original image as intended."}],"source_content_type":"text/x-yaml","patch_set":6,"id":"e5359309_1af64fd1","line":4,"range":{"start_line":4,"start_character":12,"end_line":4,"end_character":21},"in_reply_to":"95be3a6c_e19d8202","updated":"2025-08-05 21:58:56.000000000","message":"Fixed, thanks.","commit_id":"34a6ace9d429ea732c1839d14954f6e2e60abc4b"}]}
