)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"b2d553c6f7bd361ed5b1be29f0a7725533af647e","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"RBAC tests for reset group snapshot status policy"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add RBAC tests for missing reset group snapshot status [0] the API for which was recently introduced to Tempest by [1] to the Patrole test suite in [2]."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"[0] https://github.com/openstack/cinder/blob/master/cinder/policies/group_snapshot_actions.py"},{"line_number":12,"context_line":"[1] https://review.openstack.org/#/c/495735/"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7f96bb07_3de66818","line":9,"updated":"2018-01-22 22:29:37.000000000","message":"May we break up this line into multiple lines so the commit message is readable? See https://wiki.openstack.org/wiki/GitCommitMessages","commit_id":"3c54b95752d0b0f737665cc070f998233d190d21"}],"patrole_tempest_plugin/tests/api/volume/test_group_snapshots_rbac.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"b2d553c6f7bd361ed5b1be29f0a7725533af647e","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        self.group_snapshots_client.wait_for_resource_deletion("},{"line_number":59,"context_line":"            group_snapshot[\u0027id\u0027])"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"    def reset_group_snapshot(self, group_snapshot, errorState):"},{"line_number":62,"context_line":"        self.group_snapshots_client.delete_group_snapshot(group_snapshot[\u0027id\u0027])"},{"line_number":63,"context_line":"        vols \u003d self.volumes_client.list_volumes(detail\u003dTrue)[\u0027volumes\u0027]"},{"line_number":64,"context_line":"        snapshots \u003d self.snapshots_client.list_snapshots("},{"line_number":65,"context_line":"            detail\u003dTrue)[\u0027snapshots\u0027]"},{"line_number":66,"context_line":"        for vol in vols:"},{"line_number":67,"context_line":"            for snap in snapshots:"},{"line_number":68,"context_line":"                if (vol[\u0027group_id\u0027] \u003d\u003d group_snapshot[\u0027group_id\u0027] and"},{"line_number":69,"context_line":"                        vol[\u0027id\u0027] \u003d\u003d snap[\u0027volume_id\u0027]):"},{"line_number":70,"context_line":"                    self.snapshots_client.wait_for_resource_deletion("},{"line_number":71,"context_line":"                        snap[\u0027id\u0027])"},{"line_number":72,"context_line":"        self.group_snapshots_client.wait_for_resource_deletion("},{"line_number":73,"context_line":"            group_snapshot[\u0027id\u0027])"},{"line_number":74,"context_line":"        waiters.wait_for_volume_resource_status("},{"line_number":75,"context_line":"            self.group_snapshots_client, group_snapshot[\u0027id\u0027], errorState)"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"class GroupSnaphotsV314RbacTest(BaseGroupSnapshotsRbacTest):"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f96bb07_ddd5041d","line":75,"range":{"start_line":61,"start_character":0,"end_line":75,"end_character":74},"updated":"2018-01-22 22:29:37.000000000","message":"This isn\u0027t needed.","commit_id":"3c54b95752d0b0f737665cc070f998233d190d21"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"c1dec7c85ec8f4291296938bec853dda50844420","unresolved":false,"context_lines":[{"line_number":158,"context_line":"    @decorators.idempotent_id(\u00273f0c842e-0c72-4f5e-a9c2-281070be3e2c\u0027)"},{"line_number":159,"context_line":"    @rbac_rule_validation.action("},{"line_number":160,"context_line":"        service\u003d\"cinder\","},{"line_number":161,"context_line":"        rule\u003d\"group:reset_group_snapshot\""},{"line_number":162,"context_line":"        )"},{"line_number":163,"context_line":"    def test_reset_group_snapshot_rbac(self):"},{"line_number":164,"context_line":"        group_snapshot_name \u003d data_utils.rand_name(\u0027group_snapshot\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_919e8305","line":161,"range":{"start_line":161,"start_character":14,"end_line":161,"end_character":40},"updated":"2018-01-23 01:23:38.000000000","message":"See: https://github.com/openstack/cinder/blob/master/cinder/policies/group_snapshot_actions.py#L21\n\nShould be: \u0027group:reset_group_snapshot_status\u0027","commit_id":"7162e8e847acc515b7a7d5ca8b11f97823d38fdb"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"bcf75f01af6f9399d943845cbe462c39928f7416","unresolved":false,"context_lines":[{"line_number":155,"context_line":"        self.group_snapshots_client.wait_for_resource_deletion("},{"line_number":156,"context_line":"            group_snapshot[\u0027id\u0027])"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    @decorators.idempotent_id(\u00273f0c842e-0c72-4f5e-a9c2-281070be3e2c\u0027)"},{"line_number":159,"context_line":"    @rbac_rule_validation.action("},{"line_number":160,"context_line":"        service\u003d\"cinder\","},{"line_number":161,"context_line":"        rule\u003d\"group:reset_group_snapshot\""},{"line_number":162,"context_line":"        )"},{"line_number":163,"context_line":"    def test_reset_group_snapshot_rbac(self):"},{"line_number":164,"context_line":"        group_snapshot_name \u003d data_utils.rand_name(\u0027group_snapshot\u0027)"},{"line_number":165,"context_line":"        group_snapshot \u003d self._create_group_snapshot(group_id\u003dself.grp[\u0027id\u0027],"},{"line_number":166,"context_line":"                                                     name\u003dgroup_snapshot_name)"},{"line_number":167,"context_line":"        with self.rbac_utils.override_role(self):"},{"line_number":168,"context_line":"            self.group_snapshots_client.reset_group_snapshot("},{"line_number":169,"context_line":"                group_snapshot[\u0027id\u0027], \u0027error\u0027)"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"        waiters.wait_for_volume_resource_status("},{"line_number":172,"context_line":"            self.group_snapshots_client, group_snapshot[\u0027id\u0027], \u0027error\u0027)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_9a0d1e40","line":172,"range":{"start_line":158,"start_character":0,"end_line":172,"end_character":71},"updated":"2018-01-23 19:22:12.000000000","message":"This shouldn\u0027t have been removed. Also, the rule is:\n\n    \"group:reset_group_snapshot_status\"","commit_id":"7162e8e847acc515b7a7d5ca8b11f97823d38fdb"},{"author":{"_account_id":25571,"name":"Rajat Sharma","email":"rajat.sharma@india.nec.com","username":"rajat29"},"change_message_id":"80d11c06416a3ce5bc354350bdc2cc6e8726da8c","unresolved":false,"context_lines":[{"line_number":134,"context_line":"    @decorators.idempotent_id(\u0027cf2e25ee-ca58-4ad6-b98d-33235c77db7b\u0027)"},{"line_number":135,"context_line":"    @rbac_rule_validation.action("},{"line_number":136,"context_line":"        service\u003d\"cinder\","},{"line_number":137,"context_line":"        rule\u003d\"group:delete_group_snapshot_status\""},{"line_number":138,"context_line":"        )"},{"line_number":139,"context_line":"    def test_delete_group_snapshot_rbac(self):"},{"line_number":140,"context_line":"        group_snapshot_name \u003d data_utils.rand_name(\u0027group_snapshot\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f96bb07_ba36dae6","line":137,"range":{"start_line":137,"start_character":41,"end_line":137,"end_character":48},"updated":"2018-01-23 18:49:37.000000000","message":"This is \"group:delete_group_snapshot\"\nhttps://github.com/openstack/cinder/blob/0cf910d4345c000e8c306b1cb2b2dd291975cf71/cinder/policies/group_snapshots.py#L22","commit_id":"f92449a258cb21535330bcdfb066e896ed3407dc"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"bcf75f01af6f9399d943845cbe462c39928f7416","unresolved":false,"context_lines":[{"line_number":134,"context_line":"    @decorators.idempotent_id(\u0027cf2e25ee-ca58-4ad6-b98d-33235c77db7b\u0027)"},{"line_number":135,"context_line":"    @rbac_rule_validation.action("},{"line_number":136,"context_line":"        service\u003d\"cinder\","},{"line_number":137,"context_line":"        rule\u003d\"group:delete_group_snapshot_status\""},{"line_number":138,"context_line":"        )"},{"line_number":139,"context_line":"    def test_delete_group_snapshot_rbac(self):"},{"line_number":140,"context_line":"        group_snapshot_name \u003d data_utils.rand_name(\u0027group_snapshot\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"7f96bb07_3a1dea72","line":137,"range":{"start_line":137,"start_character":41,"end_line":137,"end_character":48},"in_reply_to":"7f96bb07_ba36dae6","updated":"2018-01-23 19:22:12.000000000","message":"There\u0027s a rebase issue here.","commit_id":"f92449a258cb21535330bcdfb066e896ed3407dc"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"014c149bec11a293ab356f9f7cf73363eadd0d1e","unresolved":false,"context_lines":[{"line_number":165,"context_line":"        group_snapshot \u003d self._create_group_snapshot(group_id\u003dself.grp[\u0027id\u0027],"},{"line_number":166,"context_line":"                                                     name\u003dgroup_snapshot_name)"},{"line_number":167,"context_line":"        with self.rbac_utils.override_role(self):"},{"line_number":168,"context_line":"            self.group_snapshots_client.reset_group_snapshot("},{"line_number":169,"context_line":"                group_snapshot[\u0027id\u0027], \u0027error\u0027)"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"        waiters.wait_for_volume_resource_status("}],"source_content_type":"text/x-python","patch_set":4,"id":"7f96bb07_8fd71050","line":168,"range":{"start_line":168,"start_character":40,"end_line":168,"end_character":60},"updated":"2018-01-24 03:16:01.000000000","message":"reset_group_snapshot_status","commit_id":"392696c4b7461e4971d07eeac4ff34a3c51dd676"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"a40c7711100a2080aa9f50e2170bf7fbcb6b4ec2","unresolved":false,"context_lines":[{"line_number":154,"context_line":"                        snap[\u0027id\u0027])"},{"line_number":155,"context_line":"        self.group_snapshots_client.wait_for_resource_deletion("},{"line_number":156,"context_line":"            group_snapshot[\u0027id\u0027])"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    @decorators.idempotent_id(\u00273f0c842e-0c72-4f5e-a9c2-281070be3e2c\u0027)"},{"line_number":159,"context_line":"    @rbac_rule_validation.action("},{"line_number":160,"context_line":"        service\u003d\"cinder\","}],"source_content_type":"text/x-python","patch_set":6,"id":"5f93b717_12e39a07","line":157,"updated":"2018-01-24 19:22:23.000000000","message":"This test below will have to be included in its own test class because it belongs to a different microversion than the tests above.\n\nclass GroupSnaphotsV319bacTest(BaseGroupSnapshotsRbacTest):\n    _api_version \u003d 3\n    min_microversion \u003d \u00273.19\u0027\n    max_microversion \u003d \u0027latest\u0027\n\nReference: https://github.com/openstack/cinder/blob/master/cinder/api/microversions.py#L78","commit_id":"b90d733ab70691b21bd033e76ff426e0204b65d7"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"d56ff00a7b74105747cb740f694983e01f529772","unresolved":false,"context_lines":[{"line_number":160,"context_line":"    _api_version \u003d 3"},{"line_number":161,"context_line":"    min_microversion \u003d \u00273.19\u0027"},{"line_number":162,"context_line":"    max_microversion \u003d \u0027latest\u0027"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"    @decorators.idempotent_id(\u00273f0c842e-0c72-4f5e-a9c2-281070be3e2c\u0027)"},{"line_number":165,"context_line":"    @rbac_rule_validation.action("},{"line_number":166,"context_line":"        service\u003d\"cinder\","}],"source_content_type":"text/x-python","patch_set":7,"id":"5f93b717_eb4e2fc0","line":163,"updated":"2018-01-25 01:46:57.000000000","message":"The gate is throwing an error related to stuff not being defined in this class, need to copy/paste everything from other group class:\n\n    @classmethod\n    def skip_checks(cls):\n        super(GroupSnaphotsV319RbacTest, cls).skip_checks()\n        if not utils.is_extension_enabled(\u0027groupsnapshot\u0027, \u0027volume\u0027):\n            msg \u003d \"%s skipped as group snapshots not enabled.\" % cls.__name__\n            raise cls.skipException(msg)\n\n    @classmethod\n    def setup_clients(cls):\n        super(GroupSnaphotsV319RbacTest, cls).setup_clients()\n        cls.group_snapshot_client \u003d \\\n            cls.os_primary.group_snapshots_v3_client\n\n    def setUp(self):\n        super(GroupSnaphotsV319RbacTest, self).setUp()\n        self.volume_type \u003d self.create_volume_type()\n        self.group_type \u003d self.create_group_type()\n        self.grp \u003d self.create_group(group_type\u003dself.group_type[\u0027id\u0027],\n                                     volume_types\u003d[self.volume_type[\u0027id\u0027]])\n        self.vol \u003d self.create_volume(volume_type\u003dself.volume_type[\u0027id\u0027],\n                                      group_id\u003dself.grp[\u0027id\u0027])","commit_id":"28230dd9b6d4fe764c1a678ede5ad5f8235653f0"}]}
