)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"b372ca34455b83a3a9da38aace84244b01956303","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"625c4655_06087de9","updated":"2026-04-15 14:04:27.000000000","message":"Thanks for fixing this.  Logic suggestion inline; the -1 is to get your attention (because you might not notice a +1 with comment!).  LMK what you think.","commit_id":"e3c8b40cce0137a06aae3fe0cfbc618c454cbf15"},{"author":{"_account_id":31903,"name":"Alejandro Santoyo Gonzalez","email":"alejandro.santoyo@canonical.com","username":"alejandrosg"},"change_message_id":"e6f6670489df3fe7dba3aff30fe9c9045052a292","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"9264aeca_34155e8a","updated":"2026-03-25 10:56:26.000000000","message":"recheck","commit_id":"e3c8b40cce0137a06aae3fe0cfbc618c454cbf15"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"db60fafa10965e3cfb0084288903bd490082bc1f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"28dc2d96_674649d0","updated":"2026-04-29 18:43:37.000000000","message":"Please add a releasenote for this change","commit_id":"3cf0fedd86461aa76e54c300efd1505f616679bc"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"aa84e256a6e6916797073565bcfac4ebe18ebe2e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"f60859d2_02da0eac","updated":"2026-04-28 16:06:32.000000000","message":"Revision LGTM.","commit_id":"3cf0fedd86461aa76e54c300efd1505f616679bc"},{"author":{"_account_id":31903,"name":"Alejandro Santoyo Gonzalez","email":"alejandro.santoyo@canonical.com","username":"alejandrosg"},"change_message_id":"2c72c31f040650df3be87c68c38a9fcb578a1a06","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"d2f3c73b_b678c451","updated":"2026-04-27 14:51:37.000000000","message":"recheck","commit_id":"3cf0fedd86461aa76e54c300efd1505f616679bc"},{"author":{"_account_id":31903,"name":"Alejandro Santoyo Gonzalez","email":"alejandro.santoyo@canonical.com","username":"alejandrosg"},"change_message_id":"ad48c4f2725007999c993746114bfaa6238daf9b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"4d3c7d34_7957c669","updated":"2026-04-28 09:05:45.000000000","message":"recheck cinder failed to create volume","commit_id":"3cf0fedd86461aa76e54c300efd1505f616679bc"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"4b5ae147168cbf595c1f0c0f37b59c9d9edc7248","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"0728a7a4_52d97120","updated":"2026-05-04 18:04:27.000000000","message":"I should add, other than that, the revisions since patch set 5 LGTM.","commit_id":"8337859b513719f6f8d67face2a6343c8b79366c"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"3233fa8a1dcfa812906e7e8ad63dbdd169289630","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"45a17c51_ab8d9aa7","updated":"2026-05-04 18:03:32.000000000","message":"The pep8 failure is due to trailing whitespace in the release note.","commit_id":"8337859b513719f6f8d67face2a6343c8b79366c"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"a032e1498a805c7e66ab7617e21f572e38e51977","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"3f05ada6_d569b508","updated":"2026-05-06 13:07:44.000000000","message":"Looks like all the concerns have been addressed.","commit_id":"2096a784695d5b7304822693b595d9238b66209d"}],"cinder/image/glance.py":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"b372ca34455b83a3a9da38aace84244b01956303","unresolved":true,"context_lines":[{"line_number":643,"context_line":""},{"line_number":644,"context_line":"        # NOTE(tsekiyama): From the Image API v2, custom properties must"},{"line_number":645,"context_line":"        # be stored in image_meta directly, instead of the \u0027properties\u0027 key."},{"line_number":646,"context_line":"        properties \u003d image_meta.get(\u0027properties\u0027)"},{"line_number":647,"context_line":"        # ensure key deletion even when properties\u003d{} (LP#2144550)"},{"line_number":648,"context_line":"        if properties is not None:"},{"line_number":649,"context_line":"            if properties:"},{"line_number":650,"context_line":"                image_meta.update(properties)"},{"line_number":651,"context_line":"            del image_meta[\u0027properties\u0027]"}],"source_content_type":"text/x-python","patch_set":4,"id":"9b6366a8_bcd2219b","line":648,"range":{"start_line":646,"start_character":0,"end_line":648,"end_character":34},"updated":"2026-04-15 14:04:27.000000000","message":"I wonder if it would be better to structure the logic like this:\n\n            if \u0027properties\u0027 in image_meta:\n                properties \u003d image_meta[\u0027properties\u0027]\n                if properties:\n                    image_meta.update(properties)\n                del image_meta[\u0027properties\u0027]\n\nThat way we\u0027re guaranteed to remove the \u0027properties\u0027 element if it\u0027s present at all (just in case, if due to refactoring, somehow image_meta \u003d {\u0027properties\u0027: None}, which i think would ultimately be translated to \"properties\": null in JSON, which would probably fail for glance because I think the glance schema requires all \"additional properties\" to be strings.  But I may be over-engineering this.","commit_id":"e3c8b40cce0137a06aae3fe0cfbc618c454cbf15"},{"author":{"_account_id":31903,"name":"Alejandro Santoyo Gonzalez","email":"alejandro.santoyo@canonical.com","username":"alejandrosg"},"change_message_id":"2c72c31f040650df3be87c68c38a9fcb578a1a06","unresolved":false,"context_lines":[{"line_number":643,"context_line":""},{"line_number":644,"context_line":"        # NOTE(tsekiyama): From the Image API v2, custom properties must"},{"line_number":645,"context_line":"        # be stored in image_meta directly, instead of the \u0027properties\u0027 key."},{"line_number":646,"context_line":"        properties \u003d image_meta.get(\u0027properties\u0027)"},{"line_number":647,"context_line":"        # ensure key deletion even when properties\u003d{} (LP#2144550)"},{"line_number":648,"context_line":"        if properties is not None:"},{"line_number":649,"context_line":"            if properties:"},{"line_number":650,"context_line":"                image_meta.update(properties)"},{"line_number":651,"context_line":"            del image_meta[\u0027properties\u0027]"}],"source_content_type":"text/x-python","patch_set":4,"id":"f98a62a8_ffb4847c","line":648,"range":{"start_line":646,"start_character":0,"end_line":648,"end_character":34},"in_reply_to":"9b6366a8_bcd2219b","updated":"2026-04-27 14:51:37.000000000","message":"Thanks for looking at this. Makes total sense to err on the side of caution, I will submit a new patch as soon as I can.","commit_id":"e3c8b40cce0137a06aae3fe0cfbc618c454cbf15"}],"cinder/tests/unit/volume/test_image.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"db60fafa10965e3cfb0084288903bd490082bc1f","unresolved":true,"context_lines":[{"line_number":847,"context_line":""},{"line_number":848,"context_line":"        # this is correct, glance gets a \"flat\" dict of properties"},{"line_number":849,"context_line":"        self.assertNotIn(\u0027properties\u0027, sent_to_glance)"},{"line_number":850,"context_line":""},{"line_number":851,"context_line":"        # make sure the image would be created in Glance with the"},{"line_number":852,"context_line":"        # correct key_id"},{"line_number":853,"context_line":"        self.assertEqual(image_meta[\u0027cinder_encryption_key_id\u0027],"}],"source_content_type":"text/x-python","patch_set":5,"id":"70d5ff89_bec95363","side":"PARENT","line":850,"updated":"2026-04-29 18:43:37.000000000","message":"Should re-add this line break to keep the patch clean.","commit_id":"c84f0e05ce4b7c6afffa4616ae5f01711f2a7626"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"2eef2bf0951816ba84fcd71c7a0e66ce0a290a94","unresolved":false,"context_lines":[{"line_number":847,"context_line":""},{"line_number":848,"context_line":"        # this is correct, glance gets a \"flat\" dict of properties"},{"line_number":849,"context_line":"        self.assertNotIn(\u0027properties\u0027, sent_to_glance)"},{"line_number":850,"context_line":""},{"line_number":851,"context_line":"        # make sure the image would be created in Glance with the"},{"line_number":852,"context_line":"        # correct key_id"},{"line_number":853,"context_line":"        self.assertEqual(image_meta[\u0027cinder_encryption_key_id\u0027],"}],"source_content_type":"text/x-python","patch_set":5,"id":"5cd7e2aa_482417df","side":"PARENT","line":850,"in_reply_to":"70d5ff89_bec95363","updated":"2026-05-05 20:36:37.000000000","message":"Done","commit_id":"c84f0e05ce4b7c6afffa4616ae5f01711f2a7626"}]}
