)]}'
{"nova/tests/fake_nwfilter.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"ea2d69b67869c9927e710c95e55c8abbe02b6d16","unresolved":false,"context_lines":[{"line_number":1,"context_line":"def get_filter():"},{"line_number":2,"context_line":"    \"\"\"Return filter xml.\"\"\""},{"line_number":3,"context_line":"    retval \u003d \"\u003cfilter name\u003d\u0027fake_nwfilter\u0027 chain\u003d\u0027ipv4\u0027\u003e\""},{"line_number":4,"context_line":"    retval +\u003d \"\"\"\u003crule action\u003d\u0027drop\u0027 direction\u003d\u0027out\u0027\u003e"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FPmE%3D","line":1,"updated":"2013-01-31 18:11:53.000000000","message":"No license header or copyright?","commit_id":"9b3178a027b52e2a398c79db21be053a7ef96972"}],"nova/virt/libvirt/firewall.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"ea2d69b67869c9927e710c95e55c8abbe02b6d16","unresolved":false,"context_lines":[{"line_number":150,"context_line":"            nic_id \u003d mapping[\u0027mac\u0027].replace(\u0027:\u0027, \u0027\u0027)"},{"line_number":151,"context_line":"            instance_filter_name \u003d self._instance_filter_name(instance, nic_id)"},{"line_number":152,"context_line":"            self._define_filter(self._filter_container(instance_filter_name,"},{"line_number":153,"context_line":"                                                       base_filter))"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"    def _ensure_static_filters(self):"},{"line_number":156,"context_line":"        \"\"\"Static filters are filters that have no need to be IP aware."}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAM3%2F%2FPlk%3D","line":153,"updated":"2013-01-31 18:11:53.000000000","message":"If you\u0027re going to change this from a filter to a list, perhaps it would be best to name the variable \"base_filters\" so that it\u0027s clear?","commit_id":"9b3178a027b52e2a398c79db21be053a7ef96972"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"b11ff962ba6d49d5e916302fb4b902fec51cd544","unresolved":false,"context_lines":[{"line_number":26,"context_line":"import nova.virt.firewall as base_firewall"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"CONF \u003d cfg.CONF"},{"line_number":31,"context_line":"CONF.import_opt(\u0027use_ipv6\u0027, \u0027nova.netconf\u0027)"},{"line_number":32,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FFXo%3D","line":29,"updated":"2013-02-07 17:16:38.000000000","message":"You can remove this whitespace change","commit_id":"80661b8b606b947ea7ec045985465b8d5fd68837"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"b11ff962ba6d49d5e916302fb4b902fec51cd544","unresolved":false,"context_lines":[{"line_number":127,"context_line":"            self._define_filter(self._filter_container(instance_filter_name,"},{"line_number":128,"context_line":"                                                       base_filter))"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"    def get_base_filter_list(self, instance, allow_dhcp):"},{"line_number":131,"context_line":"        if pipelib.is_vpn_image(instance[\u0027image_ref\u0027]):"},{"line_number":132,"context_line":"            base_filter \u003d \u0027nova-vpn\u0027"},{"line_number":133,"context_line":"        elif allow_dhcp:"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAM3%2F%2FFXQ%3D","line":130,"updated":"2013-02-07 17:16:38.000000000","message":"Would be nice to include a \"\"\".....\"\"\" doc string here, just to describe why this method is separate. eg something like\n\n   \"\"\"Obtain a list of base filters to apply to an instance VIF.\n       The returned value should be a list of strings, each\n       one specifying a filter name. Subclasses may override\n       this to customize the base filter list. Subclasses are\n       responsible for ensuring the filters are actually defined\n       with libvirt prior to their use.\"\"\"","commit_id":"80661b8b606b947ea7ec045985465b8d5fd68837"}]}
