)]}'
{"tempest/api/volume/admin/test_snapshot_manage.py":[{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"d55b9cecc24f3cc116a34da92bec084826945c3d","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        waiters.wait_for_volume_resource_status(self.admin_snapshots_client,"},{"line_number":64,"context_line":"                                                new_snapshot[\u0027id\u0027],"},{"line_number":65,"context_line":"                                                \u0027available\u0027)"},{"line_number":66,"context_line":"        self.addCleanup(self.delete_snapshot, new_snapshot[\u0027id\u0027],"},{"line_number":67,"context_line":"                        self.admin_snapshots_client)"},{"line_number":68,"context_line":"        return new_snapshot"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"7f231b9d_67a22a4e","line":66,"updated":"2017-06-20 07:16:41.000000000","message":"I think this should be just after manage_snapshot(). Otherwise, the resource can be remaining if something happens in the wait_for_volume_resource_status.","commit_id":"120f4af0d144e794b61bf5f88dc591c911bd8a80"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"9c11d30d2a9047c5069cc80741e55e5810c9bddc","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        waiters.wait_for_volume_resource_status(self.admin_snapshots_client,"},{"line_number":64,"context_line":"                                                new_snapshot[\u0027id\u0027],"},{"line_number":65,"context_line":"                                                \u0027available\u0027)"},{"line_number":66,"context_line":"        self.addCleanup(self.delete_snapshot, new_snapshot[\u0027id\u0027],"},{"line_number":67,"context_line":"                        self.admin_snapshots_client)"},{"line_number":68,"context_line":"        return new_snapshot"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"7f231b9d_6a179153","line":66,"in_reply_to":"7f231b9d_67a22a4e","updated":"2017-06-20 07:58:38.000000000","message":"Done","commit_id":"120f4af0d144e794b61bf5f88dc591c911bd8a80"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"b9b62e2b52e0fbafa84cffde2dba8ebb4dbc1db2","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def manage_snapshot(self, volume_id, snapshot_id, name\u003dNone,"},{"line_number":47,"context_line":"                        description\u003dNone, metadata\u003dNone):"},{"line_number":48,"context_line":"        # Verify the original snapshot does not exist in snapshot list"},{"line_number":49,"context_line":"        params \u003d {\u0027all_tenants\u0027: 1}"},{"line_number":50,"context_line":"        all_snapshots \u003d self.admin_snapshots_client.list_snapshots("},{"line_number":51,"context_line":"            detail\u003dTrue, params\u003dparams)[\u0027snapshots\u0027]"},{"line_number":52,"context_line":"        self.assertNotIn(snapshot_id, [v[\u0027id\u0027] for v in all_snapshots])"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"        snapshot_ref \u003d {"},{"line_number":55,"context_line":"            \u0027volume_id\u0027: volume_id,"}],"source_content_type":"text/x-python","patch_set":14,"id":"7f287b81_9c21caa2","line":52,"range":{"start_line":48,"start_character":0,"end_line":52,"end_character":71},"updated":"2017-09-05 06:13:28.000000000","message":"this seems unnecessary, because self.admin_snapshots_client.wait_for_resource_deletion(snapshot[\u0027id\u0027]) already checks it","commit_id":"9b6d01cbb83799ae1563600fbe90c5be372fbe14"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"bb2e30d42c8ccde8f6c4381661c35a723a6f5e3d","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def manage_snapshot(self, volume_id, snapshot_id, name\u003dNone,"},{"line_number":47,"context_line":"                        description\u003dNone, metadata\u003dNone):"},{"line_number":48,"context_line":"        # Verify the original snapshot does not exist in snapshot list"},{"line_number":49,"context_line":"        params \u003d {\u0027all_tenants\u0027: 1}"},{"line_number":50,"context_line":"        all_snapshots \u003d self.admin_snapshots_client.list_snapshots("},{"line_number":51,"context_line":"            detail\u003dTrue, params\u003dparams)[\u0027snapshots\u0027]"},{"line_number":52,"context_line":"        self.assertNotIn(snapshot_id, [v[\u0027id\u0027] for v in all_snapshots])"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"        snapshot_ref \u003d {"},{"line_number":55,"context_line":"            \u0027volume_id\u0027: volume_id,"}],"source_content_type":"text/x-python","patch_set":14,"id":"7f287b81_77ef5487","line":52,"range":{"start_line":48,"start_character":0,"end_line":52,"end_character":71},"in_reply_to":"7f287b81_9c21caa2","updated":"2017-09-05 09:43:16.000000000","message":"Thanks for you comments,\nDone","commit_id":"9b6d01cbb83799ae1563600fbe90c5be372fbe14"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"b9b62e2b52e0fbafa84cffde2dba8ebb4dbc1db2","unresolved":false,"context_lines":[{"line_number":116,"context_line":"        # Create a volume"},{"line_number":117,"context_line":"        volume \u003d self.create_volume()"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"        # Create a snapshot"},{"line_number":120,"context_line":"        snapshot \u003d self.create_snapshot(volume_id\u003dvolume[\u0027id\u0027])"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"        # Create a server"},{"line_number":123,"context_line":"        server \u003d self.create_server()"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"        # Attach volume to instance"},{"line_number":126,"context_line":"        self.attach_volume(server[\u0027id\u0027], volume[\u0027id\u0027])"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        # Unmanage the snapshot"},{"line_number":129,"context_line":"        self.admin_snapshots_client.unmanage_snapshot(snapshot[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":14,"id":"7f287b81_fce0ce28","line":126,"range":{"start_line":119,"start_character":0,"end_line":126,"end_character":54},"updated":"2017-09-05 06:13:28.000000000","message":"does it make any difference if attaching a volume to server first and then creating/managing a snapshot?","commit_id":"9b6d01cbb83799ae1563600fbe90c5be372fbe14"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"bb2e30d42c8ccde8f6c4381661c35a723a6f5e3d","unresolved":false,"context_lines":[{"line_number":116,"context_line":"        # Create a volume"},{"line_number":117,"context_line":"        volume \u003d self.create_volume()"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"        # Create a snapshot"},{"line_number":120,"context_line":"        snapshot \u003d self.create_snapshot(volume_id\u003dvolume[\u0027id\u0027])"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"        # Create a server"},{"line_number":123,"context_line":"        server \u003d self.create_server()"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"        # Attach volume to instance"},{"line_number":126,"context_line":"        self.attach_volume(server[\u0027id\u0027], volume[\u0027id\u0027])"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        # Unmanage the snapshot"},{"line_number":129,"context_line":"        self.admin_snapshots_client.unmanage_snapshot(snapshot[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":14,"id":"7f287b81_d71e0873","line":126,"range":{"start_line":119,"start_character":0,"end_line":126,"end_character":54},"in_reply_to":"7f287b81_fce0ce28","updated":"2017-09-05 09:43:16.000000000","message":"If the volume is attached to an instance you have to force create the snapshot.","commit_id":"9b6d01cbb83799ae1563600fbe90c5be372fbe14"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"b9b62e2b52e0fbafa84cffde2dba8ebb4dbc1db2","unresolved":false,"context_lines":[{"line_number":131,"context_line":""},{"line_number":132,"context_line":"        # Manage the snapshot"},{"line_number":133,"context_line":"        new_snapshot \u003d self.manage_snapshot(volume[\u0027id\u0027], snapshot[\u0027id\u0027])"},{"line_number":134,"context_line":"        self.assertEqual(new_snapshot[\u0027volume_id\u0027], volume[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":14,"id":"7f287b81_7c597e33","line":134,"updated":"2017-09-05 06:13:28.000000000","message":"better add new_snapshot_info \u003d self.admin_snapshots_client.show_snapshot(\n            new_snapshot[\u0027id\u0027])[\u0027snapshot\u0027] before line134?","commit_id":"9b6d01cbb83799ae1563600fbe90c5be372fbe14"},{"author":{"_account_id":19262,"name":"Liron Kuchlani","email":"lkuchlan@redhat.com","username":"lkuchlan"},"change_message_id":"bb2e30d42c8ccde8f6c4381661c35a723a6f5e3d","unresolved":false,"context_lines":[{"line_number":131,"context_line":""},{"line_number":132,"context_line":"        # Manage the snapshot"},{"line_number":133,"context_line":"        new_snapshot \u003d self.manage_snapshot(volume[\u0027id\u0027], snapshot[\u0027id\u0027])"},{"line_number":134,"context_line":"        self.assertEqual(new_snapshot[\u0027volume_id\u0027], volume[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":14,"id":"7f287b81_b72dbca9","line":134,"in_reply_to":"7f287b81_7c597e33","updated":"2017-09-05 09:43:16.000000000","message":"Done","commit_id":"9b6d01cbb83799ae1563600fbe90c5be372fbe14"}],"tempest/api/volume/admin/test_snapshot_manage_negative.py":[{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"4b90f8760ad9ef0d42604891ab8295005f05a9d0","unresolved":false,"context_lines":[{"line_number":40,"context_line":"            self.delete_snapshot(new_snapshot[\u0027id\u0027],"},{"line_number":41,"context_line":"                                 self.admin_snapshots_client)"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    @test.attr(type\u003d\u0027negative\u0027)"},{"line_number":44,"context_line":"    @decorators.idempotent_id(\u00277c735385-e953-4198-8534-68137f72dbdc\u0027)"},{"line_number":45,"context_line":"    @testtools.skipUnless(CONF.volume_feature_enabled.manage_snapshot,"},{"line_number":46,"context_line":"                          \"Manage snapshot tests are disabled\")"}],"source_content_type":"text/x-python","patch_set":8,"id":"df140735_4e2e6a92","line":43,"range":{"start_line":43,"start_character":4,"end_line":43,"end_character":31},"updated":"2017-06-05 09:46:11.000000000","message":"@decorators.attr(type\u003d\u0027negative\u0027)","commit_id":"e802a7cc12d9ce470073acc2dd2ea4d32d08a5d6"},{"author":{"_account_id":20190,"name":"zhufl","email":"zhu.fanglei@zte.com.cn","username":"zhufl"},"change_message_id":"4b90f8760ad9ef0d42604891ab8295005f05a9d0","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        waiters.wait_for_volume_resource_status(self.volumes_client,"},{"line_number":66,"context_line":"                                                volume[\u0027id\u0027], \u0027in-use\u0027)"},{"line_number":67,"context_line":"        # Unmanage the snapshot"},{"line_number":68,"context_line":"        self.admin_snapshots_client.unmanage_snapshot(snapshot[\u0027id\u0027])"},{"line_number":69,"context_line":"        self.addCleanup(self.manage_snapshot, volume[\u0027id\u0027], snapshot[\u0027id\u0027],"},{"line_number":70,"context_line":"                        delete_snapshot\u003dTrue)"},{"line_number":71,"context_line":"        self.admin_snapshots_client.wait_for_resource_deletion(snapshot[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":8,"id":"df140735_4e342a93","line":68,"range":{"start_line":68,"start_character":1,"end_line":68,"end_character":69},"updated":"2017-06-05 09:46:11.000000000","message":"I am curious about why unmanaging a snapshot with an attached parent volume should succeed, while managing it should fail?","commit_id":"e802a7cc12d9ce470073acc2dd2ea4d32d08a5d6"}],"tempest/api/volume/admin/v2/test_snapshot_manage_negative.py":[{"author":{"_account_id":18600,"name":"Ferenc Horváth","email":"hferenc@inf.u-szeged.hu","username":"hferenc"},"change_message_id":"d484295a1ca73f7a9300da24a57f8530e9ec51c1","unresolved":false,"context_lines":[{"line_number":42,"context_line":"    @test.idempotent_id(\u00277c735385-e953-4198-8534-68137f72dbdc\u0027)"},{"line_number":43,"context_line":"    @testtools.skipUnless(CONF.volume_feature_enabled.manage_snapshot,"},{"line_number":44,"context_line":"                          \"Manage snapshot tests are disabled\")"},{"line_number":45,"context_line":"    def test_snapshot_manage_with_attached_volume(self):"},{"line_number":46,"context_line":"        \"\"\"Test manage a snapshot with an attached volume."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"           The case validates failure of manage snapshot operation"}],"source_content_type":"text/x-python","patch_set":4,"id":"da36d5c6_f1bb970c","line":45,"range":{"start_line":45,"start_character":8,"end_line":45,"end_character":49},"updated":"2017-02-20 15:49:20.000000000","message":"I think this should be decorated with @test.attr(type\u003d[\u0027negative\u0027]) as this is a negative test.","commit_id":"0fd034a78d1f5b5e495b03d44d14afc0d2bf65f3"}]}
