)]}'
{"cinder/tests/tempest/api/volume/test_volume_revert.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"90652fa93508941f74cb0c332234174ed3fd347a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2016 Mirantis Inc."},{"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":10,"id":"7f231b9d_51aed398","line":1,"range":{"start_line":1,"start_character":16,"end_line":1,"end_character":34},"updated":"2017-06-20 02:41:29.000000000","message":"2017 Huawei","commit_id":"955d5e5269a2ef5a66025237fcd0c26180c9dd2a"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"ca7758131a474a947e31b3f5bab53d652c64c82a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2016 Mirantis Inc."},{"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":10,"id":"7f231b9d_0c6f2093","line":1,"range":{"start_line":1,"start_character":16,"end_line":1,"end_character":34},"in_reply_to":"7f231b9d_51aed398","updated":"2017-06-20 03:15:50.000000000","message":"Done","commit_id":"955d5e5269a2ef5a66025237fcd0c26180c9dd2a"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"90652fa93508941f74cb0c332234174ed3fd347a","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class VolumeRevertTests(volume_base.BaseVolumeTest):"},{"line_number":29,"context_line":"    min_microversion \u003d \u00273.39\u0027"},{"line_number":30,"context_line":"    max_microversion \u003d \u0027latest\u0027"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":10,"id":"7f231b9d_11905b4e","line":29,"range":{"start_line":29,"start_character":24,"end_line":29,"end_character":28},"updated":"2017-06-20 02:41:29.000000000","message":"Should be 3.40","commit_id":"955d5e5269a2ef5a66025237fcd0c26180c9dd2a"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"ca7758131a474a947e31b3f5bab53d652c64c82a","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class VolumeRevertTests(volume_base.BaseVolumeTest):"},{"line_number":29,"context_line":"    min_microversion \u003d \u00273.39\u0027"},{"line_number":30,"context_line":"    max_microversion \u003d \u0027latest\u0027"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":10,"id":"7f231b9d_ec6bc482","line":29,"range":{"start_line":29,"start_character":24,"end_line":29,"end_character":28},"in_reply_to":"7f231b9d_11905b4e","updated":"2017-06-20 03:15:50.000000000","message":"Done","commit_id":"955d5e5269a2ef5a66025237fcd0c26180c9dd2a"},{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"90652fa93508941f74cb0c332234174ed3fd347a","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    @classmethod"},{"line_number":46,"context_line":"    def setup_clients(cls):"},{"line_number":47,"context_line":"        cls._api_version \u003d 2"},{"line_number":48,"context_line":"        super(VolumeRevertTests, cls).setup_clients()"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"        manager \u003d cinder_clients.Manager(cls.os_primary)"}],"source_content_type":"text/x-python","patch_set":10,"id":"7f231b9d_b18d272c","line":47,"range":{"start_line":47,"start_character":27,"end_line":47,"end_character":28},"updated":"2017-06-20 02:41:29.000000000","message":"Should be 3","commit_id":"955d5e5269a2ef5a66025237fcd0c26180c9dd2a"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"ca7758131a474a947e31b3f5bab53d652c64c82a","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    @classmethod"},{"line_number":46,"context_line":"    def setup_clients(cls):"},{"line_number":47,"context_line":"        cls._api_version \u003d 2"},{"line_number":48,"context_line":"        super(VolumeRevertTests, cls).setup_clients()"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"        manager \u003d cinder_clients.Manager(cls.os_primary)"}],"source_content_type":"text/x-python","patch_set":10,"id":"7f231b9d_6c0d74e7","line":47,"range":{"start_line":47,"start_character":27,"end_line":47,"end_character":28},"in_reply_to":"7f231b9d_b18d272c","updated":"2017-06-20 03:15:50.000000000","message":"Done","commit_id":"955d5e5269a2ef5a66025237fcd0c26180c9dd2a"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a615f6996e00cd892fb2856f5898a04393b2dca2","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class VolumeRevertTests(volume_base.BaseVolumeTest):"},{"line_number":29,"context_line":"    min_microversion \u003d \u00273.40\u0027"},{"line_number":30,"context_line":"    max_microversion \u003d \u0027latest\u0027"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    @classmethod"},{"line_number":33,"context_line":"    def resource_setup(cls):"}],"source_content_type":"text/x-python","patch_set":12,"id":"5f201791_bf20c449","line":30,"updated":"2017-06-26 12:13:13.000000000","message":"nit: this is unnecessary","commit_id":"0c23c019693622ceb5ce2bfee6d0e33ed81e4a40"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a615f6996e00cd892fb2856f5898a04393b2dca2","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    min_microversion \u003d \u00273.40\u0027"},{"line_number":30,"context_line":"    max_microversion \u003d \u0027latest\u0027"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    @classmethod"},{"line_number":33,"context_line":"    def resource_setup(cls):"},{"line_number":34,"context_line":"        super(VolumeRevertTests, cls).resource_setup()"},{"line_number":35,"context_line":"        cls.request_microversion \u003d ("},{"line_number":36,"context_line":"            api_version_utils.select_request_microversion("},{"line_number":37,"context_line":"                cls.min_microversion,"},{"line_number":38,"context_line":"                CONF.volume.min_microversion))"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def setUp(self):"},{"line_number":41,"context_line":"        super(VolumeRevertTests, self).setUp()"}],"source_content_type":"text/x-python","patch_set":12,"id":"5f201791_7f990c77","line":38,"range":{"start_line":32,"start_character":0,"end_line":38,"end_character":46},"updated":"2017-06-26 12:13:13.000000000","message":"-1: This is already done in BaseVolumeTest","commit_id":"0c23c019693622ceb5ce2bfee6d0e33ed81e4a40"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a615f6996e00cd892fb2856f5898a04393b2dca2","unresolved":false,"context_lines":[{"line_number":37,"context_line":"                cls.min_microversion,"},{"line_number":38,"context_line":"                CONF.volume.min_microversion))"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def setUp(self):"},{"line_number":41,"context_line":"        super(VolumeRevertTests, self).setUp()"},{"line_number":42,"context_line":"        self.useFixture(api_microversion_fixture.APIMicroversionFixture("},{"line_number":43,"context_line":"            self.request_microversion))"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    @classmethod"},{"line_number":46,"context_line":"    def setup_clients(cls):"}],"source_content_type":"text/x-python","patch_set":12,"id":"5f201791_3f91544f","line":43,"range":{"start_line":40,"start_character":0,"end_line":43,"end_character":39},"updated":"2017-06-26 12:13:13.000000000","message":"-1: ditto","commit_id":"0c23c019693622ceb5ce2bfee6d0e33ed81e4a40"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a615f6996e00cd892fb2856f5898a04393b2dca2","unresolved":false,"context_lines":[{"line_number":53,"context_line":"    @decorators.idempotent_id(\u002787b7dcb7-4950-4a3a-802c-ece55491846d\u0027)"},{"line_number":54,"context_line":"    def test_volume_revert_to_snapshot(self):"},{"line_number":55,"context_line":"        \"\"\"Test revert to snapshot\"\"\""},{"line_number":56,"context_line":"        # Create volume"},{"line_number":57,"context_line":"        volume \u003d self.create_volume(size\u003d1)"},{"line_number":58,"context_line":"        size \u003d volume[\u0027size\u0027]"},{"line_number":59,"context_line":"        # Create snapshot"},{"line_number":60,"context_line":"        snapshot \u003d self.create_snapshot(volume[\u0027id\u0027])"},{"line_number":61,"context_line":"        # Revert to snapshot"},{"line_number":62,"context_line":"        self.volume_revert_client.revert_to_snapshot(volume, snapshot[\u0027id\u0027])"},{"line_number":63,"context_line":"        waiters.wait_for_volume_resource_status("}],"source_content_type":"text/x-python","patch_set":12,"id":"5f201791_bfcfa454","line":60,"range":{"start_line":56,"start_character":0,"end_line":60,"end_character":53},"updated":"2017-06-26 12:13:13.000000000","message":"-1: this should be done at the resource setup phase","commit_id":"0c23c019693622ceb5ce2bfee6d0e33ed81e4a40"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a615f6996e00cd892fb2856f5898a04393b2dca2","unresolved":false,"context_lines":[{"line_number":73,"context_line":"    @decorators.idempotent_id(\u00274e8b0788-87fe-430d-be7a-444d7f8e0347\u0027)"},{"line_number":74,"context_line":"    def test_volume_revert_to_snapshot_after_extended(self):"},{"line_number":75,"context_line":"        \"\"\"Test revert to snapshot after extended\"\"\""},{"line_number":76,"context_line":"        # Create volume"},{"line_number":77,"context_line":"        volume \u003d self.create_volume(size\u003d1)"},{"line_number":78,"context_line":"        # Create snapshot"},{"line_number":79,"context_line":"        snapshot \u003d self.create_snapshot(volume[\u0027id\u0027])"},{"line_number":80,"context_line":"        # Extend a volume"},{"line_number":81,"context_line":"        self.volumes_client.extend_volume(volume[\u0027id\u0027], new_size\u003d2)"},{"line_number":82,"context_line":"        waiters.wait_for_volume_resource_status(self.volumes_client,"}],"source_content_type":"text/x-python","patch_set":12,"id":"5f201791_3f0dd4a0","line":79,"range":{"start_line":76,"start_character":0,"end_line":79,"end_character":53},"updated":"2017-06-26 12:13:13.000000000","message":"-1: this should be done at the resource setup phase","commit_id":"0c23c019693622ceb5ce2bfee6d0e33ed81e4a40"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a615f6996e00cd892fb2856f5898a04393b2dca2","unresolved":false,"context_lines":[{"line_number":77,"context_line":"        volume \u003d self.create_volume(size\u003d1)"},{"line_number":78,"context_line":"        # Create snapshot"},{"line_number":79,"context_line":"        snapshot \u003d self.create_snapshot(volume[\u0027id\u0027])"},{"line_number":80,"context_line":"        # Extend a volume"},{"line_number":81,"context_line":"        self.volumes_client.extend_volume(volume[\u0027id\u0027], new_size\u003d2)"},{"line_number":82,"context_line":"        waiters.wait_for_volume_resource_status(self.volumes_client,"},{"line_number":83,"context_line":"                                                volume[\u0027id\u0027], \u0027available\u0027)"}],"source_content_type":"text/x-python","patch_set":12,"id":"5f201791_bff8c47a","line":80,"range":{"start_line":80,"start_character":17,"end_line":80,"end_character":18},"updated":"2017-06-26 12:13:13.000000000","message":"nit: the","commit_id":"0c23c019693622ceb5ce2bfee6d0e33ed81e4a40"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"cee68249ad297c09f4999ec6cd97e415b000a28e","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        \"\"\"Test revert to snapshot\"\"\""},{"line_number":47,"context_line":"        # Revert to snapshot"},{"line_number":48,"context_line":"        self.volume_revert_client.revert_to_snapshot(self.volume,"},{"line_number":49,"context_line":"                                                     self.snapshot[\u0027id\u0027])"},{"line_number":50,"context_line":"        waiters.wait_for_volume_resource_status("},{"line_number":51,"context_line":"            self.volumes_client,"},{"line_number":52,"context_line":"            self.volume[\u0027id\u0027], \u0027available\u0027)"}],"source_content_type":"text/x-python","patch_set":15,"id":"5f201791_04c4b73e","line":49,"updated":"2017-06-28 12:21:16.000000000","message":"nit: maybe check that the request has been accepted similar to what you were doing in the client.","commit_id":"8a86d7421a15f92dfdb107d50727f123cdcad3b2"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"cee68249ad297c09f4999ec6cd97e415b000a28e","unresolved":false,"context_lines":[{"line_number":65,"context_line":"        waiters.wait_for_volume_resource_status(self.volumes_client,"},{"line_number":66,"context_line":"                                                self.volume[\u0027id\u0027], \u0027available\u0027)"},{"line_number":67,"context_line":"        # Revert to snapshot"},{"line_number":68,"context_line":"        self.volume_revert_client.revert_to_snapshot(self.volume,"},{"line_number":69,"context_line":"                                                     self.snapshot[\u0027id\u0027])"},{"line_number":70,"context_line":"        waiters.wait_for_volume_resource_status("},{"line_number":71,"context_line":"            self.volumes_client,"}],"source_content_type":"text/x-python","patch_set":15,"id":"5f201791_e4be5bac","line":68,"updated":"2017-06-28 12:21:16.000000000","message":"ditto","commit_id":"8a86d7421a15f92dfdb107d50727f123cdcad3b2"}],"cinder/tests/tempest/services/volume_revert_client.py":[{"author":{"_account_id":6491,"name":"xing-yang","email":"xingyang105@gmail.com","username":"xing-yang"},"change_message_id":"90652fa93508941f74cb0c332234174ed3fd347a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (C) 2015 EMC Corporation."},{"line_number":2,"context_line":"# Copyright (C) 2016 Pure Storage, Inc."},{"line_number":3,"context_line":"# All Rights Reserved."},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":10,"id":"7f231b9d_71b0afde","line":2,"range":{"start_line":1,"start_character":2,"end_line":2,"end_character":39},"updated":"2017-06-20 02:41:29.000000000","message":"Change to 2017 Huawei","commit_id":"955d5e5269a2ef5a66025237fcd0c26180c9dd2a"},{"author":{"_account_id":23083,"name":"TommyLike","email":"tommylikehu@gmail.com","username":"TommyLike"},"change_message_id":"ca7758131a474a947e31b3f5bab53d652c64c82a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (C) 2015 EMC Corporation."},{"line_number":2,"context_line":"# Copyright (C) 2016 Pure Storage, Inc."},{"line_number":3,"context_line":"# All Rights Reserved."},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":10,"id":"7f231b9d_ac5eece6","line":2,"range":{"start_line":1,"start_character":2,"end_line":2,"end_character":39},"in_reply_to":"7f231b9d_71b0afde","updated":"2017-06-20 03:15:50.000000000","message":"Done","commit_id":"955d5e5269a2ef5a66025237fcd0c26180c9dd2a"},{"author":{"_account_id":9535,"name":"Gorka Eguileor","email":"geguileo@redhat.com","username":"Gorka"},"change_message_id":"a615f6996e00cd892fb2856f5898a04393b2dca2","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        post_body \u003d json.dumps({\u0027revert\u0027: post_body})"},{"line_number":33,"context_line":"        resp, body \u003d self.post(\u0027volumes/%s/action\u0027 % volume[\u0027id\u0027],"},{"line_number":34,"context_line":"                               post_body)"},{"line_number":35,"context_line":"        self.expected_success(http_client.ACCEPTED, resp.status)"},{"line_number":36,"context_line":"        return rest_client.ResponseBody(resp, body)"}],"source_content_type":"text/x-python","patch_set":12,"id":"5f201791_9f74e8ff","line":35,"updated":"2017-06-26 12:13:13.000000000","message":"I don\u0027t think it is a good idea to do this here, this will prevent us from doing some negative tests.","commit_id":"0c23c019693622ceb5ce2bfee6d0e33ed81e4a40"}]}
