)]}'
{"tempest/api/compute/volumes/test_volume_snapshots.py":[{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"6afd6a069be7b67410b8d6dcb48efad748e7ce00","unresolved":false,"context_lines":[{"line_number":48,"context_line":"                                               display_name\u003ds_name)"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"        def delete_snapshot(snapshot_id):"},{"line_number":51,"context_line":"            self.snapshots_client.wait_for_snapshot_status(snapshot_id,"},{"line_number":52,"context_line":"                                                           \u0027available\u0027)"},{"line_number":53,"context_line":"            self.client.delete_snapshot(snapshot_id)"},{"line_number":54,"context_line":"            self.snapshots_client.wait_for_resource_deletion(snapshot_id)"}],"source_content_type":"text/x-python","patch_set":5,"id":"da20952f_79985e75","line":51,"updated":"2015-09-07 14:34:54.000000000","message":"You are not using the \"nova volume client\" here but you are using directly the cinder client.","commit_id":"9f9840288a3832b76ae6a9d03a7ab217d602b83d"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"6afd6a069be7b67410b8d6dcb48efad748e7ce00","unresolved":false,"context_lines":[{"line_number":51,"context_line":"            self.snapshots_client.wait_for_snapshot_status(snapshot_id,"},{"line_number":52,"context_line":"                                                           \u0027available\u0027)"},{"line_number":53,"context_line":"            self.client.delete_snapshot(snapshot_id)"},{"line_number":54,"context_line":"            self.snapshots_client.wait_for_resource_deletion(snapshot_id)"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        self.addCleanup(delete_snapshot, snapshot[\u0027id\u0027])"},{"line_number":57,"context_line":"        self.assertEqual(s_name, snapshot[\u0027displayName\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"da20952f_398d0631","line":54,"updated":"2015-09-07 14:34:54.000000000","message":"Same","commit_id":"9f9840288a3832b76ae6a9d03a7ab217d602b83d"}],"tempest/api/compute/volumes/test_volumes_get.py":[{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"21854a219491d88356b7f98442aeab09525243f4","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    @test.idempotent_id(\u0027cd4ec87d-7825-450d-8040-6e2068f2da8f\u0027)"},{"line_number":79,"context_line":"    def test_volume_snapshot_create_get_list_delete(self):"},{"line_number":80,"context_line":"        volume \u003d self.client.create_volume(1)"},{"line_number":81,"context_line":"        self.addCleanup(self.delete_volume, volume[\u0027id\u0027])"},{"line_number":82,"context_line":"        waiters.wait_for_volume_status(self.client, volume[\u0027id\u0027], \u0027available\u0027)"},{"line_number":83,"context_line":"        s_name \u003d data_utils.rand_name(\u0027Snapshot\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_8487b5d6","line":80,"range":{"start_line":80,"start_character":22,"end_line":80,"end_character":42},"updated":"2015-08-24 10:19:06.000000000","message":"You don\u0027t need to set the size here.","commit_id":"82834b376011943bf689c7a972467cdceb3f13e5"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"21854a219491d88356b7f98442aeab09525243f4","unresolved":false,"context_lines":[{"line_number":89,"context_line":"            self.snapshots_client.wait_for_resource_deletion(snapshot[\u0027id\u0027])"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"        self.addCleanup(delete_snapshot, snapshot[\u0027id\u0027])"},{"line_number":92,"context_line":"        self.snapshots_client.wait_for_snapshot_status(snapshot[\u0027id\u0027],"},{"line_number":93,"context_line":"                                                       \u0027available\u0027)"},{"line_number":94,"context_line":"        self.assertEqual(snapshot[\u0027displayName\u0027], s_name)"},{"line_number":95,"context_line":"        self.assertEqual(snapshot[\u0027volumeId\u0027], volume[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_2454a952","line":92,"updated":"2015-08-24 10:19:06.000000000","message":"You don\u0027t need to wait here since you don\u0027t anything with the snapshot afterward.","commit_id":"82834b376011943bf689c7a972467cdceb3f13e5"},{"author":{"_account_id":16523,"name":"ZhangLei","display_name":"ZhangLei","email":"zhang.lei@99cloud.net","username":"zhang.lei"},"change_message_id":"2f9860bcd5dfedb05aaba843a44e603eec05dcb5","unresolved":false,"context_lines":[{"line_number":90,"context_line":""},{"line_number":91,"context_line":"        self.addCleanup(delete_snapshot, snapshot[\u0027id\u0027])"},{"line_number":92,"context_line":"        self.snapshots_client.wait_for_snapshot_status(snapshot[\u0027id\u0027],"},{"line_number":93,"context_line":"                                                       \u0027available\u0027)"},{"line_number":94,"context_line":"        self.assertEqual(snapshot[\u0027displayName\u0027], s_name)"},{"line_number":95,"context_line":"        self.assertEqual(snapshot[\u0027volumeId\u0027], volume[\u0027id\u0027])"},{"line_number":96,"context_line":"        fetched_snapshot \u003d self.client.show_snapshot(snapshot[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_38e34535","line":93,"updated":"2015-08-25 03:16:43.000000000","message":"only get and list, it is not need to wait for the state became available","commit_id":"82834b376011943bf689c7a972467cdceb3f13e5"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"21854a219491d88356b7f98442aeab09525243f4","unresolved":false,"context_lines":[{"line_number":91,"context_line":"        self.addCleanup(delete_snapshot, snapshot[\u0027id\u0027])"},{"line_number":92,"context_line":"        self.snapshots_client.wait_for_snapshot_status(snapshot[\u0027id\u0027],"},{"line_number":93,"context_line":"                                                       \u0027available\u0027)"},{"line_number":94,"context_line":"        self.assertEqual(snapshot[\u0027displayName\u0027], s_name)"},{"line_number":95,"context_line":"        self.assertEqual(snapshot[\u0027volumeId\u0027], volume[\u0027id\u0027])"},{"line_number":96,"context_line":"        fetched_snapshot \u003d self.client.show_snapshot(snapshot[\u0027id\u0027])"},{"line_number":97,"context_line":"        self.assertEqual(fetched_snapshot[\u0027displayName\u0027], s_name)"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_2402693f","line":94,"updated":"2015-08-24 10:19:06.000000000","message":"This should be:\n  self.assertEqual(s_name, snapshot[\u0027displayName\u0027])\n\nWe try to follow the order:\n  assertEqual(expected, actual)","commit_id":"82834b376011943bf689c7a972467cdceb3f13e5"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"21854a219491d88356b7f98442aeab09525243f4","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        self.snapshots_client.wait_for_snapshot_status(snapshot[\u0027id\u0027],"},{"line_number":93,"context_line":"                                                       \u0027available\u0027)"},{"line_number":94,"context_line":"        self.assertEqual(snapshot[\u0027displayName\u0027], s_name)"},{"line_number":95,"context_line":"        self.assertEqual(snapshot[\u0027volumeId\u0027], volume[\u0027id\u0027])"},{"line_number":96,"context_line":"        fetched_snapshot \u003d self.client.show_snapshot(snapshot[\u0027id\u0027])"},{"line_number":97,"context_line":"        self.assertEqual(fetched_snapshot[\u0027displayName\u0027], s_name)"},{"line_number":98,"context_line":"        self.assertEqual(fetched_snapshot[\u0027volumeId\u0027], volume[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_a49439e8","line":95,"updated":"2015-08-24 10:19:06.000000000","message":"same","commit_id":"82834b376011943bf689c7a972467cdceb3f13e5"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"21854a219491d88356b7f98442aeab09525243f4","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        self.assertEqual(snapshot[\u0027displayName\u0027], s_name)"},{"line_number":95,"context_line":"        self.assertEqual(snapshot[\u0027volumeId\u0027], volume[\u0027id\u0027])"},{"line_number":96,"context_line":"        fetched_snapshot \u003d self.client.show_snapshot(snapshot[\u0027id\u0027])"},{"line_number":97,"context_line":"        self.assertEqual(fetched_snapshot[\u0027displayName\u0027], s_name)"},{"line_number":98,"context_line":"        self.assertEqual(fetched_snapshot[\u0027volumeId\u0027], volume[\u0027id\u0027])"},{"line_number":99,"context_line":"        snapshots \u003d self.client.list_snapshots()"},{"line_number":100,"context_line":"        self.assertIn(snapshot[\u0027id\u0027], map(lambda x: x[\u0027id\u0027], snapshots))"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_84a3354f","line":97,"updated":"2015-08-24 10:19:06.000000000","message":"same","commit_id":"82834b376011943bf689c7a972467cdceb3f13e5"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"21854a219491d88356b7f98442aeab09525243f4","unresolved":false,"context_lines":[{"line_number":95,"context_line":"        self.assertEqual(snapshot[\u0027volumeId\u0027], volume[\u0027id\u0027])"},{"line_number":96,"context_line":"        fetched_snapshot \u003d self.client.show_snapshot(snapshot[\u0027id\u0027])"},{"line_number":97,"context_line":"        self.assertEqual(fetched_snapshot[\u0027displayName\u0027], s_name)"},{"line_number":98,"context_line":"        self.assertEqual(fetched_snapshot[\u0027volumeId\u0027], volume[\u0027id\u0027])"},{"line_number":99,"context_line":"        snapshots \u003d self.client.list_snapshots()"},{"line_number":100,"context_line":"        self.assertIn(snapshot[\u0027id\u0027], map(lambda x: x[\u0027id\u0027], snapshots))"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_248909cb","line":98,"updated":"2015-08-24 10:19:06.000000000","message":"same","commit_id":"82834b376011943bf689c7a972467cdceb3f13e5"}],"tempest/api_schema/response/compute/v2_1/volumes.py":[{"author":{"_account_id":14743,"name":"Viktor Tikkanen","email":"viktor.tikkanen@nokia.com","username":"vitikkan"},"change_message_id":"96a0512245858c2fc699e083876bea14bb6239a9","unresolved":false,"context_lines":[{"line_number":118,"context_line":"delete_volume \u003d {"},{"line_number":119,"context_line":"    \u0027status_code\u0027: [202]"},{"line_number":120,"context_line":"}"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"create_get_snapshot \u003d {"},{"line_number":123,"context_line":"    \u0027status_code\u0027: [200],"},{"line_number":124,"context_line":"    \u0027response_body\u0027: {"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_3b225c02","line":121,"updated":"2015-08-25 06:14:11.000000000","message":"It would be probably better if you define first something like\n\ncommon_snapshot_info \u003d {\n    \u0027type\u0027: \u0027object\u0027,\n    \u0027properties\u0027: {\n        \u0027id\u0027: {\u0027type\u0027: \u0027string\u0027},\n        \u0027volumeId\u0027: {\u0027type\u0027: \u0027string\u0027},\n        \u0027status\u0027: {\u0027type\u0027: \u0027string\u0027},\n        \u0027size\u0027: {\u0027type\u0027: \u0027integer\u0027},\n        \u0027createdAt\u0027: {\u0027type\u0027: \u0027string\u0027},\n        \u0027displayName\u0027: {\u0027type\u0027: [\u0027string\u0027, \u0027null\u0027]},\n        \u0027displayDescription\u0027: {\u0027type\u0027: [\u0027string\u0027, \u0027null\u0027]}\n    }\n    \u0027additionalProperties\u0027: False,\n    \u0027required\u0027: [\u0027id\u0027, \u0027volumeId\u0027, \u0027status\u0027, \u0027size\u0027,\n                 \u0027createdAt\u0027, \u0027displayName\u0027, \u0027displayDescription\u0027]\n}\n\nand then use it in both create_get_snapshot and list_snapshots definitions like:\n\ncreate_get_snapshot \u003d {\n    \u0027status_code\u0027: [200],\n    \u0027response_body\u0027: {\n        \u0027type\u0027: \u0027object\u0027,\n        \u0027properties\u0027: {\n            \u0027snapshot\u0027: common_snapshot_info\n        },\n        \u0027additionalProperties\u0027: False,\n        \u0027required\u0027: [\u0027snapshot\u0027]\n    }\n}\n\nlist_snapshots \u003d {\n    \u0027status_code\u0027: [200],\n    \u0027response_body\u0027: {\n        \u0027type\u0027: \u0027object\u0027,\n        \u0027properties\u0027: {\n            \u0027snapshots\u0027: {\n                \u0027type\u0027: \u0027array\u0027,\n                \u0027items\u0027: common_snapshot_info\n            }\n        },\n        \u0027additionalProperties\u0027: False,\n        \u0027required\u0027: [\u0027snapshots\u0027]\n    }\n}\n\nYou can check another examples e.g. from tempest/api_schema/response/compute/v2_1/servers.py or other schema files.","commit_id":"82834b376011943bf689c7a972467cdceb3f13e5"}]}
