)]}'
{"neutron_fwaas/services/firewall/fwaas_plugin.py":[{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"92adb23a66fdfd45fb8e825092a0946cd1b1e675","unresolved":false,"context_lines":[{"line_number":180,"context_line":"        no_broadcast \u003d ("},{"line_number":181,"context_line":"            extensions.is_extension_supported("},{"line_number":182,"context_line":"                l3_plugin, nl_constants.L3_AGENT_SCHEDULER_EXT_ALIAS) and"},{"line_number":183,"context_line":"            getattr(l3_plugin, \u0027get_l3_agents_hosting_routers\u0027, False))"},{"line_number":184,"context_line":"        if no_broadcast:"},{"line_number":185,"context_line":"            # This call checks for all scheduled routers to the network node"},{"line_number":186,"context_line":"            agents \u003d l3_plugin.get_l3_agents_hosting_routers("}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_af9d4067","line":183,"updated":"2019-10-07 19:43:48.000000000","message":"Let us modify this function as shown below.\ndef _get_hosts_to_notify(self, context, router_ids):\n        \"\"\"Returns all hosts to send notification about firewall update\"\"\"\n        l3_plugin \u003d directory.get_plugin(plugin_constants.L3)\n        no_broadcast \u003d (\n            extensions.is_extension_supported(\n                l3_plugin, nl_constants.L3_AGENT_SCHEDULER_EXT_ALIAS) and\n            getattr(l3_plugin, \u0027get_l3_agents_hosting_routers\u0027, False))\n        scheduled_rtr_hosts \u003d set()\n        if no_broadcast:\n            # This call checks for all scheduled routers to the network node\n            agents \u003d l3_plugin.get_l3_agents_hosting_routers(\n                context, router_ids, admin_state_up\u003dTrue, active\u003dTrue)\n            scheduled_rtr_hosts \u003d set([a.host for a in agents])\n        dvr_broadcast \u003d (\n                extensions.is_extension_supported(\n                    l3_plugin, nl_constants.L3_AGENT_SCHEDULER_EXT_ALIAS) and\n                getattr(l3_plugin, \u0027_get_dvr_hosts_for_router\u0027, False))\n        unscheduled_dvr_hosts \u003d set()\n        if dvr_broadcast:\n            # Now check for unscheduled DVR router on distributed compute hosts\n            for router_id in router_ids:\n                hosts \u003d set(l3_plugin._get_dvr_hosts_for_router(\n                    context, router_id))\n                unscheduled_dvr_hosts |\u003d hosts\n        if no_broadcast or dvr_broadcast:\n            total_hosts \u003d scheduled_rtr_hosts.union(unscheduled_dvr_hosts)\n            return total_hosts\n\n        # NOTE(blallau): default: FirewallAgentAPI performs RPC broadcast\n        return [None]","commit_id":"37a09d83a7f89681c69b4c3cd7bd5579850ced02"}],"neutron_fwaas/tests/unit/services/firewall/test_fwaas_plugin.py":[{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"92adb23a66fdfd45fb8e825092a0946cd1b1e675","unresolved":false,"context_lines":[{"line_number":379,"context_line":"    def test_update_firewall_calls_get_dvr_hosts_for_router(self):"},{"line_number":380,"context_line":"        ctx \u003d context.get_admin_context()"},{"line_number":381,"context_line":"        name \u003d \"user_fw\""},{"line_number":382,"context_line":"        attrs \u003d self._get_test_firewall_attrs(name)"},{"line_number":383,"context_line":"        with self.router(name\u003d\u0027router1\u0027, admin_state_up\u003dTrue,"},{"line_number":384,"context_line":"                tenant_id\u003dself._tenant_id) as router1:"},{"line_number":385,"context_line":"            with self.firewall_policy() as fwp:"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_6f05087a","line":382,"updated":"2019-10-07 19:43:48.000000000","message":"Something like this would skip this test.\ncheck_attr1 \u003d getattr(self.l3_plugin,\n                              \"get_l3_agents_hosting_routers\", False)\n        check_attr2 \u003d getattr(self.l3_plugin,\n                              \"_get_dvr_hosts_for_router\", False)\n        if check_attr1 \u003d\u003d False and check_attr2 \u003d\u003d False:\n            return","commit_id":"37a09d83a7f89681c69b4c3cd7bd5579850ced02"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"f870a434b96ec0c1f3b21c2292577cf75744a941","unresolved":false,"context_lines":[{"line_number":410,"context_line":"                            self.l3_plugin,"},{"line_number":411,"context_line":"                            \u0027_get_dvr_hosts_for_router\u0027) as u_hosts:"},{"line_number":412,"context_line":"                        self.plugin.update_firewall(ctx, fw_id, firewall)"},{"line_number":413,"context_line":"                        dvr_exts.return_value \u003d True"},{"line_number":414,"context_line":"                        self.assertTrue(u_hosts.called)"},{"line_number":415,"context_line":"                        self.assertTrue(s_hosts.called)"},{"line_number":416,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_7636df53","line":413,"range":{"start_line":413,"start_character":0,"end_line":413,"end_character":52},"updated":"2019-10-14 04:51:16.000000000","message":"is this necessary?","commit_id":"fc59b08ff78456c98fee0cc187f8888bc99c333e"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"04e36ccec3a5dab0cdd74fdf6dd40d6751878f5a","unresolved":false,"context_lines":[{"line_number":410,"context_line":"                            self.l3_plugin,"},{"line_number":411,"context_line":"                            \u0027_get_dvr_hosts_for_router\u0027) as u_hosts:"},{"line_number":412,"context_line":"                        self.plugin.update_firewall(ctx, fw_id, firewall)"},{"line_number":413,"context_line":"                        dvr_exts.return_value \u003d True"},{"line_number":414,"context_line":"                        self.assertTrue(u_hosts.called)"},{"line_number":415,"context_line":"                        self.assertTrue(s_hosts.called)"},{"line_number":416,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_74e806e1","line":413,"range":{"start_line":413,"start_character":0,"end_line":413,"end_character":52},"in_reply_to":"3fa7e38b_0d58aef7","updated":"2019-10-15 01:28:41.000000000","message":"wrt the ci, this patch seems working.","commit_id":"fc59b08ff78456c98fee0cc187f8888bc99c333e"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"2c479b71a788bd6f5bcc8379ba299da5d8323fef","unresolved":false,"context_lines":[{"line_number":410,"context_line":"                            self.l3_plugin,"},{"line_number":411,"context_line":"                            \u0027_get_dvr_hosts_for_router\u0027) as u_hosts:"},{"line_number":412,"context_line":"                        self.plugin.update_firewall(ctx, fw_id, firewall)"},{"line_number":413,"context_line":"                        dvr_exts.return_value \u003d True"},{"line_number":414,"context_line":"                        self.assertTrue(u_hosts.called)"},{"line_number":415,"context_line":"                        self.assertTrue(s_hosts.called)"},{"line_number":416,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_0d58aef7","line":413,"range":{"start_line":413,"start_character":0,"end_line":413,"end_character":52},"in_reply_to":"3fa7e38b_7636df53","updated":"2019-10-14 19:37:42.000000000","message":"Also Yamamoto can you confirm if this code runs fine in your ci environment.","commit_id":"fc59b08ff78456c98fee0cc187f8888bc99c333e"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"4d9103b56059e1be6d22e2a1b8c82671fcbfe669","unresolved":false,"context_lines":[{"line_number":410,"context_line":"                            self.l3_plugin,"},{"line_number":411,"context_line":"                            \u0027_get_dvr_hosts_for_router\u0027) as u_hosts:"},{"line_number":412,"context_line":"                        self.plugin.update_firewall(ctx, fw_id, firewall)"},{"line_number":413,"context_line":"                        dvr_exts.return_value \u003d True"},{"line_number":414,"context_line":"                        self.assertTrue(u_hosts.called)"},{"line_number":415,"context_line":"                        self.assertTrue(s_hosts.called)"},{"line_number":416,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_57eb9311","line":413,"range":{"start_line":413,"start_character":0,"end_line":413,"end_character":52},"in_reply_to":"3fa7e38b_7636df53","updated":"2019-10-14 17:56:17.000000000","message":"I think mock is sufficient. But it doesn\u0027t hurt to give a value of True.\nDo you think I need to roll this patch for this line?","commit_id":"fc59b08ff78456c98fee0cc187f8888bc99c333e"}]}
