)]}'
{"patrole_tempest_plugin/tests/api/volume/test_volume_basic_crud.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"b333cda7f42dd2b2d4ff28337254da958aad5842","unresolved":false,"context_lines":[{"line_number":77,"context_line":"                                          name\u003dnew_name)"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"class VolumesV3CreateDeleteRbacTest(VolumesV2BasicCrudRbacTest):"},{"line_number":81,"context_line":"    _api_version \u003d 3"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a1ced50_2046d323","line":80,"range":{"start_line":80,"start_character":6,"end_line":80,"end_character":35},"updated":"2017-03-16 21:34:32.000000000","message":"Probably want to change this to match your new class name for v2 class.","commit_id":"6baa7f1b9b58680ef66539f58acdcef7a030b8b2"},{"author":{"_account_id":23184,"name":"DavidPurcell","email":"d.purcell222@gmail.com","username":"DavidPurcell"},"change_message_id":"4c84435d957c5be7eae35a6393f28e6182c65f5d","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from oslo_log import log as logging"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from tempest import config"},{"line_number":19,"context_line":"from tempest.lib.common.utils import data_utils"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a1ced50_3317efa4","line":16,"range":{"start_line":16,"start_character":0,"end_line":16,"end_character":35},"updated":"2017-03-17 15:36:08.000000000","message":"Un-used","commit_id":"f17e5c7b8c45fd8abe5ae410510abc4dc970b1c3"},{"author":{"_account_id":23184,"name":"DavidPurcell","email":"d.purcell222@gmail.com","username":"DavidPurcell"},"change_message_id":"4c84435d957c5be7eae35a6393f28e6182c65f5d","unresolved":false,"context_lines":[{"line_number":23,"context_line":"from patrole_tempest_plugin.tests.api.volume import rbac_base"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"CONF \u003d config.CONF"},{"line_number":26,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"class VolumesV2BasicCrudRbacTest(rbac_base.BaseVolumeRbacTest):"}],"source_content_type":"text/x-python","patch_set":5,"id":"1a1ced50_731167ac","line":26,"range":{"start_line":26,"start_character":0,"end_line":26,"end_character":33},"updated":"2017-03-17 15:36:08.000000000","message":"Un-used","commit_id":"f17e5c7b8c45fd8abe5ae410510abc4dc970b1c3"}],"patrole_tempest_plugin/tests/api/volume/test_volume_create_delete_rbac.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"7f3062a573160d98a64453ba1082f29ced3857d1","unresolved":false,"context_lines":[{"line_number":25,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class CreateDeleteVolumeRbacTest(rbac_base.BaseVolumeRbacTest):"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    def _create_volume(self):"},{"line_number":31,"context_line":"        # create_volume waits for volume status to be"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a1ff146_ec9558e4","line":28,"range":{"start_line":28,"start_character":6,"end_line":28,"end_character":32},"updated":"2017-03-15 23:44:59.000000000","message":"I know this has nothing to do with the bug fix, but can we correct this class name? It should be VolumesV2CreateDeleteRbacTest.\n\nAlthough honestly I\u0027m not sure whether we should split up the creation and deletion into 2 different files (or merge list, get, create, delete into one file -- which is my preference; Tempest splits them up because it does several tests per category, we only care about doing each one per policy action).\n\nAlso, looks like this test is missing certain policy actions like create_from_image, force_delete, etc. I\u0027m going to file a bug for that.","commit_id":"be3fbc0da53e4ba4ed1ed894d6cc299b45e35c71"},{"author":{"_account_id":17896,"name":"Rick Bartra","email":"rickbartra@microsoft.com","username":"rb560u"},"change_message_id":"e8cd2169e3662904e16e185044764097155736bf","unresolved":false,"context_lines":[{"line_number":25,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class CreateDeleteVolumeRbacTest(rbac_base.BaseVolumeRbacTest):"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    def _create_volume(self):"},{"line_number":31,"context_line":"        # create_volume waits for volume status to be"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a1ff146_1f92bb57","line":28,"range":{"start_line":28,"start_character":6,"end_line":28,"end_character":32},"in_reply_to":"3a1ff146_ec9558e4","updated":"2017-03-16 15:52:39.000000000","message":"I will consolidate list, get, create, and delete into one file.\n\nI agree there should be a bug filed for the missing actions.","commit_id":"be3fbc0da53e4ba4ed1ed894d6cc299b45e35c71"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"7f3062a573160d98a64453ba1082f29ced3857d1","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class CreateDeleteVolumeRbacTest(rbac_base.BaseVolumeRbacTest):"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    def _create_volume(self):"},{"line_number":31,"context_line":"        # create_volume waits for volume status to be"},{"line_number":32,"context_line":"        # \"available\" before returning and automatically"},{"line_number":33,"context_line":"        # cleans up at the end of testing"},{"line_number":34,"context_line":"        volume \u003d self.create_volume()"},{"line_number":35,"context_line":"        return volume"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    @rbac_rule_validation.action(service\u003d\"cinder\","},{"line_number":38,"context_line":"                                 rule\u003d\"volume:create\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a1ff146_0cc0f4df","line":35,"range":{"start_line":30,"start_character":0,"end_line":35,"end_character":21},"updated":"2017-03-15 23:44:59.000000000","message":"This is honestly a useless function. Should just use self.create_volume()","commit_id":"be3fbc0da53e4ba4ed1ed894d6cc299b45e35c71"},{"author":{"_account_id":17896,"name":"Rick Bartra","email":"rickbartra@microsoft.com","username":"rb560u"},"change_message_id":"e8cd2169e3662904e16e185044764097155736bf","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class CreateDeleteVolumeRbacTest(rbac_base.BaseVolumeRbacTest):"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    def _create_volume(self):"},{"line_number":31,"context_line":"        # create_volume waits for volume status to be"},{"line_number":32,"context_line":"        # \"available\" before returning and automatically"},{"line_number":33,"context_line":"        # cleans up at the end of testing"},{"line_number":34,"context_line":"        volume \u003d self.create_volume()"},{"line_number":35,"context_line":"        return volume"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    @rbac_rule_validation.action(service\u003d\"cinder\","},{"line_number":38,"context_line":"                                 rule\u003d\"volume:create\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a1ff146_9fedcb27","line":35,"range":{"start_line":30,"start_character":0,"end_line":35,"end_character":21},"in_reply_to":"3a1ff146_0cc0f4df","updated":"2017-03-16 15:52:39.000000000","message":"I agree","commit_id":"be3fbc0da53e4ba4ed1ed894d6cc299b45e35c71"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"7f3062a573160d98a64453ba1082f29ced3857d1","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        self.volumes_client.delete_volume(volume[\u0027id\u0027])"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"class CreateDeleteVolumeV3RbacTest(CreateDeleteVolumeRbacTest):"},{"line_number":57,"context_line":"    _api_version \u003d 3"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a1ff146_2ca05043","line":56,"range":{"start_line":56,"start_character":6,"end_line":56,"end_character":34},"updated":"2017-03-15 23:44:59.000000000","message":"See above.","commit_id":"be3fbc0da53e4ba4ed1ed894d6cc299b45e35c71"}]}
