)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":30615,"name":"Tushar Trambak Gite","email":"tushargite96@gmail.com","username":"tushargite96"},"change_message_id":"ac0890390c23875197909428bc4e43c7e3e1b57b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"edeaed6a_ad32fdb4","updated":"2022-01-10 10:27:08.000000000","message":"LGTM","commit_id":"f448f0755ee81555249288b3d52f92b49188118c"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"03e944ba368697e34d6a3090a7fe826a998476b6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"212339fe_cb2acac8","updated":"2022-01-21 17:00:46.000000000","message":"I think this looks OK, just have a question inline about how the deletion is handled in one of the tests.","commit_id":"6b64bf685385c5c12be4be7671ac0ed4e94d9b79"},{"author":{"_account_id":34247,"name":"huangbingyan","email":"huangbingyan@huawei.com","username":"bingyan"},"change_message_id":"f872f59ad65ac332744ed9ee070bc12dc0227878","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"0f84e8cf_0750d4bb","updated":"2022-01-21 15:28:42.000000000","message":"looks good to me;\ni have a question when create \u0027snapshot_source_volume\u0027 add metadata\nwhat good is this","commit_id":"6b64bf685385c5c12be4be7671ac0ed4e94d9b79"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"6a5851fb981a202777b616dd7ee844d11bafd2fe","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"cbd15ead_3ddbe092","updated":"2022-01-24 18:34:03.000000000","message":"LGTM!","commit_id":"1ed274ac6804e8e91c7428caba2033a8b5d35bed"},{"author":{"_account_id":30615,"name":"Tushar Trambak Gite","email":"tushargite96@gmail.com","username":"tushargite96"},"change_message_id":"05a1cec15e231e7dcda10941db1c87b25e67b57a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"4f354809_d3ebe371","updated":"2022-03-22 04:58:32.000000000","message":"LGTM","commit_id":"7972a71cb461bd56d86c703034a5b25aecca0c3a"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"46e03560a0f94e0ba0a2b7908ab0deb6098cd83a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"06ef7369_b541f593","updated":"2022-04-29 13:53:18.000000000","message":"I think you need to fix one of the idempotent_ids:\nhttps://docs.openstack.org/tempest/latest/HACKING.html#test-identification-with-idempotent-id\n\nOtherwise the tests LGTM.  Thanks, Sofia!","commit_id":"7d70ec55885f2cda5886c576969fdc273442506e"},{"author":{"_account_id":30615,"name":"Tushar Trambak Gite","email":"tushargite96@gmail.com","username":"tushargite96"},"change_message_id":"d2297fb0eaf74155aa154a568f32469c2f541358","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"d77dd691_563b0c57","updated":"2022-05-19 06:02:20.000000000","message":"LGTM","commit_id":"50e97580b9e60437aa5a77f9b75797b2304aa761"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"8ebb50859336e6fc562443c56f4fa08f5c9cedb2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"618a4b2e_05fc392e","updated":"2022-05-02 14:26:09.000000000","message":"LGTM!","commit_id":"50e97580b9e60437aa5a77f9b75797b2304aa761"},{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"6a0bb1366a923f23c681a75c1f91c4f0e02aab38","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"75e1b308_d15e2240","updated":"2022-05-16 17:23:15.000000000","message":"Needs the depends on patch","commit_id":"50e97580b9e60437aa5a77f9b75797b2304aa761"},{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"5c853113be1d4a985452c264595297de25aa694d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"86a2a5b9_163d3a1d","updated":"2022-05-17 14:26:14.000000000","message":"recheck","commit_id":"50e97580b9e60437aa5a77f9b75797b2304aa761"},{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"06217cb6fd4a6aac0763eeb8bb215410a6857da4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"ef51af9e_5036b886","updated":"2022-05-17 20:13:11.000000000","message":"recheck \n\ncinder-tempest-plugin-cbak-s3 fails on installing devstack","commit_id":"50e97580b9e60437aa5a77f9b75797b2304aa761"},{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"97002e354690283124be514d7f03c96e866db2fc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"cb693b6f_21ce1267","updated":"2022-04-29 21:05:56.000000000","message":"recheck cinder-tempest-plugin-cbak-ceph","commit_id":"50e97580b9e60437aa5a77f9b75797b2304aa761"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"c0964aa834315c9bb1903868f8da2df76f05843b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"31a45008_1182438d","updated":"2022-09-15 17:24:17.000000000","message":"recheck\n\nneed logs","commit_id":"9b7a133648eb237c25421d13e9878f321c85c898"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"01507abb25b6d68319a82f7be89a9bf6ad1f95fb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"8cdeba57_b166bcc6","updated":"2024-03-07 15:38:42.000000000","message":"I was wondering if these are RBD specific but seems like they are just normal operations being performed and Eric confirmed that the sequence of deletion does test out our RBD deferred deletion code extensively so LGTM.","commit_id":"861993b5e9565a988a34087305dc5617a5693e4c"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"3cfc9cac74405a16066aa93b57a9ce155f1d5f13","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"59670972_9ac39314","updated":"2024-01-30 12:44:42.000000000","message":"Only changes since my PS 11 review have been in the depends-on and rebasing, so I\u0027m still +2 on this patch.  The dependency has merged.","commit_id":"861993b5e9565a988a34087305dc5617a5693e4c"},{"author":{"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},"change_message_id":"30451c680d4618af44fd9396174f1487eccc7a31","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"a823118a_6531221c","updated":"2024-01-30 13:04:14.000000000","message":"as the cinder patch only applies to master, do we need to make sure the test is not executed on the older branches? Maybe a flag? Just thinking...","commit_id":"861993b5e9565a988a34087305dc5617a5693e4c"},{"author":{"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},"change_message_id":"b7a98739a9e2771f4d447eed9c64453340d9bc84","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"2a011db6_de589a3e","updated":"2024-03-08 16:54:26.000000000","message":"recheck\n\na single failure in cinder-tempest-plugin-lvm-multiattach, probably due to resource issue.\ntempest.api.compute.servers.test_attach_interfaces.AttachInterfacesTestJSON.test_reassign_port_between_servers shows a kernel segmentation fault in the initramfs:\n\n\ninfo: initramfs: up at 9.17\n[   10.394112] virtio_blk virtio2: [vda] 2097152 512-byte logical blocks (1.07 GB/1.00 GiB)\n[   10.428550] GPT:Primary header thinks Alt. header is not at the end of the disk.\n[   10.429109] GPT:229375 !\u003d 2097151\n[   10.429361] GPT:Alternate GPT header not at the end of the disk.\n[   10.429715] GPT:229375 !\u003d 2097151\n[   10.429955] GPT: Use GNU Parted to correct GPT errors.\n[   11.050584] virtio_gpu virtio0: [drm] drm_plane_enable_fb_damage_clips() not called\n[   11.156756] random: crng init done\n[   11.318686] general protection fault, probably for non-canonical address 0xbbc5dcfc0785d420: 0000 [#1] SMP PTI\n[   11.319974] CPU: 0 PID: 145 Comm: modprobe Not tainted 5.15.0-71-generic #78-Ubuntu\n[   11.320718] Hardware name: OpenStack Foundation OpenStack Nova, BIOS 1.15.0-1 04/01/2014\n[   11.321533] RIP: 0010:__kmalloc_track_caller+0x119/0x340\n[   11.322459] Code: 8b 50 08 49 8b 00 49 83 78 10 00 48 89 45 c8 0f 84 cd 01 00 00 48 85 c0 0f 84 c4 01 00 00 41 8b 4c 24 28 49 8b 3c 24 48 01 c1 \u003c48\u003e 8b 19 48 89 ce 49 33 9c 24 b8 00 00 00 48 8d 4a 01 48 0f ce 48\n[   11.323868] RSP: 0018:ffffa2c7c063fba0 EFLAGS: 00000282\n[   11.324365] RAX: bbc5dcfc0785d420 RBX: ffff972d07deea28 RCX: bbc5dcfc0785d420\n[   11.324919] RDX: 0000000000003032 RSI: 0000000000000cc0 RDI: 0000000000035040\n[   11.325466] RBP: ffffa2c7c063fbe8 R08: ffff972d07235040 R09: ffff972d07d73bb0\n[   11.326001] R10: ffff972d07d73bb0 R11: 0000000000000000 R12: ffff972d04042200\n[   11.326527] R13: 0000000000000cc0 R14: 0000000000000000 R15: 0000000000000cc0\n[   11.327202] FS:  00007f9f5ddb86a0(0000) GS:ffff972d07200000(0000) knlGS:0000000000000000\n[   11.327790] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\n[   11.328260] CR2: 0000000000b4b998 CR3: 00000000078b8000 CR4: 00000000000006f0\n[   11.329092] Call Trace:\n[   11.330018]  \u003cTASK\u003e\n[   11.330429]  ? add_sect_attrs+0xd7/0x1b0\n[   11.330919]  kstrdup+0x32/0x70\n[   11.331433]  add_sect_attrs+0xd7/0x1b0\n[   11.331812]  mod_sysfs_setup+0x382/0x3d0\n[   11.332178]  ? blocking_notifier_call_chain_robust+0xc2/0xe0\n[   11.340700]  load_module+0xae3/0xbc0\n[   11.347435]  __do_sys_finit_module+0xbf/0x120\n[   11.354149]  __x64_sys_finit_module+0x18/0x20\n[   11.360877]  do_syscall_64+0x5c/0xc0\n[   11.367416]  ? putname+0x59/0x70\n[   11.373857]  ? do_sys_openat2+0x8b/0x160\n[   11.380423]  ? exit_to_user_mode_prepare+0x37/0xb0\n[   11.387004]  ? syscall_exit_to_user_mode+0x27/0x50\n[   11.393431]  ? do_syscall_64+0x69/0xc0\n[   11.399807]  ? do_syscall_64+0x69/0xc0\n[   11.406098]  entry_SYSCALL_64_after_hwframe+0x61/0xcb\n[   11.412779] RIP: 0033:0x7f9f5ddced77\n[   11.419629] Code: 48 89 57 30 48 8b 04 24 48 89 47 38 e9 77 a2 02 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 \u003c48\u003e 3d 01 f0 ff ff 0f 83 39 fd ff ff c3 48 c7 c6 01 00 00 00 e9 a1\n[   11.433260] RSP: 002b:00007ffd0354a738 EFLAGS: 00000202 ORIG_RAX: 0000000000000139\n[   11.440368] RAX: ffffffffffffffda RBX: 0000000000b3d9c0 RCX: 00007f9f5ddced77\n[   11.447212] RDX: 0000000000000000 RSI: 0000000000b3da50 RDI: 0000000000000003\n[   11.453995] RBP: 0000000000000003 R08: 0000000000000000 R09: 0000000000000001\n[   11.460702] R10: 00007f9f5de32300 R11: 0000000000000202 R12: 0000000000b3da50\n[   11.467330] R13: 0000000000000000 R14: 0000000000b3db20 R15: 0000000000000001\n[   11.474104]  \u003c/TASK\u003e\n[   11.480625] Modules linked in: hid_generic(+) usbhid hid virtio_rng virtio_gpu virtio_dma_buf drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops cec rc_core drm virtio_scsi virtio_net net_failover failover virtio_input virtio_blk qemu_fw_cfg 9pnet_virtio 9pnet pcnet32 8139cp mii ne2k_pci 8390 e1000e e1000\n[   11.503612] ---[ end trace 98d200c585e0e395 ]---\n[   11.510940] RIP: 0010:__kmalloc_track_caller+0x119/0x340\n[   11.518003] Code: 8b 50 08 49 8b 00 49 83 78 10 00 48 89 45 c8 0f 84 cd 01 00 00 48 85 c0 0f 84 c4 01 00 00 41 8b 4c 24 28 49 8b 3c 24 48 01 c1 \u003c48\u003e 8b 19 48 89 ce 49 33 9c 24 b8 00 00 00 48 8d 4a 01 48 0f ce 48\n[   11.532217] RSP: 0018:ffffa2c7c063fba0 EFLAGS: 00000282\n[   11.539379] RAX: bbc5dcfc0785d420 RBX: ffff972d07deea28 RCX: bbc5dcfc0785d420\n[   11.546394] RDX: 0000000000003032 RSI: 0000000000000cc0 RDI: 0000000000035040\n[   11.553348] RBP: ffffa2c7c063fbe8 R08: ffff972d07235040 R09: ffff972d07d73bb0\n[   11.560394] R10: ffff972d07d73bb0 R11: 0000000000000000 R12: ffff972d04042200\n[   11.567326] R13: 0000000000000cc0 R14: 0000000000000000 R15: 0000000000000cc0\n[   11.574222] FS:  00007f9f5ddb86a0(0000) GS:ffff972d07200000(0000) knlGS:0000000000000000\n[   11.581115] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033","commit_id":"861993b5e9565a988a34087305dc5617a5693e4c"},{"author":{"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},"change_message_id":"5fd9cdf51f0bcf4090c23b3202c3535b1d04a5ca","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"180827d1_b997b8e4","updated":"2024-03-08 13:13:43.000000000","message":"recheck\n\ninfra issue in cinder-tempest-plugin-cbak-ceph:\nW: Failed to fetch https://mirror.dfw.rackspace.opendev.org/ubuntu/dists/jammy/InRelease  Could not resolve \u0027mirror.dfw.rackspace.opendev.org\u0027","commit_id":"861993b5e9565a988a34087305dc5617a5693e4c"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"f0067bf7696172bbf90fa80c185ed4a635b04e1a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"4157642a_47c5a473","updated":"2024-01-26 13:22:12.000000000","message":"recheck cinder-tempest-plugin-lvm-nvmet-barbican failed during devstack setup, couldn\u0027t find a neutron plugin","commit_id":"861993b5e9565a988a34087305dc5617a5693e4c"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"ef57f3d85aedbeecfd9a63fb7c5a3bbc0bf2e686","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"1e0703b2_2c6d2a09","in_reply_to":"60ea1661_2bef985d","updated":"2024-03-07 17:38:58.000000000","message":"Thanks Luigi, approved!","commit_id":"861993b5e9565a988a34087305dc5617a5693e4c"},{"author":{"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},"change_message_id":"a4408521b3432102cb1a52408cc5efcd988195ae","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"60ea1661_2bef985d","in_reply_to":"8cdeba57_b166bcc6","updated":"2024-03-07 16:08:49.000000000","message":"We need to approve this patch, otherwise some tests are going to fail on zed: https://review.opendev.org/c/openstack/cinder/+/911942","commit_id":"861993b5e9565a988a34087305dc5617a5693e4c"}],"cinder_tempest_plugin/api/volume/test_volume_dependency.py":[{"author":{"_account_id":11075,"name":"Benny Kopilov","email":"bkopilov@redhat.com","username":"bkopilov"},"change_message_id":"46308569e20fee4f29f0ca7da31c01d917d37d9f","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2017 Huawei."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":2,"id":"0ba64cb6_ae4d4cdd","line":1,"updated":"2022-01-06 20:35:46.000000000","message":"Please update the date and the company name","commit_id":"5847aa763bfe35845a0d370c49dd48ddeabb5105"},{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"e0abf19089ab1100a1822c431060adf7fb9d86b3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2017 Huawei."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":2,"id":"60c35324_a1cf774f","line":1,"in_reply_to":"0ba64cb6_ae4d4cdd","updated":"2022-01-07 21:25:44.000000000","message":"Ack","commit_id":"5847aa763bfe35845a0d370c49dd48ddeabb5105"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"1a56d5f9f5242a896c889515802f3741bd4d2e19","unresolved":true,"context_lines":[{"line_number":27,"context_line":"    @classmethod"},{"line_number":28,"context_line":"    def skip_checks(cls):"},{"line_number":29,"context_line":"        super(VolumeDependencyTests, cls).skip_checks()"},{"line_number":30,"context_line":"        if CONF.ceph.enable_deferred_deletion:"},{"line_number":31,"context_line":"            raise cls.skipException(\"Cinder enable_deferred_deletion enabled\")"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    @classmethod"},{"line_number":34,"context_line":"    def setup_clients(cls):"}],"source_content_type":"text/x-python","patch_set":2,"id":"82d66272_4d04d142","line":31,"range":{"start_line":30,"start_character":8,"end_line":31,"end_character":78},"updated":"2022-01-07 16:38:40.000000000","message":"This should be removed -- this test should be independent of cinder config.","commit_id":"5847aa763bfe35845a0d370c49dd48ddeabb5105"},{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"e0abf19089ab1100a1822c431060adf7fb9d86b3","unresolved":false,"context_lines":[{"line_number":27,"context_line":"    @classmethod"},{"line_number":28,"context_line":"    def skip_checks(cls):"},{"line_number":29,"context_line":"        super(VolumeDependencyTests, cls).skip_checks()"},{"line_number":30,"context_line":"        if CONF.ceph.enable_deferred_deletion:"},{"line_number":31,"context_line":"            raise cls.skipException(\"Cinder enable_deferred_deletion enabled\")"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    @classmethod"},{"line_number":34,"context_line":"    def setup_clients(cls):"}],"source_content_type":"text/x-python","patch_set":2,"id":"101ecea8_196dce2a","line":31,"range":{"start_line":30,"start_character":8,"end_line":31,"end_character":78},"in_reply_to":"82d66272_4d04d142","updated":"2022-01-07 21:25:44.000000000","message":"Ack","commit_id":"5847aa763bfe35845a0d370c49dd48ddeabb5105"},{"author":{"_account_id":11075,"name":"Benny Kopilov","email":"bkopilov@redhat.com","username":"bkopilov"},"change_message_id":"c3cd0e8a6e44fad5bf81107176c166f68d2bd58b","unresolved":true,"context_lines":[{"line_number":38,"context_line":"    def setUp(self):"},{"line_number":39,"context_line":"        super(VolumeDependencyTests, self).setUp()"},{"line_number":40,"context_line":"        # Create volume"},{"line_number":41,"context_line":"        self.volume \u003d self.create_volume()"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    @decorators.idempotent_id(\u002787b7dcb7-4950-4a3a-802c-ece55491846d\u0027)"},{"line_number":44,"context_line":"    def test_delete_source_volume(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"ab5043cf_910f15c5","line":41,"updated":"2022-01-06 20:57:18.000000000","message":"One more comment , i did not test it but looks like the base code for create_volume use addClassResourceCleanup and this code called in resource_cleanup .\nNeed to check that the cleaup really works after each testcase deletion . looks like deletion goes to resource_cleanup .. (not sure) maybe i am confused","commit_id":"5847aa763bfe35845a0d370c49dd48ddeabb5105"},{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"e0abf19089ab1100a1822c431060adf7fb9d86b3","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    def setUp(self):"},{"line_number":39,"context_line":"        super(VolumeDependencyTests, self).setUp()"},{"line_number":40,"context_line":"        # Create volume"},{"line_number":41,"context_line":"        self.volume \u003d self.create_volume()"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    @decorators.idempotent_id(\u002787b7dcb7-4950-4a3a-802c-ece55491846d\u0027)"},{"line_number":44,"context_line":"    def test_delete_source_volume(self):"}],"source_content_type":"text/x-python","patch_set":2,"id":"87032bc8_17850ded","line":41,"in_reply_to":"ab5043cf_910f15c5","updated":"2022-01-07 21:25:44.000000000","message":"As far as I understand, addClassResourceCleanup is not a problem here because it checks that the resource returns 404 otherwise try deleting it.","commit_id":"5847aa763bfe35845a0d370c49dd48ddeabb5105"},{"author":{"_account_id":11075,"name":"Benny Kopilov","email":"bkopilov@redhat.com","username":"bkopilov"},"change_message_id":"46308569e20fee4f29f0ca7da31c01d917d37d9f","unresolved":true,"context_lines":[{"line_number":48,"context_line":"        * Delete the source volume"},{"line_number":49,"context_line":"        \"\"\""},{"line_number":50,"context_line":"        kwargs \u003d {\u0027source_volid\u0027: self.volume[\u0027id\u0027]}"},{"line_number":51,"context_line":"        self.create_volume(**kwargs)"},{"line_number":52,"context_line":"        self.volumes_client.delete_volume(self.volume[\u0027id\u0027])"},{"line_number":53,"context_line":"        self.volumes_client.wait_for_resource_deletion(self.volume[\u0027id\u0027])"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"a2d4a79c_f779c88a","line":51,"updated":"2022-01-06 20:35:46.000000000","message":"You create here a volume with source_volid without a reference name, i would expect that cinder show returns valid output . i think there is no reason to use setUp() for the original volume creation ... its create depenency for all tests...having self.volume by default .\nI think it will be much better to create the volume inside the testcase.\nSomething like:\norigin_volume \u003d self.create_volume()  #please note its an empty volume maybe better to have it #with image.\n\nsource_volume \u003d self.create_volume(**kwargs)\n# please add a simple assert to verify that cloned volume shown in source_volume\n\n origin_volume.delete_volume(self.volume[\u0027id\u0027])\n origin_volume.wait_for_resource_deletion(self.volume[\u0027id\u0027])\n\nOnce you delete the origin volume please check inside source_volume the metadata ... was any change in volume metadata ... please assert it if needed.","commit_id":"5847aa763bfe35845a0d370c49dd48ddeabb5105"},{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"e0abf19089ab1100a1822c431060adf7fb9d86b3","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        * Delete the source volume"},{"line_number":49,"context_line":"        \"\"\""},{"line_number":50,"context_line":"        kwargs \u003d {\u0027source_volid\u0027: self.volume[\u0027id\u0027]}"},{"line_number":51,"context_line":"        self.create_volume(**kwargs)"},{"line_number":52,"context_line":"        self.volumes_client.delete_volume(self.volume[\u0027id\u0027])"},{"line_number":53,"context_line":"        self.volumes_client.wait_for_resource_deletion(self.volume[\u0027id\u0027])"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"33250794_2fd03930","line":51,"in_reply_to":"a2d4a79c_f779c88a","updated":"2022-01-07 21:25:44.000000000","message":"\u003e You create here a volume with source_volid without a reference name, i would expect that cinder show returns valid output . i think there is no reason to use setUp() for the original volume creation ... its create depenency for all tests...having self.volume by default .\n\u003e I think it will be much better to create the volume inside the testcase.\n\nAgree. Let me update.\n\u003e Something like:\n\u003e origin_volume \u003d self.create_volume()  #please note its an empty volume maybe better to have it #with image.\n\nAs this is a api volume, I\u0027m not sure if this is 100% necessary. Maybe I can add what you are suggestion on test_create_from_image.py\n\n\n\u003e source_volume \u003d self.create_volume(**kwargs)\n\u003e # please add a simple assert to verify that cloned volume shown in source_volume\n\u003e \n\u003e  origin_volume.delete_volume(self.volume[\u0027id\u0027])\n\u003e  origin_volume.wait_for_resource_deletion(self.volume[\u0027id\u0027])\n\u003e \n\u003e Once you delete the origin volume please check inside source_volume the metadata ... was any change in volume metadata ... please assert it if needed.\n\nI\u0027m not completely sure why check the metadata of the cloned_volume. As far as I see it, the aim of this test is to check if the deletion of the source volume raise an exception.","commit_id":"5847aa763bfe35845a0d370c49dd48ddeabb5105"},{"author":{"_account_id":11075,"name":"Benny Kopilov","email":"bkopilov@redhat.com","username":"bkopilov"},"change_message_id":"46308569e20fee4f29f0ca7da31c01d917d37d9f","unresolved":true,"context_lines":[{"line_number":61,"context_line":"        * Delete the source snapshot"},{"line_number":62,"context_line":"        \"\"\""},{"line_number":63,"context_line":"        snapshot \u003d self.create_snapshot(self.volume[\u0027id\u0027],"},{"line_number":64,"context_line":"                                        metadata\u003d{\u0027mykey1\u0027: \u0027value1\u0027})"},{"line_number":65,"context_line":"        kwargs \u003d {\u0027snapshot_id\u0027: snapshot[\u0027id\u0027]}"},{"line_number":66,"context_line":"        self.create_volume(**kwargs)"},{"line_number":67,"context_line":"        self.snapshots_client.delete_snapshot(snapshot[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"6307c960_2df7c6b9","line":64,"updated":"2022-01-06 20:35:46.000000000","message":"Here we have :\norig_volume \nsnapshot_origin_volume\nvolume_from_snapshot without name ... \n\nOnce you delete the snapshot , any change in the volume that created from this snapshot ?\nMabe we can try to create another snapshot from volume (the one with the deleted snapshot)","commit_id":"5847aa763bfe35845a0d370c49dd48ddeabb5105"},{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"e0abf19089ab1100a1822c431060adf7fb9d86b3","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        * Delete the source snapshot"},{"line_number":62,"context_line":"        \"\"\""},{"line_number":63,"context_line":"        snapshot \u003d self.create_snapshot(self.volume[\u0027id\u0027],"},{"line_number":64,"context_line":"                                        metadata\u003d{\u0027mykey1\u0027: \u0027value1\u0027})"},{"line_number":65,"context_line":"        kwargs \u003d {\u0027snapshot_id\u0027: snapshot[\u0027id\u0027]}"},{"line_number":66,"context_line":"        self.create_volume(**kwargs)"},{"line_number":67,"context_line":"        self.snapshots_client.delete_snapshot(snapshot[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":2,"id":"05dab5c7_458ca098","line":64,"in_reply_to":"6307c960_2df7c6b9","updated":"2022-01-07 21:25:44.000000000","message":"\u003e Here we have :\n\u003e orig_volume \n\u003e snapshot_origin_volume\n\u003e volume_from_snapshot without name ... \n\u003e Once you delete the snapshot , any change in the volume that created from this snapshot ?\nSure. I\u0027ll update\n\n\u003e Mabe we can try to create another snapshot from volume (the one with the deleted snapshot\nI can add that in a follow up patch.","commit_id":"5847aa763bfe35845a0d370c49dd48ddeabb5105"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"03e944ba368697e34d6a3090a7fe826a998476b6","unresolved":true,"context_lines":[{"line_number":67,"context_line":"        self.snapshots_client.wait_for_resource_deletion("},{"line_number":68,"context_line":"            snapshot_source_volume[\u0027id\u0027])"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"        self.volumes_client.delete_volume(volume_from_snapshot[\u0027id\u0027])"},{"line_number":71,"context_line":"        self.volumes_client.wait_for_resource_deletion("},{"line_number":72,"context_line":"            volume_from_snapshot[\u0027id\u0027])"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"        self.volumes_client.delete_volume(source_volume[\u0027id\u0027])"},{"line_number":75,"context_line":"        self.volumes_client.wait_for_resource_deletion(source_volume[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"11b14dd5_58eea4fa","line":75,"range":{"start_line":70,"start_character":0,"end_line":75,"end_character":75},"updated":"2022-01-21 17:00:46.000000000","message":"Is there a specific reason for deleting these manually?  I can see doing this at line 44, it\u0027s explicitly part of that test to make sure that the source volume can be deleted while the cloned volume still exists.  But here, I thought all you wanted to test (according to the commit message) is that if you create a volume from a snapshot, you should be able to delete the snapshot while the volume exists.  So we should be able to just let the class cleanup delete the two volumes, because at this point, they are independent volumes, the order of deletion shouldn\u0027t matter (or does it?).","commit_id":"6b64bf685385c5c12be4be7671ac0ed4e94d9b79"},{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"cf875dcd43186b7721cd9cb184fe4324e7e9db44","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        self.snapshots_client.wait_for_resource_deletion("},{"line_number":68,"context_line":"            snapshot_source_volume[\u0027id\u0027])"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"        self.volumes_client.delete_volume(volume_from_snapshot[\u0027id\u0027])"},{"line_number":71,"context_line":"        self.volumes_client.wait_for_resource_deletion("},{"line_number":72,"context_line":"            volume_from_snapshot[\u0027id\u0027])"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"        self.volumes_client.delete_volume(source_volume[\u0027id\u0027])"},{"line_number":75,"context_line":"        self.volumes_client.wait_for_resource_deletion(source_volume[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"025d858a_c13c07a5","line":75,"range":{"start_line":70,"start_character":0,"end_line":75,"end_character":75},"in_reply_to":"11b14dd5_58eea4fa","updated":"2022-01-24 15:53:15.000000000","message":"True. This test only wants to check the snapshot deletion.","commit_id":"6b64bf685385c5c12be4be7671ac0ed4e94d9b79"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"d40d5abae309bab7ed20aed2d67f282cb9050a2c","unresolved":true,"context_lines":[{"line_number":1,"context_line":"# -*- coding: utf-8 -*-"},{"line_number":2,"context_line":"# Copyright 2022 Red Hat, Inc."},{"line_number":3,"context_line":"# All Rights Reserved."},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":6,"id":"8907f057_4835eeb3","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":1},"updated":"2022-03-09 20:04:23.000000000","message":"This is not needed, Python source is assumed to be in utf8 by default.","commit_id":"1ed274ac6804e8e91c7428caba2033a8b5d35bed"},{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"512be2ec981b9ed64727b48db17dddb2cde7022d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# -*- coding: utf-8 -*-"},{"line_number":2,"context_line":"# Copyright 2022 Red Hat, Inc."},{"line_number":3,"context_line":"# All Rights Reserved."},{"line_number":4,"context_line":"#"}],"source_content_type":"text/x-python","patch_set":6,"id":"8bfe0744_3f697541","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":1},"in_reply_to":"8907f057_4835eeb3","updated":"2022-03-11 14:36:12.000000000","message":"Done","commit_id":"1ed274ac6804e8e91c7428caba2033a8b5d35bed"},{"author":{"_account_id":11075,"name":"Benny Kopilov","email":"bkopilov@redhat.com","username":"bkopilov"},"change_message_id":"cb69ff0208221c97993ac98bcb9b8712a4c38244","unresolved":true,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    @classmethod"},{"line_number":28,"context_line":"    def setup_clients(cls):"},{"line_number":29,"context_line":"        cls._api_version \u003d 3"},{"line_number":30,"context_line":"        super(VolumeDependencyTests, cls).setup_clients()"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    @decorators.idempotent_id(\u002787b7dcb7-4950-4a3a-802c-ece55491846d\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"3cd335ed_d113646e","line":29,"updated":"2022-03-22 06:59:10.000000000","message":"Where do we use _api_version ? why should we set it ?","commit_id":"7972a71cb461bd56d86c703034a5b25aecca0c3a"},{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"81df624a51c2e596a61194db76c84455d49f9a50","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    @classmethod"},{"line_number":28,"context_line":"    def setup_clients(cls):"},{"line_number":29,"context_line":"        cls._api_version \u003d 3"},{"line_number":30,"context_line":"        super(VolumeDependencyTests, cls).setup_clients()"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    @decorators.idempotent_id(\u002787b7dcb7-4950-4a3a-802c-ece55491846d\u0027)"}],"source_content_type":"text/x-python","patch_set":7,"id":"3824770c_3448842c","line":29,"in_reply_to":"3cd335ed_d113646e","updated":"2022-03-24 12:31:57.000000000","message":"Done","commit_id":"7972a71cb461bd56d86c703034a5b25aecca0c3a"},{"author":{"_account_id":11075,"name":"Benny Kopilov","email":"bkopilov@redhat.com","username":"bkopilov"},"change_message_id":"cb69ff0208221c97993ac98bcb9b8712a4c38244","unresolved":true,"context_lines":[{"line_number":53,"context_line":"        \"\"\""},{"line_number":54,"context_line":"        source_volume \u003d self.create_volume()"},{"line_number":55,"context_line":"        snapshot_source_volume \u003d self.create_snapshot(source_volume[\u0027id\u0027],"},{"line_number":56,"context_line":"                                                      metadata\u003d{\u0027mykey1\u0027:"},{"line_number":57,"context_line":"                                                                \u0027value1\u0027})"},{"line_number":58,"context_line":"        kwargs \u003d {\u0027snapshot_id\u0027: snapshot_source_volume[\u0027id\u0027]}"},{"line_number":59,"context_line":"        volume_from_snapshot \u003d self.create_volume(**kwargs)"}],"source_content_type":"text/x-python","patch_set":7,"id":"c43c58dc_4fcebf07","line":56,"updated":"2022-03-22 06:59:10.000000000","message":"Why do we need metadata?","commit_id":"7972a71cb461bd56d86c703034a5b25aecca0c3a"},{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"81df624a51c2e596a61194db76c84455d49f9a50","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        \"\"\""},{"line_number":54,"context_line":"        source_volume \u003d self.create_volume()"},{"line_number":55,"context_line":"        snapshot_source_volume \u003d self.create_snapshot(source_volume[\u0027id\u0027],"},{"line_number":56,"context_line":"                                                      metadata\u003d{\u0027mykey1\u0027:"},{"line_number":57,"context_line":"                                                                \u0027value1\u0027})"},{"line_number":58,"context_line":"        kwargs \u003d {\u0027snapshot_id\u0027: snapshot_source_volume[\u0027id\u0027]}"},{"line_number":59,"context_line":"        volume_from_snapshot \u003d self.create_volume(**kwargs)"}],"source_content_type":"text/x-python","patch_set":7,"id":"85a80058_37a50e21","line":56,"in_reply_to":"c43c58dc_4fcebf07","updated":"2022-03-24 12:31:57.000000000","message":"Done","commit_id":"7972a71cb461bd56d86c703034a5b25aecca0c3a"},{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"81df624a51c2e596a61194db76c84455d49f9a50","unresolved":true,"context_lines":[{"line_number":61,"context_line":"        self.snapshots_client.delete_snapshot(snapshot_source_volume[\u0027id\u0027])"},{"line_number":62,"context_line":"        self.snapshots_client.wait_for_resource_deletion("},{"line_number":63,"context_line":"            snapshot_source_volume[\u0027id\u0027])"},{"line_number":64,"context_line":"        self.volumes_client.delete_volume(source_volume[\u0027id\u0027])"},{"line_number":65,"context_line":"        self.volumes_client.wait_for_resource_deletion(source_volume[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":9,"id":"01cebe3f_2f3b41f2","line":64,"updated":"2022-03-24 12:31:57.000000000","message":"This is odd. The deletion of the source volume should fails.Maybe is moving the volume to trash?","commit_id":"c88b0ecefd9d79f59cfbf69c55851817bbb236f9"},{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"453f771374261849ad99700788e17ddbfc20ae35","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        self.snapshots_client.delete_snapshot(snapshot_source_volume[\u0027id\u0027])"},{"line_number":62,"context_line":"        self.snapshots_client.wait_for_resource_deletion("},{"line_number":63,"context_line":"            snapshot_source_volume[\u0027id\u0027])"},{"line_number":64,"context_line":"        self.volumes_client.delete_volume(source_volume[\u0027id\u0027])"},{"line_number":65,"context_line":"        self.volumes_client.wait_for_resource_deletion(source_volume[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":9,"id":"c1e14dbb_3a17eb34","line":64,"in_reply_to":"01cebe3f_2f3b41f2","updated":"2022-03-24 14:40:14.000000000","message":"Ignore my previous comment, the source volume is moving to trash and this test should fail on the clean up process because It still has dependencies and the trash is not clean.","commit_id":"c88b0ecefd9d79f59cfbf69c55851817bbb236f9"},{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"bcf8a1dd98c0ce23adaacd0ab1a6fcc671f630ef","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        self.snapshots_client.delete_snapshot(snapshot_source_volume[\u0027id\u0027])"},{"line_number":62,"context_line":"        self.snapshots_client.wait_for_resource_deletion("},{"line_number":63,"context_line":"            snapshot_source_volume[\u0027id\u0027])"},{"line_number":64,"context_line":"        self.volumes_client.delete_volume(source_volume[\u0027id\u0027])"},{"line_number":65,"context_line":"        self.volumes_client.wait_for_resource_deletion(source_volume[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":9,"id":"cd05ad97_a97fb9d6","line":64,"in_reply_to":"c1e14dbb_3a17eb34","updated":"2022-03-25 14:17:13.000000000","message":"My last comment is inaccurate again. L64 moves the source volume to trash and cinder logs show \"Delete volume successfully\". Finally, the test finished and the source_volume is still in the trash but the clean up process removes the volume_from_snapshot successfully.\n\nIn addition, tempest.scenario.test_volume_boot_pattern.TestVolumeBootPattern.test_volume_boot_pattern  passed. This test gave us some problems before because of this clean up process but passed now.","commit_id":"c88b0ecefd9d79f59cfbf69c55851817bbb236f9"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"46e03560a0f94e0ba0a2b7908ab0deb6098cd83a","unresolved":true,"context_lines":[{"line_number":42,"context_line":"        self.volumes_client.delete_volume(source_volume[\u0027id\u0027])"},{"line_number":43,"context_line":"        self.volumes_client.wait_for_resource_deletion(source_volume[\u0027id\u0027])"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    @decorators.idempotent_id(\u002787b7dcb7-4950-4a3a-802c-ece55491848d\u0027)"},{"line_number":46,"context_line":"    def test_delete_source_snapshot(self):"},{"line_number":47,"context_line":"        \"\"\"Test basic dependency deletion with snapshot"},{"line_number":48,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"5ee9cff7_3b1ec121","line":45,"range":{"start_line":45,"start_character":31,"end_line":45,"end_character":67},"updated":"2022-04-29 13:53:18.000000000","message":"Shouldn\u0027t this have a unique id?  This is the same as line 31.","commit_id":"7d70ec55885f2cda5886c576969fdc273442506e"},{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"bb25b6aa6bc52e737e1aa335d785428653f34d45","unresolved":false,"context_lines":[{"line_number":42,"context_line":"        self.volumes_client.delete_volume(source_volume[\u0027id\u0027])"},{"line_number":43,"context_line":"        self.volumes_client.wait_for_resource_deletion(source_volume[\u0027id\u0027])"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    @decorators.idempotent_id(\u002787b7dcb7-4950-4a3a-802c-ece55491848d\u0027)"},{"line_number":46,"context_line":"    def test_delete_source_snapshot(self):"},{"line_number":47,"context_line":"        \"\"\"Test basic dependency deletion with snapshot"},{"line_number":48,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"dbc663ba_1d8c6fac","line":45,"range":{"start_line":45,"start_character":31,"end_line":45,"end_character":67},"in_reply_to":"5ee9cff7_3b1ec121","updated":"2022-04-29 18:46:24.000000000","message":"Done","commit_id":"7d70ec55885f2cda5886c576969fdc273442506e"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"01507abb25b6d68319a82f7be89a9bf6ad1f95fb","unresolved":true,"context_lines":[{"line_number":55,"context_line":"        snapshot_source_volume \u003d self.create_snapshot(source_volume[\u0027id\u0027])"},{"line_number":56,"context_line":"        kwargs \u003d {\u0027snapshot_id\u0027: snapshot_source_volume[\u0027id\u0027]}"},{"line_number":57,"context_line":"        volume_from_snapshot \u003d self.create_volume(**kwargs)"},{"line_number":58,"context_line":"        self.assertEqual(volume_from_snapshot[\u0027snapshot_id\u0027],"},{"line_number":59,"context_line":"                         snapshot_source_volume[\u0027id\u0027])"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        self.snapshots_client.delete_snapshot(snapshot_source_volume[\u0027id\u0027])"},{"line_number":62,"context_line":"        self.snapshots_client.wait_for_resource_deletion("}],"source_content_type":"text/x-python","patch_set":14,"id":"a9c1652f_b9603f33","line":59,"range":{"start_line":58,"start_character":25,"end_line":59,"end_character":53},"updated":"2024-03-07 15:38:42.000000000","message":"nit: assertEqual(expected, result) would be preferred\nself.assertEqual(snapshot_source_volume[\u0027id\u0027], volume_from_snapshot[\u0027snapshot_id\u0027])","commit_id":"861993b5e9565a988a34087305dc5617a5693e4c"}]}
