)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8873,"name":"Assaf Muller","email":"amuller@redhat.com","username":"amuller"},"change_message_id":"61a3182f2976378e4adb25513750f4fbf48ee10d","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"fullstack: Add hybrid plug support"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Whether hybrid plugging should be used for vm or not is part of"},{"line_number":10,"context_line":"vif_details that Neutron API sends on port creation. This patch uses"},{"line_number":11,"context_line":"this information to decide and creates hybrid plug if it should."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"dada55a8_bf6d7806","line":9,"updated":"2016-07-18 22:03:55.000000000","message":"Since we\u0027re slowly recreating os-vif, we should consider when is the right time to adopt it. Nova currently doesn\u0027t require os-vif in its requirements file. I guess the right time to move is when Nova actually adopts the library.","commit_id":"e121cea1255196f96a0764837545b06e43a88465"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"96d511d50305b99a93ecdf0b5098f5ce941613e8","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"fullstack: Add hybrid plug support"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Whether hybrid plugging should be used for vm or not is part of"},{"line_number":10,"context_line":"vif_details that Neutron API sends on port creation. This patch uses"},{"line_number":11,"context_line":"this information to decide and creates hybrid plug if it should."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"dada55a8_2687b4d8","line":9,"in_reply_to":"dada55a8_bf6d7806","updated":"2016-07-19 07:25:09.000000000","message":"I think once os-vif is usable for Neutron and adopted by Nova, we should re-work the whole *PortFixture classes using os-vif, to simulate in FakeFullstackMachine what nova does with instance ports.","commit_id":"e121cea1255196f96a0764837545b06e43a88465"}],"neutron/agent/linux/iptables_firewall.py":[{"author":{"_account_id":8873,"name":"Assaf Muller","email":"amuller@redhat.com","username":"amuller"},"change_message_id":"8549163bb77a56e22c6a34a6953e81cacc5dc33b","unresolved":false,"context_lines":[{"line_number":930,"context_line":"        if direction \u003d\u003d firewall.INGRESS_DIRECTION:"},{"line_number":931,"context_line":"            device \u003d self._get_br_device_name(port)"},{"line_number":932,"context_line":"        else:"},{"line_number":933,"context_line":"            device \u003d get_hybrid_port_name(port[\u0027device\u0027])"},{"line_number":934,"context_line":"        jump_rule \u003d \u0027-m physdev --physdev-in %s -j CT --zone %s\u0027 % ("},{"line_number":935,"context_line":"            device, self.get_device_zone(port[\u0027device\u0027]))"},{"line_number":936,"context_line":"        return jump_rule"}],"source_content_type":"text/x-python","patch_set":3,"id":"dada55a8_76ccd435","line":933,"updated":"2016-07-18 21:55:38.000000000","message":"You can just continue using self._get_device_name here?","commit_id":"e121cea1255196f96a0764837545b06e43a88465"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"7b3d6670a69e484cf5072e42eac1a493bbd20ed4","unresolved":false,"context_lines":[{"line_number":930,"context_line":"        if direction \u003d\u003d firewall.INGRESS_DIRECTION:"},{"line_number":931,"context_line":"            device \u003d self._get_br_device_name(port)"},{"line_number":932,"context_line":"        else:"},{"line_number":933,"context_line":"            device \u003d get_hybrid_port_name(port[\u0027device\u0027])"},{"line_number":934,"context_line":"        jump_rule \u003d \u0027-m physdev --physdev-in %s -j CT --zone %s\u0027 % ("},{"line_number":935,"context_line":"            device, self.get_device_zone(port[\u0027device\u0027]))"},{"line_number":936,"context_line":"        return jump_rule"}],"source_content_type":"text/x-python","patch_set":3,"id":"dada55a8_86d2e0fe","line":933,"in_reply_to":"dada55a8_76ccd435","updated":"2016-07-19 07:23:16.000000000","message":"Yeah, it\u0027s not supposed to be changed. Originally I removed _get_device_name completely but it\u0027s used in original driver too.","commit_id":"e121cea1255196f96a0764837545b06e43a88465"}],"neutron/tests/common/net_helpers.py":[{"author":{"_account_id":8873,"name":"Assaf Muller","email":"amuller@redhat.com","username":"amuller"},"change_message_id":"4c24027ff49752a5f2d59a8fda697e2dcd7230de","unresolved":false,"context_lines":[{"line_number":700,"context_line":"            self.do_hybrid_plug(port_name)"},{"line_number":701,"context_line":"            self.addCleanup(self.unplug, port_name)"},{"line_number":702,"context_line":"        else:"},{"line_number":703,"context_line":"            interface_config \u003d cfg.ConfigOpts()"},{"line_number":704,"context_line":"            interface_config.register_opts(interface.OPTS)"},{"line_number":705,"context_line":"            ovs_interface \u003d interface.OVSInterfaceDriver(interface_config)"},{"line_number":706,"context_line":"            ovs_interface.plug_new("}],"source_content_type":"text/x-python","patch_set":1,"id":"fad55976_2737ede4","line":703,"updated":"2016-07-17 14:18:16.000000000","message":"The else block should probably also be in a function.","commit_id":"cea092bbd76d8640ec2fbe0b485930fe90007561"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"dd58f526c49bfb8999fccd8d12f32e0ff82f063d","unresolved":false,"context_lines":[{"line_number":700,"context_line":"            self.do_hybrid_plug(port_name)"},{"line_number":701,"context_line":"            self.addCleanup(self.unplug, port_name)"},{"line_number":702,"context_line":"        else:"},{"line_number":703,"context_line":"            interface_config \u003d cfg.ConfigOpts()"},{"line_number":704,"context_line":"            interface_config.register_opts(interface.OPTS)"},{"line_number":705,"context_line":"            ovs_interface \u003d interface.OVSInterfaceDriver(interface_config)"},{"line_number":706,"context_line":"            ovs_interface.plug_new("}],"source_content_type":"text/x-python","patch_set":1,"id":"dada55a8_c6936a4e","line":703,"in_reply_to":"fad55976_2737ede4","updated":"2016-07-18 10:15:50.000000000","message":"Done","commit_id":"cea092bbd76d8640ec2fbe0b485930fe90007561"},{"author":{"_account_id":8873,"name":"Assaf Muller","email":"amuller@redhat.com","username":"amuller"},"change_message_id":"4c24027ff49752a5f2d59a8fda697e2dcd7230de","unresolved":false,"context_lines":[{"line_number":710,"context_line":"                self.mac,"},{"line_number":711,"context_line":"                bridge\u003dself.bridge.br_name,"},{"line_number":712,"context_line":"                namespace\u003dself.namespace)"},{"line_number":713,"context_line":"            self.addCleanup(ovs_interface.unplug, port_name)"},{"line_number":714,"context_line":"            self.port \u003d ip_lib.IPDevice(port_name, self.namespace)"},{"line_number":715,"context_line":""},{"line_number":716,"context_line":"    def do_hybrid_plug(self, port_name):"}],"source_content_type":"text/x-python","patch_set":1,"id":"fad55976_e724b5b0","line":713,"updated":"2016-07-17 14:18:16.000000000","message":"Why did you change the cleanup from bridge.delete_port to interface.unplug?","commit_id":"cea092bbd76d8640ec2fbe0b485930fe90007561"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"aba452086145e5f7fe19ac8fc9ffe1fe929db0a8","unresolved":false,"context_lines":[{"line_number":710,"context_line":"                self.mac,"},{"line_number":711,"context_line":"                bridge\u003dself.bridge.br_name,"},{"line_number":712,"context_line":"                namespace\u003dself.namespace)"},{"line_number":713,"context_line":"            self.addCleanup(ovs_interface.unplug, port_name)"},{"line_number":714,"context_line":"            self.port \u003d ip_lib.IPDevice(port_name, self.namespace)"},{"line_number":715,"context_line":""},{"line_number":716,"context_line":"    def do_hybrid_plug(self, port_name):"}],"source_content_type":"text/x-python","patch_set":1,"id":"dada55a8_d77ddee8","line":713,"in_reply_to":"fad55976_e724b5b0","updated":"2016-07-18 08:43:46.000000000","message":"That\u0027s a remnant from previous approach - originally I implemented a OVSHybridInterfaceDriver and if hybrid_plug was set, ovs_interface was instantiated using this driver. Then I found out using interface driver is a wrong approach so I re-implemented the whole thing.\n\nAlso I think unplug() is a reverse operation to plug_new(), not delete_port(). I know it\u0027s not supposed to be in this patch, I\u0027ll remove.","commit_id":"cea092bbd76d8640ec2fbe0b485930fe90007561"}]}
