)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"e8c056739a9c27bc37d9b9a485f192898b9755c9","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Adds flatten_volume_from_snapshot config option"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Adds flatten_volume_from_snapshot option, so that colume snapshots can"},{"line_number":10,"context_line":"be run on environment with ceph"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ib422331892f077d78e3f2efbdd88abafc4c52b9a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"bf51134e_8972a548","line":10,"range":{"start_line":10,"start_character":27,"end_line":10,"end_character":31},"updated":"2020-07-20 17:17:56.000000000","message":"Ceph when you can\u0027t delete a parent snapshot for volume. For more details, please see Cinder documentation [1].\n\n[1] https://docs.openstack.org/cinder/ussuri/drivers.html#rbddriver","commit_id":"8badc718d0d66b3a57657165d76ce6b0dfdc12d9"},{"author":{"_account_id":28032,"name":"Oleksiy Petrenko","email":"opetrenko@mirantis.com","username":"enacero"},"change_message_id":"d7bf10c85a891bd8ed3cb2b0035e165048774fe1","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Adds flatten_volume_from_snapshot config option"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Adds flatten_volume_from_snapshot option, so that colume snapshots can"},{"line_number":10,"context_line":"be run on environment with ceph"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ib422331892f077d78e3f2efbdd88abafc4c52b9a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"bf51134e_e6570426","line":10,"range":{"start_line":10,"start_character":27,"end_line":10,"end_character":31},"in_reply_to":"bf51134e_8972a548","updated":"2020-07-21 08:26:12.000000000","message":"Done","commit_id":"8badc718d0d66b3a57657165d76ce6b0dfdc12d9"},{"author":{"_account_id":29313,"name":"Vishal Manchanda","email":"manchandavishal143@gmail.com","username":"vishalmanchanda"},"change_message_id":"9bd58886d2a8741b42d293bffcda865d4bb6dc72","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Adds flatten_volume_from_snapshot config option, that controls whether"},{"line_number":10,"context_line":"to test only situation where first test deletes volume and then snapshot"},{"line_number":11,"context_line":"or also second situation, where first test deletes snapshot and then "},{"line_number":12,"context_line":"volume. Second situation is impossible with Ceph [1]."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"[1] https://docs.openstack.org/cinder/ussuri/drivers.html#rbddriver"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"9f560f44_1bfacdbb","line":11,"range":{"start_line":11,"start_character":68,"end_line":11,"end_character":69},"updated":"2020-08-05 13:18:51.000000000","message":"nit: unnecessary blank space.","commit_id":"416a687f45bd1cdfdfc01d317b8554e5aca622ef"}],"openstack_dashboard/test/integration_tests/config.py":[{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"e8c056739a9c27bc37d9b9a485f192898b9755c9","unresolved":false,"context_lines":[{"line_number":164,"context_line":"               help\u003d\u0027Default volume size \u0027),"},{"line_number":165,"context_line":"    cfg.BoolOpt(\u0027flatten_volume_from_snapshot\u0027,"},{"line_number":166,"context_line":"                default\u003dTrue,"},{"line_number":167,"context_line":"                help\u003d\u0027Set to true to run both scenarios in create_volume \u0027"},{"line_number":168,"context_line":"                     \u0027snapshot test, set to false, to run only flatten rbd \u0027"},{"line_number":169,"context_line":"                     \u0027scenario\u0027)"},{"line_number":170,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf51134e_e98c0130","line":167,"range":{"start_line":167,"start_character":46,"end_line":167,"end_character":55},"updated":"2020-07-20 17:17:56.000000000","message":"Please, specify which scenarios do you mean","commit_id":"8badc718d0d66b3a57657165d76ce6b0dfdc12d9"},{"author":{"_account_id":28032,"name":"Oleksiy Petrenko","email":"opetrenko@mirantis.com","username":"enacero"},"change_message_id":"d7bf10c85a891bd8ed3cb2b0035e165048774fe1","unresolved":false,"context_lines":[{"line_number":164,"context_line":"               help\u003d\u0027Default volume size \u0027),"},{"line_number":165,"context_line":"    cfg.BoolOpt(\u0027flatten_volume_from_snapshot\u0027,"},{"line_number":166,"context_line":"                default\u003dTrue,"},{"line_number":167,"context_line":"                help\u003d\u0027Set to true to run both scenarios in create_volume \u0027"},{"line_number":168,"context_line":"                     \u0027snapshot test, set to false, to run only flatten rbd \u0027"},{"line_number":169,"context_line":"                     \u0027scenario\u0027)"},{"line_number":170,"context_line":"]"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf51134e_c6548024","line":167,"range":{"start_line":167,"start_character":46,"end_line":167,"end_character":55},"in_reply_to":"bf51134e_e98c0130","updated":"2020-07-21 08:26:12.000000000","message":"Done","commit_id":"8badc718d0d66b3a57657165d76ce6b0dfdc12d9"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"7f588fcc9b84f402518b5c63f5d004fb33f0928b","unresolved":false,"context_lines":[{"line_number":162,"context_line":"    cfg.StrOpt(\u0027volume_size\u0027,"},{"line_number":163,"context_line":"               default\u003d\u00271\u0027,"},{"line_number":164,"context_line":"               help\u003d\u0027Default volume size \u0027),"},{"line_number":165,"context_line":"    cfg.BoolOpt(\u0027flatten_volume_from_snapshot\u0027,"},{"line_number":166,"context_line":"                default\u003dTrue,"},{"line_number":167,"context_line":"                help\u003d\u0027Set to true to run test_create_volume_from_snapshot \u0027"},{"line_number":168,"context_line":"                     \u0027and test_create_volume_from_snapshot_for_rbd, \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_d854e556","line":165,"range":{"start_line":165,"start_character":17,"end_line":165,"end_character":45},"updated":"2020-09-08 20:03:53.000000000","message":"What does \"flatten\" here mean? If it means whether a snapshot can be deleted before a volume from the snapshot, I prefer to a name which explains the behavior more clearly.","commit_id":"416a687f45bd1cdfdfc01d317b8554e5aca622ef"},{"author":{"_account_id":28032,"name":"Oleksiy Petrenko","email":"opetrenko@mirantis.com","username":"enacero"},"change_message_id":"fb8599d07a6ae37253e75f20ce9a65a6de9dd1d2","unresolved":false,"context_lines":[{"line_number":162,"context_line":"    cfg.StrOpt(\u0027volume_size\u0027,"},{"line_number":163,"context_line":"               default\u003d\u00271\u0027,"},{"line_number":164,"context_line":"               help\u003d\u0027Default volume size \u0027),"},{"line_number":165,"context_line":"    cfg.BoolOpt(\u0027flatten_volume_from_snapshot\u0027,"},{"line_number":166,"context_line":"                default\u003dTrue,"},{"line_number":167,"context_line":"                help\u003d\u0027Set to true to run test_create_volume_from_snapshot \u0027"},{"line_number":168,"context_line":"                     \u0027and test_create_volume_from_snapshot_for_rbd, \u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_4c16fb5a","line":165,"range":{"start_line":165,"start_character":17,"end_line":165,"end_character":45},"in_reply_to":"9f560f44_d854e556","updated":"2020-09-14 12:45:15.000000000","message":"Done","commit_id":"416a687f45bd1cdfdfc01d317b8554e5aca622ef"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"7f588fcc9b84f402518b5c63f5d004fb33f0928b","unresolved":false,"context_lines":[{"line_number":167,"context_line":"                help\u003d\u0027Set to true to run test_create_volume_from_snapshot \u0027"},{"line_number":168,"context_line":"                     \u0027and test_create_volume_from_snapshot_for_rbd, \u0027"},{"line_number":169,"context_line":"                     \u0027set to false, to run only \u0027"},{"line_number":170,"context_line":"                     \u0027test_create_volume_from_snapshot_for_rbd scenario\u0027)"},{"line_number":171,"context_line":"]"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"PluginGroup \u003d ["}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_8cd8727f","line":170,"updated":"2020-09-08 20:03:53.000000000","message":"It is better that the help text explains the actual behavior including the difference (i.e. the order of deletions of a volume and a snapshot.)","commit_id":"416a687f45bd1cdfdfc01d317b8554e5aca622ef"},{"author":{"_account_id":28032,"name":"Oleksiy Petrenko","email":"opetrenko@mirantis.com","username":"enacero"},"change_message_id":"fb8599d07a6ae37253e75f20ce9a65a6de9dd1d2","unresolved":false,"context_lines":[{"line_number":167,"context_line":"                help\u003d\u0027Set to true to run test_create_volume_from_snapshot \u0027"},{"line_number":168,"context_line":"                     \u0027and test_create_volume_from_snapshot_for_rbd, \u0027"},{"line_number":169,"context_line":"                     \u0027set to false, to run only \u0027"},{"line_number":170,"context_line":"                     \u0027test_create_volume_from_snapshot_for_rbd scenario\u0027)"},{"line_number":171,"context_line":"]"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"PluginGroup \u003d ["}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_6024a3b3","line":170,"in_reply_to":"9f560f44_8cd8727f","updated":"2020-09-14 12:45:15.000000000","message":"Done","commit_id":"416a687f45bd1cdfdfc01d317b8554e5aca622ef"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"a9d3cac2a60ac9076a5f493712f60112ecba3bba","unresolved":false,"context_lines":[{"line_number":167,"context_line":"                help\u003d\u0027Set to False to disallow running volume test, where \u0027"},{"line_number":168,"context_line":"                     \u0027first snapshot is deleted and then volume booted from \u0027"},{"line_number":169,"context_line":"                     \u0027this snapshot is deleted, but instead run only the test \u0027"},{"line_number":170,"context_line":"                     \u0027that deletes volume first and then snapshot. Set to True\u0027"},{"line_number":171,"context_line":"                     \u0027, to run both tests.\u0027)"},{"line_number":172,"context_line":"]"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"PluginGroup \u003d ["}],"source_content_type":"text/x-python","patch_set":8,"id":"9f560f44_25ed95f0","line":171,"range":{"start_line":170,"start_character":74,"end_line":171,"end_character":23},"updated":"2020-09-14 21:48:40.000000000","message":"It is correct but this kind of splitting a string looks a bit tricky. It is better to split the string around a space. Let me update it.","commit_id":"185580179a28576e358dd2044b02f3baaf34957e"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"4509452070fadffb85e8b1d306ccd98beddeafda","unresolved":false,"context_lines":[{"line_number":167,"context_line":"                help\u003d\u0027Set to False to disallow running volume test, where \u0027"},{"line_number":168,"context_line":"                     \u0027first snapshot is deleted and then volume booted from \u0027"},{"line_number":169,"context_line":"                     \u0027this snapshot is deleted, but instead run only the test \u0027"},{"line_number":170,"context_line":"                     \u0027that deletes volume first and then snapshot. Set to True\u0027"},{"line_number":171,"context_line":"                     \u0027, to run both tests.\u0027)"},{"line_number":172,"context_line":"]"},{"line_number":173,"context_line":""},{"line_number":174,"context_line":"PluginGroup \u003d ["}],"source_content_type":"text/x-python","patch_set":8,"id":"9f560f44_526a0881","line":171,"range":{"start_line":170,"start_character":74,"end_line":171,"end_character":23},"in_reply_to":"9f560f44_25ed95f0","updated":"2020-09-14 21:50:50.000000000","message":"Done","commit_id":"185580179a28576e358dd2044b02f3baaf34957e"}],"openstack_dashboard/test/integration_tests/horizon.conf":[{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"e8c056739a9c27bc37d9b9a485f192898b9755c9","unresolved":false,"context_lines":[{"line_number":104,"context_line":"[volume]"},{"line_number":105,"context_line":"volume_type\u003dlvmdriver-1"},{"line_number":106,"context_line":"volume_size\u003d1"},{"line_number":107,"context_line":"flatten_volume_from_snapshot\u003dyes"}],"source_content_type":"text/plain","patch_set":2,"id":"bf51134e_099cd55b","line":107,"range":{"start_line":107,"start_character":29,"end_line":107,"end_character":32},"updated":"2020-07-20 17:17:56.000000000","message":"Let\u0027s use True for consistency here","commit_id":"8badc718d0d66b3a57657165d76ce6b0dfdc12d9"},{"author":{"_account_id":28032,"name":"Oleksiy Petrenko","email":"opetrenko@mirantis.com","username":"enacero"},"change_message_id":"d7bf10c85a891bd8ed3cb2b0035e165048774fe1","unresolved":false,"context_lines":[{"line_number":104,"context_line":"[volume]"},{"line_number":105,"context_line":"volume_type\u003dlvmdriver-1"},{"line_number":106,"context_line":"volume_size\u003d1"},{"line_number":107,"context_line":"flatten_volume_from_snapshot\u003dyes"}],"source_content_type":"text/plain","patch_set":2,"id":"bf51134e_0634b8fa","line":107,"range":{"start_line":107,"start_character":29,"end_line":107,"end_character":32},"in_reply_to":"bf51134e_099cd55b","updated":"2020-07-21 08:26:12.000000000","message":"Done","commit_id":"8badc718d0d66b3a57657165d76ce6b0dfdc12d9"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"318e36d0bcc40a67a6f8182aa9b7557ecec04a8c","unresolved":false,"context_lines":[{"line_number":104,"context_line":"[volume]"},{"line_number":105,"context_line":"volume_type\u003dlvmdriver-1"},{"line_number":106,"context_line":"volume_size\u003d1"},{"line_number":107,"context_line":"flatten_volume_from_snapshot\u003dTrue"}],"source_content_type":"text/plain","patch_set":7,"id":"9f560f44_c0c48f44","line":107,"range":{"start_line":107,"start_character":0,"end_line":107,"end_character":28},"updated":"2020-09-14 13:14:17.000000000","message":"allow_delete_snapshot_before_volume","commit_id":"b7978b316aab6012404e3505d0766c7f8d4efcdd"}],"openstack_dashboard/test/integration_tests/tests/test_volume_snapshots.py":[{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"e8c056739a9c27bc37d9b9a485f192898b9755c9","unresolved":false,"context_lines":[{"line_number":250,"context_line":"        self.assertFalse(volumes_page.find_message_and_dismiss(messages.ERROR))"},{"line_number":251,"context_line":"        self.assertTrue(volumes_page.is_volume_deleted(new_volume))"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"    @pytest.mark.skipif("},{"line_number":254,"context_line":"        not helpers.TestCase.CONFIG.volume.flatten_volume_from_snapshot,"},{"line_number":255,"context_line":"        reason\u003d\"Skipped due to flatten_volume_from_snapshot\u003dFalse\")"},{"line_number":256,"context_line":"    def test_create_volume_from_snapshot(self):"},{"line_number":257,"context_line":"        \"\"\"Test checks possibility to create volume from snapshot"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"        Steps:"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf51134e_29e559dd","line":256,"range":{"start_line":253,"start_character":3,"end_line":256,"end_character":47},"updated":"2020-07-20 17:17:56.000000000","message":"This should work but I personally don\u0027t think that this code is readable enough. I won\u0027t -1 on it to let the community decide, but I prefer something like this here:\ndef test_create_volume_from_snapshot(self):\n    if not CONFIG.volume.flatten_volume_from_snapshot:\n        pytest.skip(\"Skipped due to flatten_volume_from_snapshot\u003dFalse\")","commit_id":"8badc718d0d66b3a57657165d76ce6b0dfdc12d9"},{"author":{"_account_id":28032,"name":"Oleksiy Petrenko","email":"opetrenko@mirantis.com","username":"enacero"},"change_message_id":"d7bf10c85a891bd8ed3cb2b0035e165048774fe1","unresolved":false,"context_lines":[{"line_number":250,"context_line":"        self.assertFalse(volumes_page.find_message_and_dismiss(messages.ERROR))"},{"line_number":251,"context_line":"        self.assertTrue(volumes_page.is_volume_deleted(new_volume))"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"    @pytest.mark.skipif("},{"line_number":254,"context_line":"        not helpers.TestCase.CONFIG.volume.flatten_volume_from_snapshot,"},{"line_number":255,"context_line":"        reason\u003d\"Skipped due to flatten_volume_from_snapshot\u003dFalse\")"},{"line_number":256,"context_line":"    def test_create_volume_from_snapshot(self):"},{"line_number":257,"context_line":"        \"\"\"Test checks possibility to create volume from snapshot"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"        Steps:"}],"source_content_type":"text/x-python","patch_set":2,"id":"bf51134e_663934f1","line":256,"range":{"start_line":253,"start_character":3,"end_line":256,"end_character":47},"in_reply_to":"bf51134e_29e559dd","updated":"2020-07-21 08:26:12.000000000","message":"Done","commit_id":"8badc718d0d66b3a57657165d76ce6b0dfdc12d9"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"7f588fcc9b84f402518b5c63f5d004fb33f0928b","unresolved":false,"context_lines":[{"line_number":270,"context_line":"        self.delete_snapshot()"},{"line_number":271,"context_line":"        self.delete_volume(new_volume)"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"    def test_create_volume_from_snapshot_for_rbd(self):"},{"line_number":274,"context_line":"        \"\"\"Test checks possibility to create volume from snapshot"},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"        Steps:"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_387d21e7","line":273,"range":{"start_line":273,"start_character":8,"end_line":273,"end_character":48},"updated":"2020-09-08 20:03:53.000000000","message":"According to the commit message, it looks like that this mode is supported by non-rbd backend, so the test name looks confusing. How about the test name like test_create_volume_from_snapshot_delete_volume_first?","commit_id":"416a687f45bd1cdfdfc01d317b8554e5aca622ef"},{"author":{"_account_id":28032,"name":"Oleksiy Petrenko","email":"opetrenko@mirantis.com","username":"enacero"},"change_message_id":"fb8599d07a6ae37253e75f20ce9a65a6de9dd1d2","unresolved":false,"context_lines":[{"line_number":270,"context_line":"        self.delete_snapshot()"},{"line_number":271,"context_line":"        self.delete_volume(new_volume)"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"    def test_create_volume_from_snapshot_for_rbd(self):"},{"line_number":274,"context_line":"        \"\"\"Test checks possibility to create volume from snapshot"},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"        Steps:"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f560f44_a01ebb5c","line":273,"range":{"start_line":273,"start_character":8,"end_line":273,"end_character":48},"in_reply_to":"9f560f44_387d21e7","updated":"2020-09-14 12:45:15.000000000","message":"Done","commit_id":"416a687f45bd1cdfdfc01d317b8554e5aca622ef"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"318e36d0bcc40a67a6f8182aa9b7557ecec04a8c","unresolved":false,"context_lines":[{"line_number":262,"context_line":"        6. Delete volume snapshot"},{"line_number":263,"context_line":"        7. Delete volume"},{"line_number":264,"context_line":"        \"\"\""},{"line_number":265,"context_line":"        if not self.CONFIG.volume.flatten_volume_from_snapshot:"},{"line_number":266,"context_line":"            pytest.skip(\"Skipped due to flatten_volume_from_snapshot\u003dFalse\")"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":"        new_volume \u003d self.create_volume_from_snapshot()"}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_00bfa7aa","line":265,"range":{"start_line":265,"start_character":34,"end_line":265,"end_character":62},"updated":"2020-09-14 13:14:17.000000000","message":"allow_delete_snapshot_before_volume","commit_id":"b7978b316aab6012404e3505d0766c7f8d4efcdd"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"318e36d0bcc40a67a6f8182aa9b7557ecec04a8c","unresolved":false,"context_lines":[{"line_number":263,"context_line":"        7. Delete volume"},{"line_number":264,"context_line":"        \"\"\""},{"line_number":265,"context_line":"        if not self.CONFIG.volume.flatten_volume_from_snapshot:"},{"line_number":266,"context_line":"            pytest.skip(\"Skipped due to flatten_volume_from_snapshot\u003dFalse\")"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":"        new_volume \u003d self.create_volume_from_snapshot()"},{"line_number":269,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"9f560f44_60d94327","line":266,"range":{"start_line":266,"start_character":40,"end_line":266,"end_character":68},"updated":"2020-09-14 13:14:17.000000000","message":"allow_delete_snapshot_before_volume","commit_id":"b7978b316aab6012404e3505d0766c7f8d4efcdd"},{"author":{"_account_id":1736,"name":"Ivan Kolodyazhny","email":"e0ne@e0ne.info","username":"e0ne"},"change_message_id":"bca869e40eb0ce5ad293cfe9e2f54512ed5069dc","unresolved":false,"context_lines":[{"line_number":263,"context_line":"        7. Delete volume"},{"line_number":264,"context_line":"        \"\"\""},{"line_number":265,"context_line":"        if not self.CONFIG.volume.allow_delete_snapshot_before_volume:"},{"line_number":266,"context_line":"            pytest.skip("},{"line_number":267,"context_line":"                \"Skipped due to allow_delete_snapshot_before_volume\u003dFalse\")"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"        new_volume \u003d self.create_volume_from_snapshot()"}],"source_content_type":"text/x-python","patch_set":9,"id":"9f560f44_ba67d7b7","line":266,"range":{"start_line":266,"start_character":0,"end_line":266,"end_character":24},"updated":"2020-09-16 14:57:52.000000000","message":"I\u0027ve found some strange behaviour with this in my ceph-based environment. I\u0027ll keep my vote until I investigate it","commit_id":"a8783d2c9caac9c699d8bd3051497d0c44c1a03d"}]}
