)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"41445c1412aa9ae37ad377e9090bb9c64157c22d","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Ghanshyam Mann \u003cgmann@ghanshyammann.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2020-04-01 12:21:54 -0500"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Correct secutrity groups policy check_str"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"secutrity groups API policy is default to admin_or_owner[1]"},{"line_number":10,"context_line":"but API is allowed (which is expected) for everyone."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"df33271e_94be76d2","line":7,"range":{"start_line":7,"start_character":8,"end_line":7,"end_character":17},"updated":"2020-04-02 12:36:53.000000000","message":"security","commit_id":"88a93c008462c64eaf078d3cfa320261a2257f9a"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"1b03e39d060cd1c61b2b7c7385efcb4a2a3ae619","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Ghanshyam Mann \u003cgmann@ghanshyammann.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2020-04-01 12:21:54 -0500"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Correct secutrity groups policy check_str"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"secutrity groups API policy is default to admin_or_owner[1]"},{"line_number":10,"context_line":"but API is allowed (which is expected) for everyone."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"df33271e_dcc77795","line":7,"range":{"start_line":7,"start_character":8,"end_line":7,"end_character":17},"in_reply_to":"df33271e_94be76d2","updated":"2020-04-02 22:26:13.000000000","message":"Done","commit_id":"88a93c008462c64eaf078d3cfa320261a2257f9a"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"502bc1b19f8c1f08e7b6cb9b02c487883396917a","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Correct secutrity groups policy check_str"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"secutrity groups API policy is default to admin_or_owner[1]"},{"line_number":10,"context_line":"but API is allowed (which is expected) for everyone."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This is because API does not pass the project_id in policy"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"df33271e_b915734b","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":9},"updated":"2020-04-02 12:16:32.000000000","message":"nit: security","commit_id":"88a93c008462c64eaf078d3cfa320261a2257f9a"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"1b03e39d060cd1c61b2b7c7385efcb4a2a3ae619","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Correct secutrity groups policy check_str"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"secutrity groups API policy is default to admin_or_owner[1]"},{"line_number":10,"context_line":"but API is allowed (which is expected) for everyone."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"This is because API does not pass the project_id in policy"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"df33271e_bcc27383","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":9},"in_reply_to":"df33271e_b915734b","updated":"2020-04-02 22:26:13.000000000","message":"Done","commit_id":"88a93c008462c64eaf078d3cfa320261a2257f9a"}],"nova/api/openstack/compute/security_groups.py":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"502bc1b19f8c1f08e7b6cb9b02c487883396917a","unresolved":false,"context_lines":[{"line_number":367,"context_line":"    @wsgi.expected_errors(404)"},{"line_number":368,"context_line":"    def index(self, req, server_id):"},{"line_number":369,"context_line":"        \"\"\"Returns a list of security groups for the given instance.\"\"\""},{"line_number":370,"context_line":"        context \u003d req.environ[\u0027nova.context\u0027]"},{"line_number":371,"context_line":"        instance \u003d common.get_instance(self.compute_api, context, server_id)"},{"line_number":372,"context_line":"        context.can(sg_policies.BASE_POLICY_NAME,"},{"line_number":373,"context_line":"                    target\u003d{\u0027project_id\u0027: instance.project_id})"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_f438a2d3","line":370,"updated":"2020-04-02 12:16:32.000000000","message":"Do we have a similar issue for every other _authorize_context() caller in this file?","commit_id":"88a93c008462c64eaf078d3cfa320261a2257f9a"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"0b948923d2428ca8ebde1d2feed86d30fc5dab8c","unresolved":false,"context_lines":[{"line_number":367,"context_line":"    @wsgi.expected_errors(404)"},{"line_number":368,"context_line":"    def index(self, req, server_id):"},{"line_number":369,"context_line":"        \"\"\"Returns a list of security groups for the given instance.\"\"\""},{"line_number":370,"context_line":"        context \u003d req.environ[\u0027nova.context\u0027]"},{"line_number":371,"context_line":"        instance \u003d common.get_instance(self.compute_api, context, server_id)"},{"line_number":372,"context_line":"        context.can(sg_policies.BASE_POLICY_NAME,"},{"line_number":373,"context_line":"                    target\u003d{\u0027project_id\u0027: instance.project_id})"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_eeb0ca45","line":370,"in_reply_to":"df33271e_f438a2d3","updated":"2020-04-03 14:06:45.000000000","message":"I think I am good with doing these separately.","commit_id":"88a93c008462c64eaf078d3cfa320261a2257f9a"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"1b03e39d060cd1c61b2b7c7385efcb4a2a3ae619","unresolved":false,"context_lines":[{"line_number":367,"context_line":"    @wsgi.expected_errors(404)"},{"line_number":368,"context_line":"    def index(self, req, server_id):"},{"line_number":369,"context_line":"        \"\"\"Returns a list of security groups for the given instance.\"\"\""},{"line_number":370,"context_line":"        context \u003d req.environ[\u0027nova.context\u0027]"},{"line_number":371,"context_line":"        instance \u003d common.get_instance(self.compute_api, context, server_id)"},{"line_number":372,"context_line":"        context.can(sg_policies.BASE_POLICY_NAME,"},{"line_number":373,"context_line":"                    target\u003d{\u0027project_id\u0027: instance.project_id})"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_9cca0f9e","line":370,"in_reply_to":"df33271e_f438a2d3","updated":"2020-04-02 22:26:13.000000000","message":"yeah, other caller i did not update because they are deprecated APIS.","commit_id":"88a93c008462c64eaf078d3cfa320261a2257f9a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"41445c1412aa9ae37ad377e9090bb9c64157c22d","unresolved":false,"context_lines":[{"line_number":416,"context_line":""},{"line_number":417,"context_line":"        return group_name"},{"line_number":418,"context_line":""},{"line_number":419,"context_line":"    def _invoke(self, method, context, id, group_name, instance):"},{"line_number":420,"context_line":"        method(context, instance, group_name)"},{"line_number":421,"context_line":""},{"line_number":422,"context_line":"    @wsgi.expected_errors((400, 404, 409))"},{"line_number":423,"context_line":"    @wsgi.response(202)"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_14cee661","line":420,"range":{"start_line":419,"start_character":0,"end_line":420,"end_character":45},"updated":"2020-04-02 12:36:53.000000000","message":"Can you just remove this now and replace with direct calls to \u0027method\u0027? I don\u0027t see any mocks relying on this abstraction (and they could be updated if so)","commit_id":"88a93c008462c64eaf078d3cfa320261a2257f9a"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"1b03e39d060cd1c61b2b7c7385efcb4a2a3ae619","unresolved":false,"context_lines":[{"line_number":416,"context_line":""},{"line_number":417,"context_line":"        return group_name"},{"line_number":418,"context_line":""},{"line_number":419,"context_line":"    def _invoke(self, method, context, id, group_name, instance):"},{"line_number":420,"context_line":"        method(context, instance, group_name)"},{"line_number":421,"context_line":""},{"line_number":422,"context_line":"    @wsgi.expected_errors((400, 404, 409))"},{"line_number":423,"context_line":"    @wsgi.response(202)"}],"source_content_type":"text/x-python","patch_set":1,"id":"df33271e_5cd40748","line":420,"range":{"start_line":419,"start_character":0,"end_line":420,"end_character":45},"in_reply_to":"df33271e_14cee661","updated":"2020-04-02 22:26:13.000000000","message":"sure. done","commit_id":"88a93c008462c64eaf078d3cfa320261a2257f9a"}]}
