)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"fc922cb1e6eecfe997938c5c0e55a71bcc560b4e","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Related-Bug: #2119353"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Depends-On: https://review.opendev.org/c/openstack/nova/+/955039"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Id03a98f20eb2f6108e4523a76179ac07c186f425"},{"line_number":14,"context_line":"Signed-off-by: melanie witt \u003cmelwittt@gmail.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"24440857_44b85402","line":11,"updated":"2025-08-02 02:14:36.000000000","message":"This is here because this test will make CI jobs with Cinder NFS fail until the bug is fixed.","commit_id":"fde3c29b9c21755c77b59baab10ba395b8021099"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"3c8f56ffbc0a7639ec20598e58c154faf051c24e","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Related-Bug: #2119353"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Depends-On: https://review.opendev.org/c/openstack/nova/+/955039"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Id03a98f20eb2f6108e4523a76179ac07c186f425"},{"line_number":14,"context_line":"Signed-off-by: melanie witt \u003cmelwittt@gmail.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"8d7e9909_da59d822","line":11,"in_reply_to":"24440857_44b85402","updated":"2026-02-03 20:50:39.000000000","message":"Done","commit_id":"fde3c29b9c21755c77b59baab10ba395b8021099"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"d1d70803b4491a6d59ac74d041525d49e983768d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"0609b839_1dc81abe","updated":"2025-08-02 06:08:20.000000000","message":"recheck grenade Unable to locate package ksmtuned","commit_id":"fde3c29b9c21755c77b59baab10ba395b8021099"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"2ed1fa74e1282ca31b37d62c468cf6cded0992ed","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"1ec7152f_16443435","updated":"2025-08-06 03:37:07.000000000","message":"test lgtm, thanks.\n\nTest passing - https://zuul.opendev.org/t/openstack/build/5eb6603d701e41a0a43ed8b50ca0d67a/log/job-output.txt#24206\n\nI will approve it once nova change is merged.","commit_id":"fde3c29b9c21755c77b59baab10ba395b8021099"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c72aed0a0526b33833f23105b080456078279c69","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"5f5e5eb9_85b4ac24","updated":"2026-02-03 19:30:54.000000000","message":"over all my ai code review bot also things this is ready to merge\n\nhttps://minio-api.teim.app/zuul-logs/a36/main/a366d536c1844d299eea8c2f958b6fae/code-review/review-report.html\nalthough it did find one typo\n\n\"\"\"\nThis is a well-implemented test addition that provides valuable coverage for a Cinder NFS backend scenario. The test follows OpenStack coding standards, uses proper decorators, and maintains consistency with existing tests in the class. The test logic correctly implements the scenario: creating a bootable volume, booting an instance, creating three snapshots, stopping the instance, and then deleting all three snapshots to verify proper backing file handling. The only substantive issue is a minor documentation inconsistency where the comment at line 204 mentions creating \u0027two\u0027 snapshots when the code actually creates three. The suggestions provided are optional improvements but none are blockers. The test is ready for merge with the minor comment correction.\n\"\"\"","commit_id":"d063040fc7a12e5e2e22b9825ae3e3ad49e2f307"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2cd5f84e0507c3c62770abc623bac22dc6946330","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"fabb3ea3_e0225715","updated":"2026-02-03 19:05:31.000000000","message":"teim-ci: manual\n\njust triggering this to get a run on tempest\nim planning to make it more aware of tempest in the future.","commit_id":"d063040fc7a12e5e2e22b9825ae3e3ad49e2f307"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"dc889c6581a466f5467b45999388864498af6425","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"954e5a06_a48cf44d","updated":"2026-02-03 01:38:12.000000000","message":"thanks, lgtm. @melwittt@gmail.com because this new test will run on supported stable branches also, do you want to wait for nova fix merge in all supported branch? https://review.opendev.org/q/I6b5fe3bba49461fb10bc81e19bd16acf39e84ec6","commit_id":"d063040fc7a12e5e2e22b9825ae3e3ad49e2f307"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"1ce18f63a702b4406ef09b368914412fa49af3ae","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"45dddf4e_7e6dee49","in_reply_to":"0364a8a3_24d22e3d","updated":"2026-02-05 16:25:24.000000000","message":"Done","commit_id":"d063040fc7a12e5e2e22b9825ae3e3ad49e2f307"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"3c8f56ffbc0a7639ec20598e58c154faf051c24e","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"5177dd91_7bf47b86","in_reply_to":"4d581151_8ee23c32","updated":"2026-02-03 20:50:39.000000000","message":"Oh yeah, I hadn\u0027t realized about the stable branches, thanks yall 😄","commit_id":"d063040fc7a12e5e2e22b9825ae3e3ad49e2f307"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"1ce18f63a702b4406ef09b368914412fa49af3ae","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"e9b44400_9475956a","in_reply_to":"5177dd91_7bf47b86","updated":"2026-02-05 16:25:24.000000000","message":"Done","commit_id":"d063040fc7a12e5e2e22b9825ae3e3ad49e2f307"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"20f70c8c519e33987db183e81f3d8146600ad681","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"4d581151_8ee23c32","in_reply_to":"5730f0a2_73f24360","updated":"2026-02-03 19:11:23.000000000","message":"2024.2 still maintained and yes it is supposed to be EOL at end of April but we always late in EOling so it may go further.","commit_id":"d063040fc7a12e5e2e22b9825ae3e3ad49e2f307"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"3c8f56ffbc0a7639ec20598e58c154faf051c24e","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"0364a8a3_24d22e3d","in_reply_to":"5f5e5eb9_85b4ac24","updated":"2026-02-03 20:50:39.000000000","message":"\"well-implemented\" well thank you bot!","commit_id":"d063040fc7a12e5e2e22b9825ae3e3ad49e2f307"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"e5a9bc1490e9e272b65d1ceb5fc5d3ee8a6f7ad8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"5730f0a2_73f24360","in_reply_to":"954e5a06_a48cf44d","updated":"2026-02-03 11:13:44.000000000","message":"i just approved that.\n\nis 2024.2 eol? it will be soon but its still the oldest stable branch until 2026.1 is released right so we need to backport that 1 addtionall release?","commit_id":"d063040fc7a12e5e2e22b9825ae3e3ad49e2f307"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"f06171b4917d9e515acc67bb725aa732d29ffdfc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"2dc2a1ee_1e1cf164","in_reply_to":"e8e6b231_a112a074","updated":"2026-02-23 19:58:58.000000000","message":"this is merged so all good now.","commit_id":"d063040fc7a12e5e2e22b9825ae3e3ad49e2f307"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"d35a06f881d8663ea865e1b4659ba2e7e3b7b183","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"e8e6b231_a112a074","in_reply_to":"e9b44400_9475956a","updated":"2026-02-06 22:10:54.000000000","message":"Sorry I had misunderstood here when Sean said they approved a backport I thought they meant for 2024.2 but they were talking about 2025.1. I have proposed a new backport for 2024.2 here:\nhttps://review.opendev.org/c/openstack/nova/+/975972","commit_id":"d063040fc7a12e5e2e22b9825ae3e3ad49e2f307"},{"author":{"_account_id":32704,"name":"Alfredo Garcia","display_name":"Alfredo Garcia","email":"alfrgarc@redhat.com","username":"alfrgarc","status":"Senior Software Quality Engineer @ Red Hat"},"change_message_id":"cc3cfbf1dcacc2291f86129b03501b020bfa8253","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"9e467e10_778053d8","updated":"2026-02-05 14:09:38.000000000","message":"Suggestion: Please mark the unresolved comments as resolved. Other than that I agree, this patch is ready for merge.","commit_id":"6237e1ad952f91ae0166595959cf1298bb0286b5"},{"author":{"_account_id":32704,"name":"Alfredo Garcia","display_name":"Alfredo Garcia","email":"alfrgarc@redhat.com","username":"alfrgarc","status":"Senior Software Quality Engineer @ Red Hat"},"change_message_id":"c28e88d4f3a306fbb82b36bc8f1ea2ac91c1205a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"a9f67caf_f754406c","updated":"2026-02-06 14:51:06.000000000","message":"Tested and verified on my machine using the Unified-17.1-Ceph-NFS-Ganesha CI Job. I would give a +1 to Verified if I could.","commit_id":"6237e1ad952f91ae0166595959cf1298bb0286b5"},{"author":{"_account_id":32704,"name":"Alfredo Garcia","display_name":"Alfredo Garcia","email":"alfrgarc@redhat.com","username":"alfrgarc","status":"Senior Software Quality Engineer @ Red Hat"},"change_message_id":"e59ad462c35b40af345a2683f4c9c9efa58d65e4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"fb2934d1_a1d30777","updated":"2026-02-04 14:30:08.000000000","message":"Well structured, well commented and relevant gates are passing. LGTM.","commit_id":"6237e1ad952f91ae0166595959cf1298bb0286b5"}],"tempest/scenario/test_volume_boot_pattern.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"fe46a29bab7468041015174b825d2b939634adb1","unresolved":false,"context_lines":[{"line_number":190,"context_line":"        5. Delete the latest snapshot and verify it succeeds."},{"line_number":191,"context_line":"        6. Delete the next latest snapshot and verify it succeeds."},{"line_number":192,"context_line":"        7. Delete the remaining snapshot and verify it succeeds."},{"line_number":193,"context_line":"        \"\"\""},{"line_number":194,"context_line":"        # Step 1: Create a bootable volume from an image"},{"line_number":195,"context_line":"        volume \u003d self.create_volume_from_image()"},{"line_number":196,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"70f22d22_82765626","line":193,"updated":"2025-08-27 02:29:59.000000000","message":"+1 thanks for updating this to cover the 3 snapshot case.","commit_id":"fde3c29b9c21755c77b59baab10ba395b8021099"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c72aed0a0526b33833f23105b080456078279c69","unresolved":false,"context_lines":[{"line_number":173,"context_line":"    @testtools.skipUnless(CONF.volume_feature_enabled.snapshot,"},{"line_number":174,"context_line":"                          \u0027Cinder volume snapshots are disabled\u0027)"},{"line_number":175,"context_line":"    @utils.services(\u0027compute\u0027, \u0027volume\u0027, \u0027image\u0027)"},{"line_number":176,"context_line":"    def test_bootable_volume_last_snapshot_delete_while_stopped(self):"},{"line_number":177,"context_line":"        \"\"\"Test bootable volume snapshot deletion while instance is stopped."},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"        This test ensures that all volume snapshots can be deleted which"}],"source_content_type":"text/x-python","patch_set":4,"id":"3b682d22_bb0d2f08","line":176,"in_reply_to":"349c863a_c7fd0d4b","updated":"2026-02-03 19:30:54.000000000","message":"in this case the last is imporant as that is what was failing due to the bug.\n\notherwise yes the suggestion woudl be valid.","commit_id":"d063040fc7a12e5e2e22b9825ae3e3ad49e2f307"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c72aed0a0526b33833f23105b080456078279c69","unresolved":false,"context_lines":[{"line_number":173,"context_line":"    @testtools.skipUnless(CONF.volume_feature_enabled.snapshot,"},{"line_number":174,"context_line":"                          \u0027Cinder volume snapshots are disabled\u0027)"},{"line_number":175,"context_line":"    @utils.services(\u0027compute\u0027, \u0027volume\u0027, \u0027image\u0027)"},{"line_number":176,"context_line":"    def test_bootable_volume_last_snapshot_delete_while_stopped(self):"},{"line_number":177,"context_line":"        \"\"\"Test bootable volume snapshot deletion while instance is stopped."},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"        This test ensures that all volume snapshots can be deleted which"}],"source_content_type":"text/x-python","patch_set":4,"id":"f3123950_7e0f88dc","line":176,"in_reply_to":"edfaa424_2ea76330","updated":"2026-02-03 19:30:54.000000000","message":"boot_instance_from_resource\n\nhttps://github.com/openstack/tempest/blob/7ee3b8125d69d6bfa7eeba670967de603e5f4b0b/tempest/scenario/manager.py#L1362-L1388\n\nwhich calls create_server\n\nhttps://github.com/openstack/tempest/blob/7ee3b8125d69d6bfa7eeba670967de603e5f4b0b/tempest/scenario/manager.py#L356-L359\n\nthat internally regiestres a cleanup function\n\nso in this case we do not need an explict delete.\n\ntest_create_server_from_volume_snapshot is also testign the delete on terminate behvior for the volume which is out of scope of this test.","commit_id":"d063040fc7a12e5e2e22b9825ae3e3ad49e2f307"},{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"3c8f56ffbc0a7639ec20598e58c154faf051c24e","unresolved":false,"context_lines":[{"line_number":201,"context_line":"            wait_until\u003d\u0027SSHABLE\u0027"},{"line_number":202,"context_line":"        )"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"        # Step 3: Create two volume snapshots of the bootable volume."},{"line_number":205,"context_line":"        # The force\u003dTrue is needed in order to snapshot an attached volume."},{"line_number":206,"context_line":"        snapshot1 \u003d self.create_volume_snapshot(volume[\u0027id\u0027], force\u003dTrue)"},{"line_number":207,"context_line":"        snapshot2 \u003d self.create_volume_snapshot(volume[\u0027id\u0027], force\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":4,"id":"d67103b0_e30b654c","line":204,"in_reply_to":"4c37bc60_d2948a2f","updated":"2026-02-03 20:50:39.000000000","message":"Done","commit_id":"d063040fc7a12e5e2e22b9825ae3e3ad49e2f307"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c72aed0a0526b33833f23105b080456078279c69","unresolved":true,"context_lines":[{"line_number":201,"context_line":"            wait_until\u003d\u0027SSHABLE\u0027"},{"line_number":202,"context_line":"        )"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"        # Step 3: Create two volume snapshots of the bootable volume."},{"line_number":205,"context_line":"        # The force\u003dTrue is needed in order to snapshot an attached volume."},{"line_number":206,"context_line":"        snapshot1 \u003d self.create_volume_snapshot(volume[\u0027id\u0027], force\u003dTrue)"},{"line_number":207,"context_line":"        snapshot2 \u003d self.create_volume_snapshot(volume[\u0027id\u0027], force\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":4,"id":"4c37bc60_d2948a2f","line":204,"in_reply_to":"caab33ce_55ab2155","updated":"2026-02-03 19:30:54.000000000","message":"\u003e **Suggestion**:\n\u003e Update the comment from \u0027Create two volume snapshots\u0027 to \u0027Create three volume snapshots\u0027 to match both the code implementation and the test docstring\n\n\n:) ya that vaild its a simple copy paste typo","commit_id":"d063040fc7a12e5e2e22b9825ae3e3ad49e2f307"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c72aed0a0526b33833f23105b080456078279c69","unresolved":false,"context_lines":[{"line_number":212,"context_line":"        waiters.wait_for_server_status(self.servers_client, instance[\u0027id\u0027],"},{"line_number":213,"context_line":"                                       \u0027SHUTOFF\u0027)"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"        # Step 5: Delete the latest (newest) snapshot"},{"line_number":216,"context_line":"        self.snapshots_client.delete_snapshot(snapshot3[\u0027id\u0027])"},{"line_number":217,"context_line":"        self.snapshots_client.wait_for_resource_deletion(snapshot3[\u0027id\u0027])"},{"line_number":218,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"417e5eb5_eecef248","line":215,"in_reply_to":"7cc7983a_312c94d4","updated":"2026-02-03 19:30:54.000000000","message":"\u003e **Recommendation**:\n\u003e Consider adding explicit assertions after each deletion to verify the snapshot no longer exists\n\n\nwaiting for the deletion will internally assert it cleaned up so in this case this is enough.","commit_id":"d063040fc7a12e5e2e22b9825ae3e3ad49e2f307"}]}
