)]}'
{"nova/tests/test_libvirt_vif.py":[{"author":{"_account_id":447,"name":"dan wendlandt","email":"dan@nicira.com","username":"danwent"},"change_message_id":"6e8cd9c17c7061757c68f281aba3b56856dc2d33","unresolved":false,"context_lines":[{"line_number":421,"context_line":"                                           want_iface_id)"},{"line_number":422,"context_line":""},{"line_number":423,"context_line":"    def _check_quantum_hybrid_driver(self, d, net, mapping, br_want):"},{"line_number":424,"context_line":"        self.flags(firewall_driver\u003d\"nova.virt.firewall.IptablesFirewallDriver\")"},{"line_number":425,"context_line":"        xml \u003d self._get_instance_xml(d, net, mapping)"},{"line_number":426,"context_line":""},{"line_number":427,"context_line":"        doc \u003d etree.fromstring(xml)"}],"source_content_type":"text/x-python","patch_set":17,"id":"AAAAM3%2F%2FRPQ%3D","line":424,"updated":"2013-01-30 20:43:22.000000000","message":"Would we also want to test the hybrid driver with this set to the Noop driver, since this is what would be used if Quantum is implementing security groups using iptabes? I think there\u0027s a bug in current nova (fixed by this serious of patches) that is triggered in that scenario.","commit_id":"d80e673f6b91a924aabdc9784ef24068bd554928"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"97d097501b1499c8ee9777edca779c0b73cb499c","unresolved":false,"context_lines":[{"line_number":421,"context_line":"                                           want_iface_id)"},{"line_number":422,"context_line":""},{"line_number":423,"context_line":"    def _check_quantum_hybrid_driver(self, d, net, mapping, br_want):"},{"line_number":424,"context_line":"        self.flags(firewall_driver\u003d\"nova.virt.firewall.IptablesFirewallDriver\")"},{"line_number":425,"context_line":"        xml \u003d self._get_instance_xml(d, net, mapping)"},{"line_number":426,"context_line":""},{"line_number":427,"context_line":"        doc \u003d etree.fromstring(xml)"}],"source_content_type":"text/x-python","patch_set":17,"id":"AAAAM3%2F%2FQAM%3D","line":424,"in_reply_to":"AAAAM3%2F%2FRPQ%3D","updated":"2013-01-31 11:25:45.000000000","message":"The test_generic_ovs_virtualport_driver / test_ovs_virtualport_driver cases already exercise the same codepath with the Noop firewall driver set.","commit_id":"d80e673f6b91a924aabdc9784ef24068bd554928"}],"nova/virt/libvirt/vif.py":[{"author":{"_account_id":2031,"name":"Nachi Ueno","email":"nati.ueno@gmail.com","username":"nati-ueno"},"change_message_id":"bf35dec2639f465d9ef5fbb4806cfe6a63133665","unresolved":false,"context_lines":[{"line_number":232,"context_line":"                                          instance[\u0027uuid\u0027])"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"    def plug(self, instance, vif, conn):"},{"line_number":235,"context_line":"        if self.get_firewall_required():"},{"line_number":236,"context_line":"            self.plug_ovs_hybrid(instance, vif)"},{"line_number":237,"context_line":"        elif conn.getLibVersion() \u003e\u003d LIBVIRT_OVS_VPORT_VERSION:"},{"line_number":238,"context_line":"            self.plug_ovs_bridge(instance, vif)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAM3%2F%2Folg%3D","line":235,"updated":"2013-01-11 20:06:42.000000000","message":"quantum security group iptables implementation also needs hybrid driver stuff.","commit_id":"ee0096017e538805344fb42342fd0f84bd31dd99"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"0f3af03b13a8740aa375a4068cd80567742a50e6","unresolved":false,"context_lines":[{"line_number":232,"context_line":"                                          instance[\u0027uuid\u0027])"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"    def plug(self, instance, vif, conn):"},{"line_number":235,"context_line":"        if self.get_firewall_required():"},{"line_number":236,"context_line":"            self.plug_ovs_hybrid(instance, vif)"},{"line_number":237,"context_line":"        elif conn.getLibVersion() \u003e\u003d LIBVIRT_OVS_VPORT_VERSION:"},{"line_number":238,"context_line":"            self.plug_ovs_bridge(instance, vif)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAM3%2F%2Fmw8%3D","line":235,"in_reply_to":"AAAAM3%2F%2FnWk%3D","updated":"2013-01-14 09:41:36.000000000","message":"When Quantum has support for security groups, it must provide metadata back to Nova informing it that it has applied security filtering for a VIF. Nova VIF drivers can then intelligently skip their own security group setup. Until Quantum can provide that information, there\u0027s nothing Nova can do, so this patch is fine based on current status.","commit_id":"ee0096017e538805344fb42342fd0f84bd31dd99"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"c6902d1b14c97cf5a0613eb73f9d622c0a94a07b","unresolved":false,"context_lines":[{"line_number":232,"context_line":"                                          instance[\u0027uuid\u0027])"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"    def plug(self, instance, vif, conn):"},{"line_number":235,"context_line":"        if self.get_firewall_required():"},{"line_number":236,"context_line":"            self.plug_ovs_hybrid(instance, vif)"},{"line_number":237,"context_line":"        elif conn.getLibVersion() \u003e\u003d LIBVIRT_OVS_VPORT_VERSION:"},{"line_number":238,"context_line":"            self.plug_ovs_bridge(instance, vif)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAM3%2F%2FnWk%3D","line":235,"in_reply_to":"AAAAM3%2F%2Folg%3D","updated":"2013-01-13 16:23:59.000000000","message":"We need to determine whether hybrid driver is needed based on information from quantum.\n\nWhether quantum security group implementation requires bridge device depends on iptables is used or not.  It is correct that libvirt filter feature is disabled if NoopFirewallDriver is set, but we can\u0027t determine whether hybrid driver needs to be used based on get_firewall_required(). It is tricky.","commit_id":"ee0096017e538805344fb42342fd0f84bd31dd99"},{"author":{"_account_id":447,"name":"dan wendlandt","email":"dan@nicira.com","username":"danwent"},"change_message_id":"6e8cd9c17c7061757c68f281aba3b56856dc2d33","unresolved":false,"context_lines":[{"line_number":120,"context_line":"        # has already applied firewall filtering itself."},{"line_number":121,"context_line":"        if CONF.firewall_driver !\u003d \"nova.virt.firewall.NoopFirewallDriver\":"},{"line_number":122,"context_line":"            return True"},{"line_number":123,"context_line":"        return False"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    def get_config_bridge(self, instance, network, mapping):"},{"line_number":126,"context_line":"        \"\"\"Get VIF configurations for bridge type.\"\"\""}],"source_content_type":"text/x-python","patch_set":17,"id":"AAAAM3%2F%2FRPE%3D","line":123,"updated":"2013-01-30 20:43:22.000000000","message":"why not just: \n\nreturn CONF.firewall_driver !\u003d \"nova.virt.firewall.NoopFirewallDriver\"","commit_id":"d80e673f6b91a924aabdc9784ef24068bd554928"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"97d097501b1499c8ee9777edca779c0b73cb499c","unresolved":false,"context_lines":[{"line_number":120,"context_line":"        # has already applied firewall filtering itself."},{"line_number":121,"context_line":"        if CONF.firewall_driver !\u003d \"nova.virt.firewall.NoopFirewallDriver\":"},{"line_number":122,"context_line":"            return True"},{"line_number":123,"context_line":"        return False"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"    def get_config_bridge(self, instance, network, mapping):"},{"line_number":126,"context_line":"        \"\"\"Get VIF configurations for bridge type.\"\"\""}],"source_content_type":"text/x-python","patch_set":17,"id":"AAAAM3%2F%2FQAI%3D","line":123,"in_reply_to":"AAAAM3%2F%2FRPE%3D","updated":"2013-01-31 11:25:45.000000000","message":"I\u0027m expecting this method to grow in complexity to deal with the fact that Quantum is gaining firewalling support. This current code structure means less code churn as this is extended","commit_id":"d80e673f6b91a924aabdc9784ef24068bd554928"},{"author":{"_account_id":2031,"name":"Nachi Ueno","email":"nati.ueno@gmail.com","username":"nati-ueno"},"change_message_id":"f48c145b63d7e6f5397721ba7378150924cba538","unresolved":false,"context_lines":[{"line_number":151,"context_line":"            designer.set_vif_host_backend_filter_config("},{"line_number":152,"context_line":"                conf, name, primary_addr, dhcp_server,"},{"line_number":153,"context_line":"                ra_server, ipv4_cidr, ipv6_cidr)"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"        return conf"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"    def get_config_ovs_ethernet(self, instance, network, mapping):"}],"source_content_type":"text/x-python","patch_set":17,"id":"AAAAM3%2F%2FK%2B8%3D","line":154,"updated":"2013-02-04 22:10:30.000000000","message":"Quantum patch didn\u0027t need here but get_config_ovs_hybrid is needed. \nso we should have two method. get_virt_filter_required and get_firewall_required here","commit_id":"d80e673f6b91a924aabdc9784ef24068bd554928"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"91364f2acc6d39500317b7cfb2ae7d9d6c5f8551","unresolved":false,"context_lines":[{"line_number":151,"context_line":"            designer.set_vif_host_backend_filter_config("},{"line_number":152,"context_line":"                conf, name, primary_addr, dhcp_server,"},{"line_number":153,"context_line":"                ra_server, ipv4_cidr, ipv6_cidr)"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"        return conf"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"    def get_config_ovs_ethernet(self, instance, network, mapping):"}],"source_content_type":"text/x-python","patch_set":17,"id":"AAAAM3%2F%2FFvE%3D","line":154,"in_reply_to":"AAAAM3%2F%2FIHA%3D","updated":"2013-02-07 14:02:02.000000000","message":"I agree with Daniel. The goal of this patch is to refactor the existing implementation and introduce the generic driver.\n\nWe can deal with the issue NoopFirewallDriver with Hybrid driver does not work in a separate patch. It is important to land the patch series as soon as possible and make it possible to fix the remaining issue in later patches.","commit_id":"d80e673f6b91a924aabdc9784ef24068bd554928"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"8b1b868c2982205eeae8259bfebe4afe615fd39a","unresolved":false,"context_lines":[{"line_number":151,"context_line":"            designer.set_vif_host_backend_filter_config("},{"line_number":152,"context_line":"                conf, name, primary_addr, dhcp_server,"},{"line_number":153,"context_line":"                ra_server, ipv4_cidr, ipv6_cidr)"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"        return conf"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"    def get_config_ovs_ethernet(self, instance, network, mapping):"}],"source_content_type":"text/x-python","patch_set":17,"id":"AAAAM3%2F%2FIHA%3D","line":154,"in_reply_to":"AAAAM3%2F%2FK%2B8%3D","updated":"2013-02-06 10:29:52.000000000","message":"I think we should probably wait until we\u0027re writing the patch for VIF drivers to integrate with Quantum, before making this code more complicated. You might be right in what you suggest here, but we may find we need something different when we come to implement the changes. So I think we should leave this patch as it is now, and do any enhancements at the time we actually need them","commit_id":"d80e673f6b91a924aabdc9784ef24068bd554928"},{"author":{"_account_id":447,"name":"dan wendlandt","email":"dan@nicira.com","username":"danwent"},"change_message_id":"6e8cd9c17c7061757c68f281aba3b56856dc2d33","unresolved":false,"context_lines":[{"line_number":188,"context_line":"    def get_config_ovs(self, instance, network, mapping):"},{"line_number":189,"context_line":"        if self.get_firewall_required():"},{"line_number":190,"context_line":"            return self.get_config_ovs_hybrid(instance, network,"},{"line_number":191,"context_line":"                                              mapping)"},{"line_number":192,"context_line":"        elif self.has_libvirt_version(LIBVIRT_OVS_VPORT_VERSION):"},{"line_number":193,"context_line":"            return self.get_config_ovs_bridge(instance, network,"},{"line_number":194,"context_line":"                                              mapping)"}],"source_content_type":"text/x-python","patch_set":17,"id":"AAAAM3%2F%2FROw%3D","line":191,"updated":"2013-01-30 20:43:22.000000000","message":"From my understanding of how OVS is supposed to work with iptables security groups from quantum, I don\u0027t think this gets us what we want.  If quantum is implementing security groups with OVS, the firewall driver will be Noop, meaning get_firewall_required() will be False, yet the ovs_hybrid mode of vif-plugging is still needed, since the quantum agent will be pushing down firewall rules.  \n\nI haven\u0027t actually reviewed Nachi\u0027s code, but that is my understanding of how it should work.  Would be good to check with him.  If that is indeed the case, I think we would need to make get_firewall_required() key off of data from Quantum, rather than the firewall_driver flag.","commit_id":"d80e673f6b91a924aabdc9784ef24068bd554928"},{"author":{"_account_id":2031,"name":"Nachi Ueno","email":"nati.ueno@gmail.com","username":"nati-ueno"},"change_message_id":"9e14b3100c18b2d4c947bc5724635a2724273301","unresolved":false,"context_lines":[{"line_number":188,"context_line":"    def get_config_ovs(self, instance, network, mapping):"},{"line_number":189,"context_line":"        if self.get_firewall_required():"},{"line_number":190,"context_line":"            return self.get_config_ovs_hybrid(instance, network,"},{"line_number":191,"context_line":"                                              mapping)"},{"line_number":192,"context_line":"        elif self.has_libvirt_version(LIBVIRT_OVS_VPORT_VERSION):"},{"line_number":193,"context_line":"            return self.get_config_ovs_bridge(instance, network,"},{"line_number":194,"context_line":"                                              mapping)"}],"source_content_type":"text/x-python","patch_set":17,"id":"AAAAM3%2F%2FNvE%3D","line":191,"in_reply_to":"AAAAM3%2F%2FNwQ%3D","updated":"2013-02-01 21:39:43.000000000","message":"OK I just files the bug \nhttps://bugs.launchpad.net/quantum/+bug/1112912","commit_id":"d80e673f6b91a924aabdc9784ef24068bd554928"},{"author":{"_account_id":447,"name":"dan wendlandt","email":"dan@nicira.com","username":"danwent"},"change_message_id":"3b91faaa5e4009d54ad76dc0118d1b1fcd71e410","unresolved":false,"context_lines":[{"line_number":188,"context_line":"    def get_config_ovs(self, instance, network, mapping):"},{"line_number":189,"context_line":"        if self.get_firewall_required():"},{"line_number":190,"context_line":"            return self.get_config_ovs_hybrid(instance, network,"},{"line_number":191,"context_line":"                                              mapping)"},{"line_number":192,"context_line":"        elif self.has_libvirt_version(LIBVIRT_OVS_VPORT_VERSION):"},{"line_number":193,"context_line":"            return self.get_config_ovs_bridge(instance, network,"},{"line_number":194,"context_line":"                                              mapping)"}],"source_content_type":"text/x-python","patch_set":17,"id":"AAAAM3%2F%2FNwQ%3D","line":191,"in_reply_to":"AAAAM3%2F%2FPhc%3D","updated":"2013-02-01 21:28:25.000000000","message":"yes.  I was waiting for a nova bug to be filed on this, but if you\u0027re going to remember, i\u0027m happy to remove my -1","commit_id":"d80e673f6b91a924aabdc9784ef24068bd554928"},{"author":{"_account_id":2031,"name":"Nachi Ueno","email":"nati.ueno@gmail.com","username":"nati-ueno"},"change_message_id":"cd89900ccba6885ab3252a15dd447df73276ae8b","unresolved":false,"context_lines":[{"line_number":188,"context_line":"    def get_config_ovs(self, instance, network, mapping):"},{"line_number":189,"context_line":"        if self.get_firewall_required():"},{"line_number":190,"context_line":"            return self.get_config_ovs_hybrid(instance, network,"},{"line_number":191,"context_line":"                                              mapping)"},{"line_number":192,"context_line":"        elif self.has_libvirt_version(LIBVIRT_OVS_VPORT_VERSION):"},{"line_number":193,"context_line":"            return self.get_config_ovs_bridge(instance, network,"},{"line_number":194,"context_line":"                                              mapping)"}],"source_content_type":"text/x-python","patch_set":17,"id":"AAAAM3%2F%2FPhc%3D","line":191,"in_reply_to":"AAAAM3%2F%2FQAA%3D","updated":"2013-01-31 18:52:37.000000000","message":"Dan, let me confirmed.\nIMO, the merge ordering is \n1. this patch\n2. OVS security group patch\n3.  get_firewall_required  with VIF api\nbecause for testing.","commit_id":"d80e673f6b91a924aabdc9784ef24068bd554928"},{"author":{"_account_id":447,"name":"dan wendlandt","email":"dan@nicira.com","username":"danwent"},"change_message_id":"c16570c8d6e6f4652f7c4f0f0b63098ab200460e","unresolved":false,"context_lines":[{"line_number":188,"context_line":"    def get_config_ovs(self, instance, network, mapping):"},{"line_number":189,"context_line":"        if self.get_firewall_required():"},{"line_number":190,"context_line":"            return self.get_config_ovs_hybrid(instance, network,"},{"line_number":191,"context_line":"                                              mapping)"},{"line_number":192,"context_line":"        elif self.has_libvirt_version(LIBVIRT_OVS_VPORT_VERSION):"},{"line_number":193,"context_line":"            return self.get_config_ovs_bridge(instance, network,"},{"line_number":194,"context_line":"                                              mapping)"}],"source_content_type":"text/x-python","patch_set":17,"id":"AAAAM3%2F%2FQ%2B8%3D","line":191,"in_reply_to":"AAAAM3%2F%2FRJs%3D","updated":"2013-01-30 23:05:20.000000000","message":"Nachi, that is true, it could be another patch.  If we don\u0027t fix it here, we should just file a bug so that we don\u0027t lose track of the fact that we need to do it before the OVS security group stuff merges.","commit_id":"d80e673f6b91a924aabdc9784ef24068bd554928"},{"author":{"_account_id":2031,"name":"Nachi Ueno","email":"nati.ueno@gmail.com","username":"nati-ueno"},"change_message_id":"a4c27c66d0f8bd6e2903e4f02fc886d58693d1c3","unresolved":false,"context_lines":[{"line_number":188,"context_line":"    def get_config_ovs(self, instance, network, mapping):"},{"line_number":189,"context_line":"        if self.get_firewall_required():"},{"line_number":190,"context_line":"            return self.get_config_ovs_hybrid(instance, network,"},{"line_number":191,"context_line":"                                              mapping)"},{"line_number":192,"context_line":"        elif self.has_libvirt_version(LIBVIRT_OVS_VPORT_VERSION):"},{"line_number":193,"context_line":"            return self.get_config_ovs_bridge(instance, network,"},{"line_number":194,"context_line":"                                              mapping)"}],"source_content_type":"text/x-python","patch_set":17,"id":"AAAAM3%2F%2FRJs%3D","line":191,"in_reply_to":"AAAAM3%2F%2FROw%3D","updated":"2013-01-30 21:46:48.000000000","message":"I agree with your point. Akihiro have also mentioned same thing. \nHe merged quantum support here \nhttps://github.com/openstack/quantum/blob/master/quantum/plugins/openvswitch/ovs_quantum_plugin.py#L513\n\nso get_firewall_required may use this value.\nBut IMO, it could be another patch. Because there are no way to test it with OVS without the security group patch.","commit_id":"d80e673f6b91a924aabdc9784ef24068bd554928"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"97d097501b1499c8ee9777edca779c0b73cb499c","unresolved":false,"context_lines":[{"line_number":188,"context_line":"    def get_config_ovs(self, instance, network, mapping):"},{"line_number":189,"context_line":"        if self.get_firewall_required():"},{"line_number":190,"context_line":"            return self.get_config_ovs_hybrid(instance, network,"},{"line_number":191,"context_line":"                                              mapping)"},{"line_number":192,"context_line":"        elif self.has_libvirt_version(LIBVIRT_OVS_VPORT_VERSION):"},{"line_number":193,"context_line":"            return self.get_config_ovs_bridge(instance, network,"},{"line_number":194,"context_line":"                                              mapping)"}],"source_content_type":"text/x-python","patch_set":17,"id":"AAAAM3%2F%2FQAA%3D","line":191,"in_reply_to":"AAAAM3%2F%2FROw%3D","updated":"2013-01-31 11:25:45.000000000","message":"Yep, I\u0027m fully expecting that the \u0027get_firewall_required\u0027 method will be extended to take account of the extra logic implied by Quantum gaining firewall support. AFAIK, Quantum support for firewalling isn\u0027t merged yet, so my intent was that a later patch will update \u0027get_firewall_required\u0027 to cope with extra Quantum requirements once they become clearer.","commit_id":"d80e673f6b91a924aabdc9784ef24068bd554928"},{"author":{"_account_id":447,"name":"dan wendlandt","email":"dan@nicira.com","username":"danwent"},"change_message_id":"6e8cd9c17c7061757c68f281aba3b56856dc2d33","unresolved":false,"context_lines":[{"line_number":288,"context_line":""},{"line_number":289,"context_line":"    def plug_ovs(self, instance, vif):"},{"line_number":290,"context_line":"        if self.get_firewall_required():"},{"line_number":291,"context_line":"            self.plug_ovs_hybrid(instance, vif)"},{"line_number":292,"context_line":"        elif self.has_libvirt_version(LIBVIRT_OVS_VPORT_VERSION):"},{"line_number":293,"context_line":"            self.plug_ovs_bridge(instance, vif)"},{"line_number":294,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":17,"id":"AAAAM3%2F%2FROs%3D","line":291,"updated":"2013-01-30 20:43:22.000000000","message":"same concern as above.","commit_id":"d80e673f6b91a924aabdc9784ef24068bd554928"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"97d097501b1499c8ee9777edca779c0b73cb499c","unresolved":false,"context_lines":[{"line_number":288,"context_line":""},{"line_number":289,"context_line":"    def plug_ovs(self, instance, vif):"},{"line_number":290,"context_line":"        if self.get_firewall_required():"},{"line_number":291,"context_line":"            self.plug_ovs_hybrid(instance, vif)"},{"line_number":292,"context_line":"        elif self.has_libvirt_version(LIBVIRT_OVS_VPORT_VERSION):"},{"line_number":293,"context_line":"            self.plug_ovs_bridge(instance, vif)"},{"line_number":294,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":17,"id":"AAAAM3%2F%2FP%2F4%3D","line":291,"in_reply_to":"AAAAM3%2F%2FROs%3D","updated":"2013-01-31 11:25:45.000000000","message":"Again, any logic related to Quantum would be isolated in the \u0027get_firewall_required\u0027 method, rather than all callers.","commit_id":"d80e673f6b91a924aabdc9784ef24068bd554928"},{"author":{"_account_id":447,"name":"dan wendlandt","email":"dan@nicira.com","username":"danwent"},"change_message_id":"6e8cd9c17c7061757c68f281aba3b56856dc2d33","unresolved":false,"context_lines":[{"line_number":363,"context_line":""},{"line_number":364,"context_line":"    def unplug_ovs(self, instance, vif):"},{"line_number":365,"context_line":"        if self.get_firewall_required():"},{"line_number":366,"context_line":"            self.unplug_ovs_hybrid(instance, vif)"},{"line_number":367,"context_line":"        elif self.has_libvirt_version(LIBVIRT_OVS_VPORT_VERSION):"},{"line_number":368,"context_line":"            self.unplug_ovs_bridge(instance, vif)"},{"line_number":369,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":17,"id":"AAAAM3%2F%2FROo%3D","line":366,"updated":"2013-01-30 20:43:22.000000000","message":"same, same.","commit_id":"d80e673f6b91a924aabdc9784ef24068bd554928"}]}
