)]}'
{"nova/api/openstack/compute/attach_interfaces.py":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"ce8ba22aa6c44fb8c71419f2db249def7f569de4","unresolved":false,"context_lines":[{"line_number":141,"context_line":"        instance \u003d common.get_instance(self.compute_api, context, server_id)"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"        context.can(ai_policies.BASE_POLICY_NAME,"},{"line_number":144,"context_line":"                    target\u003d{\u0027project_id\u0027: instance.project_id})"},{"line_number":145,"context_line":"        context.can(ai_policies.POLICY_ROOT % \u0027create\u0027,"},{"line_number":146,"context_line":"                    target\u003d{\u0027project_id\u0027: instance.project_id})"},{"line_number":147,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_b907c71e","side":"PARENT","line":144,"updated":"2020-02-06 00:28:56.000000000","message":"Looks like we forgot to use policy.verify_deprecated_policy [1] here to emit a warning about the old policy and future removal like we did for example in the flavor manage API.\n\nI\u0027m guessing we\u0027re probably OK to go ahead and remove given how long it\u0027s been ...\n\n(later) I see now that this case was different in that we did not (and will not) remove the actual base/non-granular rule because it\u0027s being used for the \"list\" policy. So, we did not apply the deprecation + removal warning method.\n\n[1] https://github.com/openstack/nova/blob/de3f76956bb1cf5faf23373d887257de4f5dd792/nova/policy.py#L239","commit_id":"a40279a50f9327dcfab428069b9aaeeaa8922173"}]}
