)]}'
{"patrole_tempest_plugin/tests/api/volume/test_volume_types_access_rbac.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"a6663320d8723fc9c03325e54a45e6d23398f82c","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class VolumeTypesAccessRbacTest(rbac_base.BaseVolumeRbacTest):"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    @classmethod"},{"line_number":27,"context_line":"    def skip_checks(cls):"},{"line_number":28,"context_line":"        super(VolumeTypesAccessRbacTest, cls).skip_checks()"}],"source_content_type":"text/x-python","patch_set":5,"id":"1f013ff3_f4b10c91","line":25,"range":{"start_line":25,"start_character":0,"end_line":25,"end_character":0},"updated":"2017-05-17 02:56:37.000000000","message":"you can do  _api_version \u003d 3 here to run tests for v3 only.","commit_id":"74e2729a4507a124b939f783af11128e2f1744dc"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"05d02e98a97607982d9ffbe82841f83370384c81","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class VolumeTypesAccessRbacTest(rbac_base.BaseVolumeRbacTest):"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    @classmethod"},{"line_number":27,"context_line":"    def skip_checks(cls):"},{"line_number":28,"context_line":"        super(VolumeTypesAccessRbacTest, cls).skip_checks()"}],"source_content_type":"text/x-python","patch_set":5,"id":"ff0f0b1f_d74e53c0","line":25,"range":{"start_line":25,"start_character":0,"end_line":25,"end_character":0},"in_reply_to":"1f013ff3_f4b10c91","updated":"2017-05-17 15:35:16.000000000","message":"That is the plan once version 0.1.0 is released. Then we\u0027ll create a bp to stop testing all deprecated APIs.\n\nAll mark this as WIP until 0.1.0 is released.","commit_id":"74e2729a4507a124b939f783af11128e2f1744dc"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"7e03e057c70c8e8139fe61ef19c20be537bd8dd5","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class VolumeTypesAccessRbacTest(rbac_base.BaseVolumeRbacTest):"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    @classmethod"},{"line_number":27,"context_line":"    def skip_checks(cls):"},{"line_number":28,"context_line":"        super(VolumeTypesAccessRbacTest, cls).skip_checks()"}],"source_content_type":"text/x-python","patch_set":5,"id":"ff0f0b1f_48205d4a","line":25,"range":{"start_line":25,"start_character":0,"end_line":25,"end_character":0},"in_reply_to":"ff0f0b1f_d74e53c0","updated":"2017-05-26 00:50:35.000000000","message":"nice. +1","commit_id":"74e2729a4507a124b939f783af11128e2f1744dc"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"a6663320d8723fc9c03325e54a45e6d23398f82c","unresolved":false,"context_lines":[{"line_number":40,"context_line":"    def _add_type_access(self):"},{"line_number":41,"context_line":"        self.volume_types_client.add_type_access("},{"line_number":42,"context_line":"            self.vol_type[\u0027id\u0027], project\u003dself.project_id)"},{"line_number":43,"context_line":"        self.addCleanup(test_utils.call_and_ignore_notfound_exc,"},{"line_number":44,"context_line":"                        self.volume_types_client.remove_type_access,"},{"line_number":45,"context_line":"                        self.vol_type[\u0027id\u0027], project\u003dself.project_id)"},{"line_number":46,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1f013ff3_f4034c41","line":43,"range":{"start_line":43,"start_character":35,"end_line":43,"end_character":63},"updated":"2017-05-17 02:56:37.000000000","message":"let\u0027s not ignore the NotFound as no one else is removing the access type.","commit_id":"74e2729a4507a124b939f783af11128e2f1744dc"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"05d02e98a97607982d9ffbe82841f83370384c81","unresolved":false,"context_lines":[{"line_number":40,"context_line":"    def _add_type_access(self):"},{"line_number":41,"context_line":"        self.volume_types_client.add_type_access("},{"line_number":42,"context_line":"            self.vol_type[\u0027id\u0027], project\u003dself.project_id)"},{"line_number":43,"context_line":"        self.addCleanup(test_utils.call_and_ignore_notfound_exc,"},{"line_number":44,"context_line":"                        self.volume_types_client.remove_type_access,"},{"line_number":45,"context_line":"                        self.vol_type[\u0027id\u0027], project\u003dself.project_id)"},{"line_number":46,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"ff0f0b1f_578243ca","line":43,"range":{"start_line":43,"start_character":35,"end_line":43,"end_character":63},"in_reply_to":"1f013ff3_f4034c41","updated":"2017-05-17 15:35:16.000000000","message":"It\u0027s removed in ``test_remove_type_access`` below.","commit_id":"74e2729a4507a124b939f783af11128e2f1744dc"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"a6663320d8723fc9c03325e54a45e6d23398f82c","unresolved":false,"context_lines":[{"line_number":75,"context_line":"            self.vol_type[\u0027id\u0027], project\u003dself.project_id)"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"class VolumeTypesAccessV3RbacTest(VolumeTypesAccessRbacTest):"},{"line_number":79,"context_line":"    _api_version \u003d 3"}],"source_content_type":"text/x-python","patch_set":5,"id":"1f013ff3_54c1e0e3","line":79,"range":{"start_line":78,"start_character":0,"end_line":79,"end_character":20},"updated":"2017-05-17 02:56:37.000000000","message":"i thought patrole testing only v3 as v2 APIs are deprecated. We are in progress to merge the tests for v2 and v3 APIs.\n\nWe can merge patrole tests also once done in tempest but I prefer to add new tests for v3 only.","commit_id":"74e2729a4507a124b939f783af11128e2f1744dc"},{"author":{"_account_id":23185,"name":"Samantha Blanco","email":"samantha.blanco@att.com","username":"sblanco"},"change_message_id":"eb9382b339b1287a90e1d463553f1323b3d79420","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        rule\u003d\"volume_extension:volume_type_access:addProjectAccess\")"},{"line_number":68,"context_line":"    def test_add_type_access(self):"},{"line_number":69,"context_line":"        self.rbac_utils.switch_role(self, toggle_rbac_role\u003dTrue)"},{"line_number":70,"context_line":"        self._add_type_access(ignore_not_found\u003dTrue)"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    @decorators.idempotent_id(\u00278f848aeb-636a-46f1-aeeb-e2a60e9d2bfe\u0027)"},{"line_number":73,"context_line":"    @rbac_rule_validation.action("}],"source_content_type":"text/x-python","patch_set":7,"id":"7f231b9d_ebd0f521","line":70,"range":{"start_line":70,"start_character":30,"end_line":70,"end_character":51},"updated":"2017-06-13 18:46:57.000000000","message":"Seems to me like this should be false for this test; all we\u0027re doing here is adding an access type. Is there a reason we shouldn\u0027t expect it to be here when it\u0027s time for cleanup?","commit_id":"12a52d9fcabe4e86d88aa7cd05b68c0ed5bd041a"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"d2548d89aee974b4e14dcd73b99ade3ca14f6de6","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        rule\u003d\"volume_extension:volume_type_access:addProjectAccess\")"},{"line_number":68,"context_line":"    def test_add_type_access(self):"},{"line_number":69,"context_line":"        self.rbac_utils.switch_role(self, toggle_rbac_role\u003dTrue)"},{"line_number":70,"context_line":"        self._add_type_access(ignore_not_found\u003dTrue)"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"    @decorators.idempotent_id(\u00278f848aeb-636a-46f1-aeeb-e2a60e9d2bfe\u0027)"},{"line_number":73,"context_line":"    @rbac_rule_validation.action("}],"source_content_type":"text/x-python","patch_set":7,"id":"7f231b9d_563b109b","line":70,"range":{"start_line":70,"start_character":30,"end_line":70,"end_character":51},"in_reply_to":"7f231b9d_ebd0f521","updated":"2017-06-13 19:06:27.000000000","message":"But if adding the type access fails with a 403 (the default rule is admin_api: https://github.com/openstack/cinder/blob/master/etc/cinder/policy.json#L37) then that means that the project was never given access to the volume type.\n\nSo during clean up when we try to remove project access for a project that was never given access, that\u0027ll result in a NotFound exception being thrown.","commit_id":"12a52d9fcabe4e86d88aa7cd05b68c0ed5bd041a"}],"patrole_tempest_plugin/tests/api/volume/test_volume_types_extra_specs_rbac.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"a6663320d8723fc9c03325e54a45e6d23398f82c","unresolved":false,"context_lines":[{"line_number":42,"context_line":"        self.volume_types_client.create_volume_type_extra_specs("},{"line_number":43,"context_line":"            self.vol_type[\u0027id\u0027], extra_specs)"},{"line_number":44,"context_line":"        self.addCleanup("},{"line_number":45,"context_line":"            test_utils.call_and_ignore_notfound_exc,"},{"line_number":46,"context_line":"            self.volume_types_client.delete_volume_type_extra_specs,"},{"line_number":47,"context_line":"            self.vol_type[\u0027id\u0027], self.spec_key)"},{"line_number":48,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"1f013ff3_7463bc1b","line":45,"range":{"start_line":45,"start_character":23,"end_line":45,"end_character":51},"updated":"2017-05-17 02:56:37.000000000","message":"ditto","commit_id":"74e2729a4507a124b939f783af11128e2f1744dc"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"05d02e98a97607982d9ffbe82841f83370384c81","unresolved":false,"context_lines":[{"line_number":42,"context_line":"        self.volume_types_client.create_volume_type_extra_specs("},{"line_number":43,"context_line":"            self.vol_type[\u0027id\u0027], extra_specs)"},{"line_number":44,"context_line":"        self.addCleanup("},{"line_number":45,"context_line":"            test_utils.call_and_ignore_notfound_exc,"},{"line_number":46,"context_line":"            self.volume_types_client.delete_volume_type_extra_specs,"},{"line_number":47,"context_line":"            self.vol_type[\u0027id\u0027], self.spec_key)"},{"line_number":48,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"ff0f0b1f_77cb071e","line":45,"range":{"start_line":45,"start_character":23,"end_line":45,"end_character":51},"in_reply_to":"1f013ff3_7463bc1b","updated":"2017-05-17 15:35:16.000000000","message":"It\u0027s removed in ``test_delete_volume_type_extra_specs`` below.","commit_id":"74e2729a4507a124b939f783af11128e2f1744dc"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"a6663320d8723fc9c03325e54a45e6d23398f82c","unresolved":false,"context_lines":[{"line_number":93,"context_line":"            self.vol_type[\u0027id\u0027], self.spec_key, update_extra_specs)"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"class VolumeTypesExtraSpecsV3RbacTest(VolumeTypesExtraSpecsRbacTest):"},{"line_number":97,"context_line":"    _api_version \u003d 3"}],"source_content_type":"text/x-python","patch_set":5,"id":"1f013ff3_94a64853","line":97,"range":{"start_line":96,"start_character":0,"end_line":97,"end_character":20},"updated":"2017-05-17 02:56:37.000000000","message":"ditto","commit_id":"74e2729a4507a124b939f783af11128e2f1744dc"},{"author":{"_account_id":23185,"name":"Samantha Blanco","email":"samantha.blanco@att.com","username":"sblanco"},"change_message_id":"eb9382b339b1287a90e1d463553f1323b3d79420","unresolved":false,"context_lines":[{"line_number":66,"context_line":"    @decorators.idempotent_id(\u0027eea40251-990b-49b0-99ae-10e4585b479b\u0027)"},{"line_number":67,"context_line":"    def test_create_volume_type_extra_specs(self):"},{"line_number":68,"context_line":"        self.rbac_utils.switch_role(self, toggle_rbac_role\u003dTrue)"},{"line_number":69,"context_line":"        self._create_volume_type_extra_specs(ignore_not_found\u003dTrue)"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    @decorators.idempotent_id(\u0027e2dcc9c6-2fef-431d-afaf-92b45bc76d1a\u0027)"},{"line_number":72,"context_line":"    @rbac_rule_validation.action(service\u003d\"cinder\","}],"source_content_type":"text/x-python","patch_set":7,"id":"7f231b9d_4bf4895b","line":69,"range":{"start_line":69,"start_character":45,"end_line":69,"end_character":66},"updated":"2017-06-13 18:46:57.000000000","message":"See comment on L70 from types access","commit_id":"12a52d9fcabe4e86d88aa7cd05b68c0ed5bd041a"}],"patrole_tempest_plugin/tests/api/volume/test_volume_types_rbac.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"3feb55ec3f725214a7780f5f240317913741f126","unresolved":false,"context_lines":[{"line_number":65,"context_line":"    @decorators.idempotent_id(\u0027e2dcc9c6-2fef-431d-afaf-92b45bc76d1a\u0027)"},{"line_number":66,"context_line":"    @rbac_rule_validation.action(service\u003d\"cinder\","},{"line_number":67,"context_line":"                                 rule\u003d\"volume_extension:types_extra_specs\")"},{"line_number":68,"context_line":"    def test_show_volume_types_extra_specs(self):"},{"line_number":69,"context_line":"        self._create_volume_type_extra_specs()"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"        self.rbac_utils.switch_role(self, toggle_rbac_role\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f013ff3_b0ecfef3","line":68,"range":{"start_line":68,"start_character":29,"end_line":68,"end_character":30},"updated":"2017-05-12 21:27:59.000000000","message":"no s","commit_id":"ef0a92593b992a952397df72e7a9ef0ce9ebe713"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"3feb55ec3f725214a7780f5f240317913741f126","unresolved":false,"context_lines":[{"line_number":75,"context_line":"    @decorators.idempotent_id(\u002793001912-f938-41c7-8787-62dc7010fd52\u0027)"},{"line_number":76,"context_line":"    @rbac_rule_validation.action(service\u003d\"cinder\","},{"line_number":77,"context_line":"                                 rule\u003d\"volume_extension:types_extra_specs\")"},{"line_number":78,"context_line":"    def test_delete_volume_types_extra_specs(self):"},{"line_number":79,"context_line":"        self._create_volume_type_extra_specs()"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"        self.rbac_utils.switch_role(self, toggle_rbac_role\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1f013ff3_90bb42e4","line":78,"range":{"start_line":78,"start_character":31,"end_line":78,"end_character":32},"updated":"2017-05-12 21:27:59.000000000","message":"no s","commit_id":"ef0a92593b992a952397df72e7a9ef0ce9ebe713"}]}
