)]}'
{"tempest/api/volume/admin/test_volumes_actions.py":[{"author":{"_account_id":6796,"name":"Giulio Fidente","email":"gfidente@redhat.com","username":"gfidente"},"change_message_id":"627b2ca45a40c54113672a22dc326f9087c05dd9","unresolved":false,"context_lines":[{"line_number":52,"context_line":"                                                                  status)"},{"line_number":53,"context_line":"        return resp, body"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    def setUp(self):"},{"line_number":56,"context_line":"        # Set volume\u0027s status to available before test"},{"line_number":57,"context_line":"        super(VolumesActionsTest, self).setUp()"},{"line_number":58,"context_line":"        self._reset_volume_status(self.volume[\u0027id\u0027], \u0027available\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATH%2F%2FWyo%3D","line":55,"updated":"2013-10-17 10:07:15.000000000","message":"I think we can reset from tearDown only","commit_id":"e1f334784d0e0092b9a021f55c82f5b8b0211182"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"52e6dce0d30aba1f04f61a62c2e9469e59aaddc5","unresolved":false,"context_lines":[{"line_number":52,"context_line":"                                                                  status)"},{"line_number":53,"context_line":"        return resp, body"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    def setUp(self):"},{"line_number":56,"context_line":"        # Set volume\u0027s status to available before test"},{"line_number":57,"context_line":"        super(VolumesActionsTest, self).setUp()"},{"line_number":58,"context_line":"        self._reset_volume_status(self.volume[\u0027id\u0027], \u0027available\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATH%2F%2FTh0%3D","line":55,"in_reply_to":"AAAATH%2F%2FWyo%3D","updated":"2013-10-18 01:28:20.000000000","message":"ok, I will change it.","commit_id":"e1f334784d0e0092b9a021f55c82f5b8b0211182"},{"author":{"_account_id":6796,"name":"Giulio Fidente","email":"gfidente@redhat.com","username":"gfidente"},"change_message_id":"627b2ca45a40c54113672a22dc326f9087c05dd9","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        resp_get, volume_get \u003d self.admin_volume_client.get_volume("},{"line_number":71,"context_line":"            self.volume[\u0027id\u0027])"},{"line_number":72,"context_line":"        self.assertEqual(\u0027error\u0027, volume_get[\u0027status\u0027])"},{"line_number":73,"context_line":"        resp, body \u003d self._reset_volume_status(self.volume[\u0027id\u0027], \u0027available\u0027)"},{"line_number":74,"context_line":"        self.assertEqual(202, resp.status)"},{"line_number":75,"context_line":"        resp_get, volume_get \u003d self.admin_volume_client.get_volume("},{"line_number":76,"context_line":"            self.volume[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATH%2F%2FWx8%3D","line":73,"updated":"2013-10-17 10:07:15.000000000","message":"I think you could let tearDown do this and drop lines 73-\u003e77","commit_id":"e1f334784d0e0092b9a021f55c82f5b8b0211182"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"52e6dce0d30aba1f04f61a62c2e9469e59aaddc5","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        resp_get, volume_get \u003d self.admin_volume_client.get_volume("},{"line_number":71,"context_line":"            self.volume[\u0027id\u0027])"},{"line_number":72,"context_line":"        self.assertEqual(\u0027error\u0027, volume_get[\u0027status\u0027])"},{"line_number":73,"context_line":"        resp, body \u003d self._reset_volume_status(self.volume[\u0027id\u0027], \u0027available\u0027)"},{"line_number":74,"context_line":"        self.assertEqual(202, resp.status)"},{"line_number":75,"context_line":"        resp_get, volume_get \u003d self.admin_volume_client.get_volume("},{"line_number":76,"context_line":"            self.volume[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAATH%2F%2FThw%3D","line":73,"in_reply_to":"AAAATH%2F%2FWx8%3D","updated":"2013-10-18 01:28:20.000000000","message":"sure.It is better.","commit_id":"e1f334784d0e0092b9a021f55c82f5b8b0211182"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"c9abb7debd2647fd1bb1da958e6d6b4c361cec7e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2012 OpenStack Foundation"},{"line_number":4,"context_line":"# All Rights Reserved."},{"line_number":5,"context_line":"#"},{"line_number":6,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATH%2F%2FOgw%3D","line":3,"updated":"2013-10-21 00:37:38.000000000","message":"It is better to change here like https://review.openstack.org/#/c/49157/15/tempest/api/compute/admin/test_aggregates_negative.py","commit_id":"59055d40e943bcfdfe15b5b8be30f1d2b65e6b50"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"c07c15378586eb53cd5f2a9d37489746397e16a7","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# vim: tabstop\u003d4 shiftwidth\u003d4 softtabstop\u003d4"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Copyright 2012 OpenStack Foundation"},{"line_number":4,"context_line":"# All Rights Reserved."},{"line_number":5,"context_line":"#"},{"line_number":6,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAATH%2F%2FOUM%3D","line":3,"in_reply_to":"AAAATH%2F%2FOgw%3D","updated":"2013-10-21 03:57:41.000000000","message":"Thanks  Ken\u0027ichi Ohmichi. I will fix it. :)","commit_id":"59055d40e943bcfdfe15b5b8be30f1d2b65e6b50"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"d491cd5af11bdf9f508c51962bd9d7a130d4eba3","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        super(VolumesActionsTest, cls).tearDownClass()"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"    def _reset_volume_status(self, volume_id, status):"},{"line_number":50,"context_line":"        #Reset the volume status"},{"line_number":51,"context_line":"        resp, body \u003d self.admin_volume_client.reset_volume_status(volume_id,"},{"line_number":52,"context_line":"                                                                  status)"},{"line_number":53,"context_line":"        return resp, body"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAATn%2F%2FnmQ%3D","line":50,"updated":"2013-10-31 10:57:30.000000000","message":"In future please put a space after the \u0027#\u0027, it\u0027s not enough to block this patch, but it would be better if it was that way","commit_id":"17f46aee6e2f3d77af706cef13e29d72b1ec82f2"}],"tempest/api/volume/test_volumes_actions.py":[{"author":{"_account_id":6983,"name":"YangLei","email":"iamhappg@aliyun.com","username":"YangLei"},"change_message_id":"eccfb0a4e2bc2df1883daeb72c089e845550448a","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        adm_tenant \u003d cls.config.identity.admin_tenant_name"},{"line_number":40,"context_line":"        auth_url \u003d cls.config.identity.uri"},{"line_number":41,"context_line":"        cls.admin_volume_client \u003d volumes_client_json.VolumesClientJSON("},{"line_number":42,"context_line":"            cls.config, adm_user, adm_pass, auth_url, adm_tenant)"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"        # Create a test shared instance and volume for attach/detach tests"},{"line_number":45,"context_line":"        srv_name \u003d rand_name(cls.__name__ + \u0027-Instance-\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAATH%2F%2Fwjw%3D","line":42,"updated":"2013-10-10 08:35:12.000000000","message":"if these code are really needed, they should go into tempest\\api\\volume\\base.py\nAnd tempest\\api\\volume\\base.py has already implement these code.\nPlease see :\nclass BaseVolumeAdminTest(BaseVolumeTest):","commit_id":"cfa13355b9b2b5ab43fc7f0dad4b52670d6bbe94"},{"author":{"_account_id":6732,"name":"Lingxian Kong","email":"anlin.kong@gmail.com","username":"kong"},"change_message_id":"4a40b97cd3a5598a246646272a31a6e2413aa730","unresolved":false,"context_lines":[{"line_number":16,"context_line":"#    under the License."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from tempest.api.volume.base import BaseVolumeAdminTest"},{"line_number":19,"context_line":"from tempest.common.utils.data_utils import rand_name"},{"line_number":20,"context_line":"from tempest.test import attr"},{"line_number":21,"context_line":"from tempest.test import services"},{"line_number":22,"context_line":"from tempest.test import stresstest"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATH%2F%2FaS0%3D","line":19,"updated":"2013-10-16 14:55:37.000000000","message":"maybe in subsequent patches you should use:\nfrom from tempest.common.utils import data_utils as utils\nand then, use utils.rand_name()","commit_id":"f4aba4a661e068545b3f1fbea0e4fcc15b6dd964"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"e11e73932a1724af2965a563eb7fb925d4adb72c","unresolved":false,"context_lines":[{"line_number":16,"context_line":"#    under the License."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from tempest.api.volume.base import BaseVolumeAdminTest"},{"line_number":19,"context_line":"from tempest.common.utils.data_utils import rand_name"},{"line_number":20,"context_line":"from tempest.test import attr"},{"line_number":21,"context_line":"from tempest.test import services"},{"line_number":22,"context_line":"from tempest.test import stresstest"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATH%2F%2FX6E%3D","line":19,"in_reply_to":"AAAATH%2F%2FaS0%3D","updated":"2013-10-17 01:08:15.000000000","message":"Sure,as added some new tests based on original test_volumes_actions, I did not modify this, but it will be used as you say in n subsequent patches. :)","commit_id":"f4aba4a661e068545b3f1fbea0e4fcc15b6dd964"},{"author":{"_account_id":6796,"name":"Giulio Fidente","email":"gfidente@redhat.com","username":"gfidente"},"change_message_id":"36601268953393b58653551c9e3db6ac136d0550","unresolved":false,"context_lines":[{"line_number":22,"context_line":"from tempest.test import stresstest"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class VolumesActionsTest(BaseVolumeAdminTest):"},{"line_number":26,"context_line":"    _interface \u003d \"json\""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATH%2F%2FYsw%3D","line":25,"updated":"2013-10-16 20:29:54.000000000","message":"I think you should move these tests in the admin/ subdirectory","commit_id":"f4aba4a661e068545b3f1fbea0e4fcc15b6dd964"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"e11e73932a1724af2965a563eb7fb925d4adb72c","unresolved":false,"context_lines":[{"line_number":22,"context_line":"from tempest.test import stresstest"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class VolumesActionsTest(BaseVolumeAdminTest):"},{"line_number":26,"context_line":"    _interface \u003d \"json\""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATH%2F%2FX54%3D","line":25,"in_reply_to":"AAAATH%2F%2FYsw%3D","updated":"2013-10-17 01:08:15.000000000","message":"Thanks, I will move test about reset api to admin directory as it is a admin api.","commit_id":"f4aba4a661e068545b3f1fbea0e4fcc15b6dd964"},{"author":{"_account_id":6796,"name":"Giulio Fidente","email":"gfidente@redhat.com","username":"gfidente"},"change_message_id":"36601268953393b58653551c9e3db6ac136d0550","unresolved":false,"context_lines":[{"line_number":124,"context_line":"        resp_get, volume_get \u003d self.admin_volume_client.get_volume("},{"line_number":125,"context_line":"            self.volume[\u0027id\u0027])"},{"line_number":126,"context_line":"        self.assertEqual(\u0027error\u0027, volume_get[\u0027status\u0027])"},{"line_number":127,"context_line":"        resp, body \u003d self.admin_volume_client.reset_volume_status("},{"line_number":128,"context_line":"            self.volume[\u0027id\u0027], \u0027available\u0027)"},{"line_number":129,"context_line":"        self.assertEqual(202, resp.status)"},{"line_number":130,"context_line":"        resp_get, volume_get \u003d self.admin_volume_client.get_volume("}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATH%2F%2FYsk%3D","line":127,"updated":"2013-10-16 20:29:54.000000000","message":"the reset_volume_status seems to be a recurring pattern, maybe you could move it into a shared _method and call it from setUp or tearDown ... still I wonder what would happen if the reset api itself doesn\u0027t work, ideas?","commit_id":"f4aba4a661e068545b3f1fbea0e4fcc15b6dd964"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"2267f67e4758065f0ee6a15ea66e97f185cd8b23","unresolved":false,"context_lines":[{"line_number":124,"context_line":"        resp_get, volume_get \u003d self.admin_volume_client.get_volume("},{"line_number":125,"context_line":"            self.volume[\u0027id\u0027])"},{"line_number":126,"context_line":"        self.assertEqual(\u0027error\u0027, volume_get[\u0027status\u0027])"},{"line_number":127,"context_line":"        resp, body \u003d self.admin_volume_client.reset_volume_status("},{"line_number":128,"context_line":"            self.volume[\u0027id\u0027], \u0027available\u0027)"},{"line_number":129,"context_line":"        self.assertEqual(202, resp.status)"},{"line_number":130,"context_line":"        resp_get, volume_get \u003d self.admin_volume_client.get_volume("}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAATH%2F%2FX2Y%3D","line":127,"in_reply_to":"AAAATH%2F%2FYsk%3D","updated":"2013-10-17 01:59:00.000000000","message":"Thanks, I will move it to shared _method, and I\u0027m afraid that the volume can not be deleted if the reset api don\u0027t work after test_volume_begin_detaching and test_volume_roll_detaching. May be should use force delete method in tearDown to ensure the volume will be deleted successful.","commit_id":"f4aba4a661e068545b3f1fbea0e4fcc15b6dd964"}]}
