)]}'
{"tempest/api/volume/base.py":[{"author":{"_account_id":5586,"name":"Ivan-Zhu","email":"zhubo198511@gmail.com","username":"ivan-zhu"},"change_message_id":"7a6482535e7ffe94a63472af7f4ffcc3a53c88a8","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"        cls.snapshots_client \u003d cls.os.snapshots_client"},{"line_number":41,"context_line":"        cls.servers_client \u003d cls.os.servers_client"},{"line_number":42,"context_line":"        cls.volumes_extension_client \u003d cls.os.volumes_extension_client"},{"line_number":43,"context_line":"        cls.image_ref \u003d cls.config.compute.image_ref"},{"line_number":44,"context_line":"        cls.flavor_ref \u003d cls.config.compute.flavor_ref"},{"line_number":45,"context_line":"        cls.build_interval \u003d cls.config.volume.build_interval"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAT3%2F%2Fvgc%3D","line":42,"updated":"2014-01-02 15:39:10.000000000","message":"Why do we need volumes_extension_client here? \nShould it be moved into the subclass?","commit_id":"785625d92fce2fbf1d1769d94f3a684d73290cd5"},{"author":{"_account_id":7139,"name":"Zhi Kun Liu","username":"zhikunliu","inactive":true},"change_message_id":"ac99a2256a66a2a8dcbb7e4d746426595c5f33df","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"        cls.snapshots_client \u003d cls.os.snapshots_client"},{"line_number":41,"context_line":"        cls.servers_client \u003d cls.os.servers_client"},{"line_number":42,"context_line":"        cls.volumes_extension_client \u003d cls.os.volumes_extension_client"},{"line_number":43,"context_line":"        cls.image_ref \u003d cls.config.compute.image_ref"},{"line_number":44,"context_line":"        cls.flavor_ref \u003d cls.config.compute.flavor_ref"},{"line_number":45,"context_line":"        cls.build_interval \u003d cls.config.volume.build_interval"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAT3%2F%2FtOo%3D","line":42,"in_reply_to":"AAAAT3%2F%2Ftgc%3D","updated":"2014-01-03 05:25:40.000000000","message":"Ivan, you are right. I found some new volume testcases still use BaseVolumeTest as the parent class. In order to stop avoid inconsistent, volumes_extension_client should be also moved to subclass. Thank you!","commit_id":"785625d92fce2fbf1d1769d94f3a684d73290cd5"},{"author":{"_account_id":7139,"name":"Zhi Kun Liu","username":"zhikunliu","inactive":true},"change_message_id":"ac04c3df36fb9925190ec93db38de92f9484f0b5","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"        cls.snapshots_client \u003d cls.os.snapshots_client"},{"line_number":41,"context_line":"        cls.servers_client \u003d cls.os.servers_client"},{"line_number":42,"context_line":"        cls.volumes_extension_client \u003d cls.os.volumes_extension_client"},{"line_number":43,"context_line":"        cls.image_ref \u003d cls.config.compute.image_ref"},{"line_number":44,"context_line":"        cls.flavor_ref \u003d cls.config.compute.flavor_ref"},{"line_number":45,"context_line":"        cls.build_interval \u003d cls.config.volume.build_interval"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAT3%2F%2Ftgc%3D","line":42,"in_reply_to":"AAAAT3%2F%2Fvgc%3D","updated":"2014-01-03 02:36:14.000000000","message":"Ivan, thanks for your review!  \nvolumes_extension_client will be moved into subclass in the future. Now, I only port volumes list tests into v2, which does not require volumes_extension_client. So I\u0027ll move it when port related volumes_extension tests.","commit_id":"785625d92fce2fbf1d1769d94f3a684d73290cd5"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"4010c960b5c3b4e9efcfdb50dc4941579993f280","unresolved":false,"context_lines":[{"line_number":116,"context_line":"        super(BaseVolumeV1Test, cls).setUpClass()"},{"line_number":117,"context_line":"        cls.snapshots_client \u003d cls.os.snapshots_client"},{"line_number":118,"context_line":"        cls.volumes_client \u003d cls.os.volumes_client"},{"line_number":119,"context_line":"        cls.volumes_extension_client \u003d cls.os.volumes_extension_client"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"class BaseVolumeV1AdminTest(BaseVolumeV1Test):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2F0sU%3D","line":119,"updated":"2014-01-08 02:49:54.000000000","message":"volumes_extensions_client is in tempest.services.compute.json/xml.\nThat seems a client for Nova, not Cinder.\n\nSo I guess this moving(cls.volumes_extension_client) is not necessary. I notice now tempest/api/volume/test_extensions.py should be moved under tempest/api/compute/ ...\nI feel it is OK that this is out of scope from this patch.","commit_id":"8a39ffc65dd87c00bcfe503e73b7bae284eb53a5"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"318e5014d0a5cbe44547185e515203d9da763b51","unresolved":false,"context_lines":[{"line_number":116,"context_line":"        super(BaseVolumeV1Test, cls).setUpClass()"},{"line_number":117,"context_line":"        cls.snapshots_client \u003d cls.os.snapshots_client"},{"line_number":118,"context_line":"        cls.volumes_client \u003d cls.os.volumes_client"},{"line_number":119,"context_line":"        cls.volumes_extension_client \u003d cls.os.volumes_extension_client"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"class BaseVolumeV1AdminTest(BaseVolumeV1Test):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2F0Us%3D","line":119,"in_reply_to":"AAAAUH%2F%2F0go%3D","updated":"2014-01-08 05:03:16.000000000","message":"Oops, sorry for my wrong review. I got it.","commit_id":"8a39ffc65dd87c00bcfe503e73b7bae284eb53a5"},{"author":{"_account_id":7139,"name":"Zhi Kun Liu","username":"zhikunliu","inactive":true},"change_message_id":"a03a9d5b9f0111eeb962b10d8f9b638d5708b4a6","unresolved":false,"context_lines":[{"line_number":116,"context_line":"        super(BaseVolumeV1Test, cls).setUpClass()"},{"line_number":117,"context_line":"        cls.snapshots_client \u003d cls.os.snapshots_client"},{"line_number":118,"context_line":"        cls.volumes_client \u003d cls.os.volumes_client"},{"line_number":119,"context_line":"        cls.volumes_extension_client \u003d cls.os.volumes_extension_client"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"class BaseVolumeV1AdminTest(BaseVolumeV1Test):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2F0go%3D","line":119,"in_reply_to":"AAAAUH%2F%2F0sU%3D","updated":"2014-01-08 04:26:07.000000000","message":"Hi Ken\u0027ichi, thank you very much for your review! The two clients are a little mixed up. But their name are different. In Nova, it is volumes_extensions_client. In Cinder, it is volumes_extension_client. Here I moved is cinder\u0027s client.","commit_id":"8a39ffc65dd87c00bcfe503e73b7bae284eb53a5"}]}
