)]}'
{"patrole_tempest_plugin/tests/api/volume/test_groups_rbac.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"12a666a1fcb912afb077ac42ee8394d9c9385fa6","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class BaseGroupRbacTest(rbac_base.BaseVolumeRbacTest):"},{"line_number":27,"context_line":"    credentials \u003d [\u0027primary\u0027, \u0027admin\u0027]"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    @classmethod"},{"line_number":30,"context_line":"    def setup_clients(cls):"},{"line_number":31,"context_line":"        super(BaseGroupRbacTest, cls).setup_clients()"},{"line_number":32,"context_line":"        cls.admin_groups_client \u003d cls.os_admin.groups_v3_client"},{"line_number":33,"context_line":"        cls.admin_volumes_client \u003d cls.os_admin.volumes_v3_client"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def setUp(self):"},{"line_number":36,"context_line":"        super(BaseGroupRbacTest, self).setUp()"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f96bb07_18f5d657","line":33,"range":{"start_line":27,"start_character":0,"end_line":33,"end_character":65},"updated":"2018-01-12 02:17:37.000000000","message":"This can all be removed.","commit_id":"64088f4855522d6bf9c00773045520f7a205e9f4"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"12a666a1fcb912afb077ac42ee8394d9c9385fa6","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        else:"},{"line_number":49,"context_line":"            self.addCleanup(self._delete_group, group[\u0027id\u0027])"},{"line_number":50,"context_line":"        waiters.wait_for_volume_resource_status("},{"line_number":51,"context_line":"            self.admin_groups_client, group[\u0027id\u0027], \u0027available\u0027)"},{"line_number":52,"context_line":"        return group"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    def _delete_group(self, group_id):"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f96bb07_d8ee8e87","line":51,"range":{"start_line":51,"start_character":17,"end_line":51,"end_character":36},"updated":"2018-01-12 02:17:37.000000000","message":"groups_client","commit_id":"64088f4855522d6bf9c00773045520f7a205e9f4"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"12a666a1fcb912afb077ac42ee8394d9c9385fa6","unresolved":false,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":"    def _delete_group(self, group_id):"},{"line_number":55,"context_line":"        self.groups_client.delete_group(group_id, delete_volumes\u003dTrue)"},{"line_number":56,"context_line":"        self.admin_groups_client.wait_for_resource_deletion(group_id)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"        vols \u003d self.admin_volumes_client.list_volumes("},{"line_number":59,"context_line":"            detail\u003dTrue, params\u003d{\u0027all_tenants\u0027: True})[\u0027volumes\u0027]"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f96bb07_f894aaea","line":56,"range":{"start_line":56,"start_character":13,"end_line":56,"end_character":32},"updated":"2018-01-12 02:17:37.000000000","message":"groups_client","commit_id":"64088f4855522d6bf9c00773045520f7a205e9f4"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"12a666a1fcb912afb077ac42ee8394d9c9385fa6","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        self.groups_client.delete_group(group_id, delete_volumes\u003dTrue)"},{"line_number":56,"context_line":"        self.admin_groups_client.wait_for_resource_deletion(group_id)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"        vols \u003d self.admin_volumes_client.list_volumes("},{"line_number":59,"context_line":"            detail\u003dTrue, params\u003d{\u0027all_tenants\u0027: True})[\u0027volumes\u0027]"},{"line_number":60,"context_line":"        for vol in vols:"},{"line_number":61,"context_line":"            if vol[\u0027group_id\u0027] \u003d\u003d group_id:"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f96bb07_189ab613","line":58,"range":{"start_line":58,"start_character":20,"end_line":58,"end_character":40},"updated":"2018-01-12 02:17:37.000000000","message":"volumes_client","commit_id":"64088f4855522d6bf9c00773045520f7a205e9f4"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"12a666a1fcb912afb077ac42ee8394d9c9385fa6","unresolved":false,"context_lines":[{"line_number":59,"context_line":"            detail\u003dTrue, params\u003d{\u0027all_tenants\u0027: True})[\u0027volumes\u0027]"},{"line_number":60,"context_line":"        for vol in vols:"},{"line_number":61,"context_line":"            if vol[\u0027group_id\u0027] \u003d\u003d group_id:"},{"line_number":62,"context_line":"                self.admin_volumes_client.wait_for_resource_deletion("},{"line_number":63,"context_line":"                    vol[\u0027id\u0027])"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"7f96bb07_d8a3ee4e","line":62,"range":{"start_line":62,"start_character":21,"end_line":62,"end_character":41},"updated":"2018-01-12 02:17:37.000000000","message":"volumes_client","commit_id":"64088f4855522d6bf9c00773045520f7a205e9f4"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"12a666a1fcb912afb077ac42ee8394d9c9385fa6","unresolved":false,"context_lines":[{"line_number":73,"context_line":"        rule\u003d\"group:create\")"},{"line_number":74,"context_line":"    def test_create_group(self):"},{"line_number":75,"context_line":"        with self.rbac_utils.override_role(self):"},{"line_number":76,"context_line":"            self._create_group(ignore_notfound\u003dTrue,"},{"line_number":77,"context_line":"                               group_type\u003dself.group_type_id,"},{"line_number":78,"context_line":"                               volume_types\u003d[self.volume_type_id])"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    @decorators.idempotent_id(\u00279dc34a62-ae3e-439e-92b6-9389ea4c2863\u0027)"},{"line_number":81,"context_line":"    @rbac_rule_validation.action("}],"source_content_type":"text/x-python","patch_set":3,"id":"7f96bb07_78dadae9","line":78,"range":{"start_line":76,"start_character":12,"end_line":78,"end_character":66},"updated":"2018-01-12 02:17:37.000000000","message":"This will have to be broken up to just call \n\nself.groups_client.create_group(name\u003dgroup_name, **kwargs)[\n            \u0027group\u0027]\n\nwith the remaining code appropriately placed around the contextmanager.","commit_id":"64088f4855522d6bf9c00773045520f7a205e9f4"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"12a666a1fcb912afb077ac42ee8394d9c9385fa6","unresolved":false,"context_lines":[{"line_number":126,"context_line":"                                   volume_types\u003d[self.volume_type_id])"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"        with self.rbac_utils.override_role(self):"},{"line_number":129,"context_line":"            self._delete_group(group[\u0027id\u0027])"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"class GroupV320RbacTest(BaseGroupRbacTest):"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f96bb07_38e452ac","line":129,"range":{"start_line":129,"start_character":11,"end_line":129,"end_character":43},"updated":"2018-01-12 02:17:37.000000000","message":"See above.","commit_id":"64088f4855522d6bf9c00773045520f7a205e9f4"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"661bec5c2e3bfe7996e8d87f3178a231fa57c064","unresolved":false,"context_lines":[{"line_number":66,"context_line":"        rule\u003d\"group:create\")"},{"line_number":67,"context_line":"    def test_create_group(self):"},{"line_number":68,"context_line":"        with self.rbac_utils.override_role(self):"},{"line_number":69,"context_line":"            self._create_group(ignore_notfound\u003dTrue,"},{"line_number":70,"context_line":"                               group_type\u003dself.group_type_id,"},{"line_number":71,"context_line":"                               volume_types\u003d[self.volume_type_id])"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    @decorators.idempotent_id(\u00279dc34a62-ae3e-439e-92b6-9389ea4c2863\u0027)"},{"line_number":74,"context_line":"    @rbac_rule_validation.action("}],"source_content_type":"text/x-python","patch_set":4,"id":"7f96bb07_04e22c02","line":71,"range":{"start_line":69,"start_character":12,"end_line":71,"end_character":66},"updated":"2018-01-13 08:19:19.000000000","message":"group_name \u003d name or data_utils.rand_name(\n            self.__class__.__name__ + \u0027-Group\u0027)\n        with self.rbac_utils.override_role(self):\n            group \u003d self.groups_client.create_group(name\u003dgroup_name,\n                                group_type\u003dself.group_type_id,\n                                volume_types\u003d[self.volume_type_id])[\n            \u0027group\u0027]\n        self.addCleanup(self._delete_group, group[\u0027id\u0027])\n        waiters.wait_for_volume_resource_status(\n            self.groups_client, group[\u0027id\u0027], \u0027available\u0027)","commit_id":"e8028e2f0018d71db24ac193a5a1a0abb580aca6"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"661bec5c2e3bfe7996e8d87f3178a231fa57c064","unresolved":false,"context_lines":[{"line_number":119,"context_line":"                                   volume_types\u003d[self.volume_type_id])"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"        with self.rbac_utils.override_role(self):"},{"line_number":122,"context_line":"            self._delete_group(group[\u0027id\u0027])"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"class GroupV320RbacTest(BaseGroupRbacTest):"}],"source_content_type":"text/x-python","patch_set":4,"id":"7f96bb07_a4f018cb","line":122,"range":{"start_line":122,"start_character":12,"end_line":122,"end_character":43},"updated":"2018-01-13 08:19:19.000000000","message":"Same idea as above.","commit_id":"e8028e2f0018d71db24ac193a5a1a0abb580aca6"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"cd7ff3bfe0f4d8a98480683abd95f19d69a78eb7","unresolved":false,"context_lines":[{"line_number":127,"context_line":"                                   volume_types\u003d[self.volume_type_id])"},{"line_number":128,"context_line":"        group_id \u003d group[\u0027id\u0027]"},{"line_number":129,"context_line":"        with self.rbac_utils.override_role(self):"},{"line_number":130,"context_line":"            group \u003d self.groups_client.delete_group("},{"line_number":131,"context_line":"                group_id, delete_volumes\u003dTrue)[\u0027group\u0027]"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"        self.groups_client.wait_for_resource_deletion(group_id)"},{"line_number":134,"context_line":"        vols \u003d self.volumes_client.list_volumes("}],"source_content_type":"text/x-python","patch_set":5,"id":"7f96bb07_267cba1d","line":131,"range":{"start_line":130,"start_character":12,"end_line":131,"end_character":55},"updated":"2018-01-16 22:36:27.000000000","message":"Should be:\n\nself.groups_client.delete_group(\n    group_id, delete_volumes\u003dTrue)\n\nSee the groups client documentation here: https://github.com/openstack/tempest/blob/master/tempest/lib/services/volume/v3/groups_client.py#L42\n\nAnd the API documentation for this endpoint is here: https://developer.openstack.org/api-ref/block-storage/v3/index.html#delete-group\n\nBasically, most every \"delete\" actions returns an empty response body.","commit_id":"df0e5acfb2c0b6aadc247a835ed66d0c966e4a63"}],"patrole_tempest_plugin/tests/api/volume/test_limits_rbac.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"08fe2d1165813d12bd9e333ddb737114cf223152","unresolved":false,"context_lines":[{"line_number":27,"context_line":"                                 rule\u003d\"limits_extension:used_limits\")"},{"line_number":28,"context_line":"    def test_show_limits(self):"},{"line_number":29,"context_line":"        with self.rbac_utils.override_role(self):"},{"line_number":30,"context_line":"        \tself.volume_limits_client.show_limits()"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_b3aaea16","line":30,"range":{"start_line":30,"start_character":8,"end_line":30,"end_character":9},"updated":"2018-01-10 20:50:15.000000000","message":"This will cause a pep8 failure because it\u0027s a tab rather than spaces.","commit_id":"a72420a5a2f544f364dc27c6251605798d7e5128"}]}
