)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"101942f7f06aeaff58ac49df8c488ec01de69085","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"f45b1e2e_f10270e7","updated":"2023-08-30 08:02:26.000000000","message":"What about the other actions list attachments, update an attachment ... ?","commit_id":"c655fb3c48b6401020b152107040dbbcd40ef883"},{"author":{"_account_id":35834,"name":"Yosi Ben Shimon","display_name":"Yosi Ben Shimon","email":"ybenshim@redhat.com","username":"ybenshim"},"change_message_id":"e74501a2c0a8393b76ab6fb24df7b7199961254b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"90a7c387_505193cb","updated":"2023-08-17 06:21:06.000000000","message":"recheck\n\nUnrelated issue in cinder-tempest-plugin-lvm-multiattach","commit_id":"c655fb3c48b6401020b152107040dbbcd40ef883"},{"author":{"_account_id":35834,"name":"Yosi Ben Shimon","display_name":"Yosi Ben Shimon","email":"ybenshim@redhat.com","username":"ybenshim"},"change_message_id":"f8bb7ff9fa4c1cf95d4c1cc0705dbd0a5104b37f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"cfe2a7d8_9afafe07","updated":"2023-08-28 06:26:08.000000000","message":"recheck\n\nUnrelated issue in cinder-tempest-plugin-lvm-multiattach","commit_id":"c655fb3c48b6401020b152107040dbbcd40ef883"},{"author":{"_account_id":35834,"name":"Yosi Ben Shimon","display_name":"Yosi Ben Shimon","email":"ybenshim@redhat.com","username":"ybenshim"},"change_message_id":"2ab47deb6a9d33b6ee3feb37349c465510e7ee1b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"f39f8847_9fb74701","updated":"2023-08-28 18:35:58.000000000","message":"recheck\n\nUnrelated issue in cinder-tempest-plugin-lvm-multiattach","commit_id":"c655fb3c48b6401020b152107040dbbcd40ef883"},{"author":{"_account_id":35834,"name":"Yosi Ben Shimon","display_name":"Yosi Ben Shimon","email":"ybenshim@redhat.com","username":"ybenshim"},"change_message_id":"2491c60bef78ee7cc58045b271527c2966f61725","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"ae57d24c_755596f5","updated":"2023-08-27 09:20:19.000000000","message":"recheck\n\nUnrelated issues in cinder-tempest-plugin-lvm-lio-barbican","commit_id":"c655fb3c48b6401020b152107040dbbcd40ef883"},{"author":{"_account_id":35834,"name":"Yosi Ben Shimon","display_name":"Yosi Ben Shimon","email":"ybenshim@redhat.com","username":"ybenshim"},"change_message_id":"c8712fc1a2d8473e0b40c042363d5578251565a6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"64a03aa0_b8a62afa","updated":"2023-08-27 14:58:13.000000000","message":"recheck\n\nUnrelated issues in cinder-tempest-plugin-lvm-lio-barbican and cinder-tempest-plugin-lvm-nvmet-barbican","commit_id":"c655fb3c48b6401020b152107040dbbcd40ef883"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"ef3ce7ff9b2bf4b39fb9ef165aa689472d039ce1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"4921b3ec_08aa96b9","updated":"2023-08-21 06:07:15.000000000","message":"recheck\nunrelated timeout issue","commit_id":"c655fb3c48b6401020b152107040dbbcd40ef883"},{"author":{"_account_id":35834,"name":"Yosi Ben Shimon","display_name":"Yosi Ben Shimon","email":"ybenshim@redhat.com","username":"ybenshim"},"change_message_id":"692907f55ddc54c1d765c12980691913a555fcf8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"a0c7fb82_9050c63d","updated":"2023-08-30 07:10:33.000000000","message":"run-NetApp CI","commit_id":"c655fb3c48b6401020b152107040dbbcd40ef883"},{"author":{"_account_id":35834,"name":"Yosi Ben Shimon","display_name":"Yosi Ben Shimon","email":"ybenshim@redhat.com","username":"ybenshim"},"change_message_id":"ab993cd2612c9381ba8e2ad094d395dc10dfe149","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"c8affbfe_e7e5d77e","in_reply_to":"f45b1e2e_f10270e7","updated":"2023-08-30 09:15:41.000000000","message":"These are not yet implemented in the client","commit_id":"c655fb3c48b6401020b152107040dbbcd40ef883"},{"author":{"_account_id":35834,"name":"Yosi Ben Shimon","display_name":"Yosi Ben Shimon","email":"ybenshim@redhat.com","username":"ybenshim"},"change_message_id":"1d2956e2627007e3578e39954d6e9bbacd9fa7b0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"597dbe8c_7f00feb9","updated":"2023-09-13 10:58:48.000000000","message":"recheck\n\nSome unrelated issues","commit_id":"c5fd9545d9e5133268bafd530421b1784bad3512"},{"author":{"_account_id":35834,"name":"Yosi Ben Shimon","display_name":"Yosi Ben Shimon","email":"ybenshim@redhat.com","username":"ybenshim"},"change_message_id":"600ee43a973f4ece7d834a83e106da0595fe626e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"007b81c2_6b8b9131","updated":"2023-10-01 07:14:41.000000000","message":"recheck\n\nUnrelated issue in cinder-tempest-plugin-lvm-multiattach","commit_id":"c5fd9545d9e5133268bafd530421b1784bad3512"},{"author":{"_account_id":35834,"name":"Yosi Ben Shimon","display_name":"Yosi Ben Shimon","email":"ybenshim@redhat.com","username":"ybenshim"},"change_message_id":"793d3226d62cf85f0960c666ff553542decfc614","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"2bdd7275_084a5c89","updated":"2023-09-13 20:58:37.000000000","message":"recheck\n\nUnrelated issue in cinder-tempest-plugin-lvm-multiattach","commit_id":"c5fd9545d9e5133268bafd530421b1784bad3512"},{"author":{"_account_id":35834,"name":"Yosi Ben Shimon","display_name":"Yosi Ben Shimon","email":"ybenshim@redhat.com","username":"ybenshim"},"change_message_id":"3c8ed6b0ebaa1aebb9808cf189f0104ce7e5a24b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"c7abb5c0_4ceaf436","updated":"2023-09-05 10:24:45.000000000","message":"recheck\n\nUnrelated issue in cinder-tempest-plugin-lvm-multiattach","commit_id":"c5fd9545d9e5133268bafd530421b1784bad3512"},{"author":{"_account_id":35834,"name":"Yosi Ben Shimon","display_name":"Yosi Ben Shimon","email":"ybenshim@redhat.com","username":"ybenshim"},"change_message_id":"ffadb9fa4ca2dbcd02e368523afff2b4c9ffbc79","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"a7934541_485067eb","updated":"2023-09-20 11:07:22.000000000","message":"recheck\n\nUnrelated issue in cinder-tempest-plugin-lvm-multiattach and cinder-tempest-plugin-lvm-lio-barbican","commit_id":"c5fd9545d9e5133268bafd530421b1784bad3512"},{"author":{"_account_id":35834,"name":"Yosi Ben Shimon","display_name":"Yosi Ben Shimon","email":"ybenshim@redhat.com","username":"ybenshim"},"change_message_id":"b8624ffecef952709ef2d0c4a2a9ec3ea71913b2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"d6f00852_936124e5","updated":"2023-09-28 11:01:36.000000000","message":"recheck\n\nUnrelated issue in cinder-tempest-plugin-lvm-multiattach and cinder-tempest-plugin-lvm-lio-barbican","commit_id":"c5fd9545d9e5133268bafd530421b1784bad3512"},{"author":{"_account_id":35834,"name":"Yosi Ben Shimon","display_name":"Yosi Ben Shimon","email":"ybenshim@redhat.com","username":"ybenshim"},"change_message_id":"1b6e43da619d4dd34123da771982a2eda26d2f63","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"e7d60e8a_5461ee07","updated":"2023-09-18 06:59:08.000000000","message":"recheck\n\nUnrelated issue in cinder-tempest-plugin-lvm-multiattach and cinder-tempest-plugin-lvm-lio-barbican","commit_id":"c5fd9545d9e5133268bafd530421b1784bad3512"},{"author":{"_account_id":35834,"name":"Yosi Ben Shimon","display_name":"Yosi Ben Shimon","email":"ybenshim@redhat.com","username":"ybenshim"},"change_message_id":"af1e7fbfd71917f84f0c62d9586e5ac88bc7569a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"4bddd949_d2b4716f","updated":"2023-09-07 06:09:58.000000000","message":"recheck\n\nUnrelated issue in cinder-tempest-plugin-lvm-multiattach and cinder-tempest-plugin-lvm-nvmet-barbican","commit_id":"c5fd9545d9e5133268bafd530421b1784bad3512"},{"author":{"_account_id":35834,"name":"Yosi Ben Shimon","display_name":"Yosi Ben Shimon","email":"ybenshim@redhat.com","username":"ybenshim"},"change_message_id":"e0c9f34fc3163cc8a0acf060eeed8c2d61b9dbf7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"f737fec0_aa281a28","updated":"2024-06-09 13:43:25.000000000","message":"recheck","commit_id":"0a2d8591457d2b112980439d2c91a06456d24a71"},{"author":{"_account_id":35834,"name":"Yosi Ben Shimon","display_name":"Yosi Ben Shimon","email":"ybenshim@redhat.com","username":"ybenshim"},"change_message_id":"7386cc288f1c562fb15153fd5ca5e9fea3b69aea","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":15,"id":"d9cc621e_cd7def33","updated":"2024-10-09 05:54:52.000000000","message":"recheck\nissues in cinder-tempest-plugin-lvm-nvmet-barbican and cinder-tempest-plugin-cbak-s3","commit_id":"ff26d5203e2ffd3f391d59f56af994c44da3efc5"}],"cinder_tempest_plugin/rbac/v3/base.py":[{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"dd7c46e4cd9d26322c5182c4cb57068a8ade84b4","unresolved":true,"context_lines":[{"line_number":188,"context_line":"        return backup"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"    @classmethod"},{"line_number":191,"context_line":"    def create_server(cls, client\u003dNone, wait_until\u003d\u0027ACTIVE\u0027, **kwargs):"},{"line_number":192,"context_line":"        \"\"\"Wrapper utility that returns a test server."},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"        Args:"}],"source_content_type":"text/x-python","patch_set":6,"id":"b210f30d_0ca00085","line":191,"range":{"start_line":191,"start_character":4,"end_line":191,"end_character":71},"updated":"2024-04-07 09:23:12.000000000","message":"I believe it should be placed in the base class since I\u0027ve noticed it\u0027s being used in other places.\nAdditionally, it does not need to be defined as a class method.","commit_id":"c5fd9545d9e5133268bafd530421b1784bad3512"}],"cinder_tempest_plugin/rbac/v3/test_attachments.py":[{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"2f95be29b3985c073bef42403c668fd7f3570d2b","unresolved":true,"context_lines":[{"line_number":32,"context_line":"        cls.vol_other_client \u003d cls.os_project_admin.volumes_client_latest"},{"line_number":33,"context_line":"        cls.server_client \u003d cls.os_project_admin.servers_client"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    @classmethod"},{"line_number":36,"context_line":"    def _create_test_attachment(self, cleanup\u003dTrue):"},{"line_number":37,"context_line":"        volume_id \u003d self.create_volume(client\u003dself.vol_other_client)"},{"line_number":38,"context_line":"        server_id \u003d self.create_server(client\u003dself.os_project_admin)"}],"source_content_type":"text/x-python","patch_set":1,"id":"10cb3ae8_b5e1ea47","line":35,"range":{"start_line":35,"start_character":4,"end_line":35,"end_character":16},"updated":"2023-08-15 09:08:31.000000000","message":"I shouldn\u0027t be a class method.","commit_id":"f6c5480ea7f0dbb4ef4568b7a1642bc13f9f2c83"},{"author":{"_account_id":35834,"name":"Yosi Ben Shimon","display_name":"Yosi Ben Shimon","email":"ybenshim@redhat.com","username":"ybenshim"},"change_message_id":"aa65322e47cea55eacd775d2be9916563af24fca","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        cls.vol_other_client \u003d cls.os_project_admin.volumes_client_latest"},{"line_number":33,"context_line":"        cls.server_client \u003d cls.os_project_admin.servers_client"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    @classmethod"},{"line_number":36,"context_line":"    def _create_test_attachment(self, cleanup\u003dTrue):"},{"line_number":37,"context_line":"        volume_id \u003d self.create_volume(client\u003dself.vol_other_client)"},{"line_number":38,"context_line":"        server_id \u003d self.create_server(client\u003dself.os_project_admin)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1d1c6869_27565c31","line":35,"range":{"start_line":35,"start_character":4,"end_line":35,"end_character":16},"in_reply_to":"10cb3ae8_b5e1ea47","updated":"2023-08-15 18:23:11.000000000","message":"Done","commit_id":"f6c5480ea7f0dbb4ef4568b7a1642bc13f9f2c83"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"e9faff4c1b4d03cdb8960ba711e3f077a6fbe7b4","unresolved":true,"context_lines":[{"line_number":51,"context_line":"            volume_id\u003dvolume_id"},{"line_number":52,"context_line":"        )[\u0027volume\u0027][\u0027attachments\u0027][0]"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"        self.addClassResourceCleanup("},{"line_number":55,"context_line":"            test_utils.call_and_ignore_notfound_exc,"},{"line_number":56,"context_line":"            waiters.wait_for_volume_resource_status,"},{"line_number":57,"context_line":"            client\u003dself.vol_other_client,"}],"source_content_type":"text/x-python","patch_set":1,"id":"0fc17096_a5c5fa8d","line":54,"range":{"start_line":54,"start_character":8,"end_line":54,"end_character":36},"updated":"2023-08-15 12:51:05.000000000","message":"You\u0027ll need to use self.addCleanup","commit_id":"f6c5480ea7f0dbb4ef4568b7a1642bc13f9f2c83"},{"author":{"_account_id":35834,"name":"Yosi Ben Shimon","display_name":"Yosi Ben Shimon","email":"ybenshim@redhat.com","username":"ybenshim"},"change_message_id":"aa65322e47cea55eacd775d2be9916563af24fca","unresolved":false,"context_lines":[{"line_number":51,"context_line":"            volume_id\u003dvolume_id"},{"line_number":52,"context_line":"        )[\u0027volume\u0027][\u0027attachments\u0027][0]"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"        self.addClassResourceCleanup("},{"line_number":55,"context_line":"            test_utils.call_and_ignore_notfound_exc,"},{"line_number":56,"context_line":"            waiters.wait_for_volume_resource_status,"},{"line_number":57,"context_line":"            client\u003dself.vol_other_client,"}],"source_content_type":"text/x-python","patch_set":1,"id":"1979749f_14ef1a24","line":54,"range":{"start_line":54,"start_character":8,"end_line":54,"end_character":36},"in_reply_to":"0fc17096_a5c5fa8d","updated":"2023-08-15 18:23:11.000000000","message":"Done","commit_id":"f6c5480ea7f0dbb4ef4568b7a1642bc13f9f2c83"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"e9faff4c1b4d03cdb8960ba711e3f077a6fbe7b4","unresolved":true,"context_lines":[{"line_number":60,"context_line":"        )"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        if cleanup:"},{"line_number":63,"context_line":"            self.addClassResourceCleanup("},{"line_number":64,"context_line":"                self.vol_other_client.detach_volume, volume_id"},{"line_number":65,"context_line":"            )"},{"line_number":66,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"2e22140e_f06c23f1","line":63,"range":{"start_line":63,"start_character":12,"end_line":63,"end_character":40},"updated":"2023-08-15 12:51:05.000000000","message":"Same here!","commit_id":"f6c5480ea7f0dbb4ef4568b7a1642bc13f9f2c83"},{"author":{"_account_id":35834,"name":"Yosi Ben Shimon","display_name":"Yosi Ben Shimon","email":"ybenshim@redhat.com","username":"ybenshim"},"change_message_id":"aa65322e47cea55eacd775d2be9916563af24fca","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        )"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        if cleanup:"},{"line_number":63,"context_line":"            self.addClassResourceCleanup("},{"line_number":64,"context_line":"                self.vol_other_client.detach_volume, volume_id"},{"line_number":65,"context_line":"            )"},{"line_number":66,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"0c91ff76_c11527d3","line":63,"range":{"start_line":63,"start_character":12,"end_line":63,"end_character":40},"in_reply_to":"2e22140e_f06c23f1","updated":"2023-08-15 18:23:11.000000000","message":"Done","commit_id":"f6c5480ea7f0dbb4ef4568b7a1642bc13f9f2c83"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"2f95be29b3985c073bef42403c668fd7f3570d2b","unresolved":true,"context_lines":[{"line_number":60,"context_line":"        )"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        if cleanup:"},{"line_number":63,"context_line":"            self.addClassResourceCleanup("},{"line_number":64,"context_line":"                self.vol_other_client.detach_volume, volume_id"},{"line_number":65,"context_line":"            )"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"        return attachment"}],"source_content_type":"text/x-python","patch_set":1,"id":"b598ea90_cffc9180","line":64,"range":{"start_line":63,"start_character":0,"end_line":64,"end_character":62},"updated":"2023-08-15 09:08:31.000000000","message":"Please wait for the volume to be in available status.","commit_id":"f6c5480ea7f0dbb4ef4568b7a1642bc13f9f2c83"},{"author":{"_account_id":35834,"name":"Yosi Ben Shimon","display_name":"Yosi Ben Shimon","email":"ybenshim@redhat.com","username":"ybenshim"},"change_message_id":"aa65322e47cea55eacd775d2be9916563af24fca","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        )"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"        if cleanup:"},{"line_number":63,"context_line":"            self.addClassResourceCleanup("},{"line_number":64,"context_line":"                self.vol_other_client.detach_volume, volume_id"},{"line_number":65,"context_line":"            )"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"        return attachment"}],"source_content_type":"text/x-python","patch_set":1,"id":"23789afa_2aae23eb","line":64,"range":{"start_line":63,"start_character":0,"end_line":64,"end_character":62},"in_reply_to":"b598ea90_cffc9180","updated":"2023-08-15 18:23:11.000000000","message":"Done","commit_id":"f6c5480ea7f0dbb4ef4568b7a1642bc13f9f2c83"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"101942f7f06aeaff58ac49df8c488ec01de69085","unresolved":true,"context_lines":[{"line_number":32,"context_line":"        cls.vol_other_client \u003d cls.os_project_admin.volumes_client_latest"},{"line_number":33,"context_line":"        cls.server_client \u003d cls.os_project_admin.servers_client"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def _create_test_attachment(self, cleanup\u003dTrue):"},{"line_number":36,"context_line":"        volume_id \u003d self.create_volume(client\u003dself.vol_other_client)"},{"line_number":37,"context_line":"        server_id \u003d self.create_server(client\u003dself.os_project_admin)"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"4145e43d_91e7b392","line":35,"range":{"start_line":35,"start_character":8,"end_line":35,"end_character":31},"updated":"2023-08-30 08:02:26.000000000","message":"It\u0027s clearer to call it \"_attach_volume_to_server\"","commit_id":"c655fb3c48b6401020b152107040dbbcd40ef883"},{"author":{"_account_id":35834,"name":"Yosi Ben Shimon","display_name":"Yosi Ben Shimon","email":"ybenshim@redhat.com","username":"ybenshim"},"change_message_id":"6746ccd9b2aff3f0289d0c0e93dfc2ecf07bb520","unresolved":true,"context_lines":[{"line_number":32,"context_line":"        cls.vol_other_client \u003d cls.os_project_admin.volumes_client_latest"},{"line_number":33,"context_line":"        cls.server_client \u003d cls.os_project_admin.servers_client"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def _create_test_attachment(self, cleanup\u003dTrue):"},{"line_number":36,"context_line":"        volume_id \u003d self.create_volume(client\u003dself.vol_other_client)"},{"line_number":37,"context_line":"        server_id \u003d self.create_server(client\u003dself.os_project_admin)"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"4e3dbf1c_5b3d2de7","line":35,"range":{"start_line":35,"start_character":8,"end_line":35,"end_character":31},"in_reply_to":"2fe3905c_8b2291e9","updated":"2023-09-05 05:56:17.000000000","message":"Actually, \"create_attachment\" will be more accurate since this method not only performs the _attach_ action but also creates the volume and server as well as cleanups.","commit_id":"c655fb3c48b6401020b152107040dbbcd40ef883"},{"author":{"_account_id":35834,"name":"Yosi Ben Shimon","display_name":"Yosi Ben Shimon","email":"ybenshim@redhat.com","username":"ybenshim"},"change_message_id":"ab993cd2612c9381ba8e2ad094d395dc10dfe149","unresolved":true,"context_lines":[{"line_number":32,"context_line":"        cls.vol_other_client \u003d cls.os_project_admin.volumes_client_latest"},{"line_number":33,"context_line":"        cls.server_client \u003d cls.os_project_admin.servers_client"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def _create_test_attachment(self, cleanup\u003dTrue):"},{"line_number":36,"context_line":"        volume_id \u003d self.create_volume(client\u003dself.vol_other_client)"},{"line_number":37,"context_line":"        server_id \u003d self.create_server(client\u003dself.os_project_admin)"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"f52e5407_e9973cf1","line":35,"range":{"start_line":35,"start_character":8,"end_line":35,"end_character":31},"in_reply_to":"4145e43d_91e7b392","updated":"2023-08-30 09:15:41.000000000","message":"It\u0027s not a test. just a method to create attachment object.","commit_id":"c655fb3c48b6401020b152107040dbbcd40ef883"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"5bbf25b2af1be775f6cc45855da037bbf2413635","unresolved":true,"context_lines":[{"line_number":32,"context_line":"        cls.vol_other_client \u003d cls.os_project_admin.volumes_client_latest"},{"line_number":33,"context_line":"        cls.server_client \u003d cls.os_project_admin.servers_client"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def _create_test_attachment(self, cleanup\u003dTrue):"},{"line_number":36,"context_line":"        volume_id \u003d self.create_volume(client\u003dself.vol_other_client)"},{"line_number":37,"context_line":"        server_id \u003d self.create_server(client\u003dself.os_project_admin)"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"f0eb0d66_bab61767","line":35,"range":{"start_line":35,"start_character":8,"end_line":35,"end_character":31},"in_reply_to":"4e3dbf1c_5b3d2de7","updated":"2023-09-05 06:12:09.000000000","message":"ok","commit_id":"c655fb3c48b6401020b152107040dbbcd40ef883"},{"author":{"_account_id":35834,"name":"Yosi Ben Shimon","display_name":"Yosi Ben Shimon","email":"ybenshim@redhat.com","username":"ybenshim"},"change_message_id":"083625630efe4951ea5e7cdb781d09c3d7b613a4","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        cls.vol_other_client \u003d cls.os_project_admin.volumes_client_latest"},{"line_number":33,"context_line":"        cls.server_client \u003d cls.os_project_admin.servers_client"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def _create_test_attachment(self, cleanup\u003dTrue):"},{"line_number":36,"context_line":"        volume_id \u003d self.create_volume(client\u003dself.vol_other_client)"},{"line_number":37,"context_line":"        server_id \u003d self.create_server(client\u003dself.os_project_admin)"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"a7d3f888_4cb6f621","line":35,"range":{"start_line":35,"start_character":8,"end_line":35,"end_character":31},"in_reply_to":"f0eb0d66_bab61767","updated":"2024-01-17 14:17:10.000000000","message":"Done","commit_id":"c655fb3c48b6401020b152107040dbbcd40ef883"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"9d9dcad56f3e17a3e1483f869f1ca395cc7f42a1","unresolved":true,"context_lines":[{"line_number":32,"context_line":"        cls.vol_other_client \u003d cls.os_project_admin.volumes_client_latest"},{"line_number":33,"context_line":"        cls.server_client \u003d cls.os_project_admin.servers_client"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def _create_test_attachment(self, cleanup\u003dTrue):"},{"line_number":36,"context_line":"        volume_id \u003d self.create_volume(client\u003dself.vol_other_client)"},{"line_number":37,"context_line":"        server_id \u003d self.create_server(client\u003dself.os_project_admin)"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"2fe3905c_8b2291e9","line":35,"range":{"start_line":35,"start_character":8,"end_line":35,"end_character":31},"in_reply_to":"f52e5407_e9973cf1","updated":"2023-08-30 10:17:20.000000000","message":"I know it\u0027s not a test. _attach_volume_to_server describes what the purpose of this method. You mentioned test in the name.","commit_id":"c655fb3c48b6401020b152107040dbbcd40ef883"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"9e9c95a0cc26d5c9d4da1e4606cd7d79d7703b00","unresolved":true,"context_lines":[{"line_number":399,"context_line":"        )"},{"line_number":400,"context_line":""},{"line_number":401,"context_line":"        # Test showing attachment created by admin from different project"},{"line_number":402,"context_line":"        # - should fail even for project_admin role"},{"line_number":403,"context_line":"        # (project_admin only has access to their project)"},{"line_number":404,"context_line":"        alt_admin_attachment \u003d self._create_attachment("},{"line_number":405,"context_line":"            volumes_client\u003dself.alt_admin_volumes_client,"},{"line_number":406,"context_line":"            os_manager\u003dself.os_project_alt_admin,"}],"source_content_type":"text/x-python","patch_set":23,"id":"ab5e589c_3098ad43","line":403,"range":{"start_line":402,"start_character":0,"end_line":403,"end_character":58},"updated":"2026-03-23 09:48:02.000000000","message":"based on the current design of Cinder, this information isn\u0027t accurate\nthere is a condition in Cinder\u0027s DB code that only enforces the project scope if the user is not admin\nhttps://github.com/openstack/cinder/blob/master/cinder/db/sqlalchemy/api.py#L315\nhttps://github.com/openstack/cinder/blob/master/cinder/db/sqlalchemy/api.py#L120-L121","commit_id":"bf1de233c64c4ddc731f6e4d0690d3cb72dbe67a"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"513a6ccd3cea6e0174b1a13fe0fbddfea95008c2","unresolved":true,"context_lines":[{"line_number":301,"context_line":"            server_client\u003dself.member_server_client,"},{"line_number":302,"context_line":"            cleanup\u003dcleanup"},{"line_number":303,"context_line":"        )"},{"line_number":304,"context_line":"        self.do_request("},{"line_number":305,"context_line":"            method\u003d\u0027delete_attachment\u0027,"},{"line_number":306,"context_line":"            attachment_id\u003dattachment[\u0027attachment_id\u0027],"},{"line_number":307,"context_line":"            expected_status\u003d200"},{"line_number":308,"context_line":"        )"},{"line_number":309,"context_line":""},{"line_number":310,"context_line":"        # Test deleting attachment created by user from different project"},{"line_number":311,"context_line":"        # - should fail"}],"source_content_type":"text/x-python","patch_set":24,"id":"a46c3570_2de47797","line":308,"range":{"start_line":304,"start_character":8,"end_line":308,"end_character":9},"updated":"2026-03-25 13:51:46.000000000","message":"we should never call delete attachment directly (CINDER API)\nWe should always call detach volume (NOVA) otherwise there will be improper cleanup and might lead to leftovers after the tempest run (or probably unstable behavior while trying to delete the instance)","commit_id":"99c81f6661a48e7102148d9f2e34dd356f5a8e34"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"4d9629dcceac101e09081306c775de1dbfef19ac","unresolved":true,"context_lines":[{"line_number":301,"context_line":"            server_client\u003dself.member_server_client,"},{"line_number":302,"context_line":"            cleanup\u003dcleanup"},{"line_number":303,"context_line":"        )"},{"line_number":304,"context_line":"        self.do_request("},{"line_number":305,"context_line":"            method\u003d\u0027delete_attachment\u0027,"},{"line_number":306,"context_line":"            attachment_id\u003dattachment[\u0027attachment_id\u0027],"},{"line_number":307,"context_line":"            expected_status\u003d200"},{"line_number":308,"context_line":"        )"},{"line_number":309,"context_line":""},{"line_number":310,"context_line":"        # Test deleting attachment created by user from different project"},{"line_number":311,"context_line":"        # - should fail"}],"source_content_type":"text/x-python","patch_set":24,"id":"bc6ae371_e5bd22f7","line":308,"range":{"start_line":304,"start_character":8,"end_line":308,"end_character":9},"in_reply_to":"a46c3570_2de47797","updated":"2026-03-26 11:19:52.000000000","message":"Thanks for the clarification\n\nIf I understand correctly, this means we can only validate the permissions for the delete attachment operation for users who are not allowed to perform it and hope these users indeed do not have the permissions for this operation.\n\nAlso, since Nova already handles this operation as part of the detach workflow, in which cases is it expected to be used directly? For example, could this be relevant in failure scenarios where Nova’s detach operation only partially completes, leaving orphaned attachments in Cinder?","commit_id":"99c81f6661a48e7102148d9f2e34dd356f5a8e34"}]}
