)]}'
{"patrole_tempest_plugin/tests/api/compute/test_floating_ips_rbac.py":[{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"11aa9e7fab01b15ddffc851e8a17f69fdb3c3794","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        rule\u003d\"os_compute_api:os-floating-ips\")"},{"line_number":76,"context_line":"    def test_delete_floating_ip(self):"},{"line_number":77,"context_line":"        body \u003d self.floating_ips_client.create_floating_ip("},{"line_number":78,"context_line":"            pool\u003dCONF.network.floating_network_name)[\u0027floating_ip\u0027]"},{"line_number":79,"context_line":"        self.rbac_utils.switch_role(self, toggle_rbac_role\u003dTrue)"},{"line_number":80,"context_line":"        self.floating_ips_client.delete_floating_ip(body[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f4e5783_e1643424","line":78,"updated":"2017-10-16 15:54:02.000000000","message":"We need this on L79:\n\n        self.addCleanup(\n            test_utils.call_and_ignore_notfound_exc,\n            self.floating_ips_client.delete_floating_ip, body[\u0027id\u0027])\n\nIn case L80 throws a 403.","commit_id":"546ce83c8333e25c72a3263d6fdd9416b5fb0703"},{"author":{"_account_id":23186,"name":"Felipe Monteiro","email":"felipe.carneiro.monteiro@gmail.com","username":"felipe.monteiro"},"change_message_id":"afe9bc4fa31dabac8fee1d552a860ad6b7ae0756","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        rule\u003d\"os_compute_api:os-floating-ips\")"},{"line_number":76,"context_line":"    def test_delete_floating_ip(self):"},{"line_number":77,"context_line":"        body \u003d self.floating_ips_client.create_floating_ip("},{"line_number":78,"context_line":"            pool\u003dCONF.network.floating_network_name)[\u0027floating_ip\u0027]"},{"line_number":79,"context_line":"        self.rbac_utils.switch_role(self, toggle_rbac_role\u003dTrue)"},{"line_number":80,"context_line":"        self.floating_ips_client.delete_floating_ip(body[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f4e5783_6c5dcb13","line":78,"in_reply_to":"5f4e5783_d1621c0a","updated":"2017-10-17 04:15:25.000000000","message":"It\u0027s enough if the current role has permissions to perform the action. However, with Patrole, when we switch role on L79, if the test role has insufficient permissions then L80 will raise a 403 and never hit the API code. Which is why the cleanup is needed.","commit_id":"546ce83c8333e25c72a3263d6fdd9416b5fb0703"},{"author":{"_account_id":27078,"name":"Manik Bindlish","email":"manikbindlish19@gmail.com","username":"manik"},"change_message_id":"19d97aea9dd62f85c5699a715d3548918f7e8c4e","unresolved":false,"context_lines":[{"line_number":75,"context_line":"        rule\u003d\"os_compute_api:os-floating-ips\")"},{"line_number":76,"context_line":"    def test_delete_floating_ip(self):"},{"line_number":77,"context_line":"        body \u003d self.floating_ips_client.create_floating_ip("},{"line_number":78,"context_line":"            pool\u003dCONF.network.floating_network_name)[\u0027floating_ip\u0027]"},{"line_number":79,"context_line":"        self.rbac_utils.switch_role(self, toggle_rbac_role\u003dTrue)"},{"line_number":80,"context_line":"        self.floating_ips_client.delete_floating_ip(body[\u0027id\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f4e5783_d1621c0a","line":78,"in_reply_to":"5f4e5783_e1643424","updated":"2017-10-17 03:58:14.000000000","message":"Yes, we can add that. I thought that explicit delete @L80 is enough","commit_id":"546ce83c8333e25c72a3263d6fdd9416b5fb0703"}]}
