)]}'
{"etc/nova/rootwrap.d/network.filters":[{"author":{"_account_id":13734,"name":"Nell Jerram","email":"nell@tigera.io","username":"neiljerram"},"change_message_id":"9a797101867eab6edd85caf788d31f5115cd79a9","unresolved":false,"context_lines":[{"line_number":91,"context_line":"conntrack: CommandFilter, conntrack, root"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"# nova/network/linux_net.py: \u0027fp-vdev\u0027"},{"line_number":94,"context_line":"fp-vdev: CommandFilter, /usr/local/bin/fp-vdev, root"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"3a29b11f_3352e935","line":94,"updated":"2015-10-23 13:17:27.000000000","message":"/usr/local/bin as opposed to /usr/bin?  That doesn\u0027t sound right, for an eventual professional deployment.","commit_id":"dc0066290348ed889ad695e562f28403c7a48838"},{"author":{"_account_id":13869,"name":"Maxime Leroy","email":"maxime.leroy@6wind.com","username":"mleroy"},"change_message_id":"0401db350c7168f2b8b1d9bf25172a723d088a75","unresolved":false,"context_lines":[{"line_number":91,"context_line":"conntrack: CommandFilter, conntrack, root"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"# nova/network/linux_net.py: \u0027fp-vdev\u0027"},{"line_number":94,"context_line":"fp-vdev: CommandFilter, /usr/local/bin/fp-vdev, root"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"3a29b11f_d4035cbd","line":94,"in_reply_to":"3a29b11f_3352e935","updated":"2015-10-23 14:02:02.000000000","message":"Right. I will fix that.","commit_id":"dc0066290348ed889ad695e562f28403c7a48838"}],"nova/network/linux_net.py":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"515e1bc8a012216849880ae53f16af1e7b210489","unresolved":false,"context_lines":[{"line_number":1381,"context_line":""},{"line_number":1382,"context_line":"def delete_ovs_vif_port(bridge, dev, delete_dev\u003dTrue):"},{"line_number":1383,"context_line":"    _ovs_vsctl([\u0027--\u0027, \u0027--if-exists\u0027, \u0027del-port\u0027, bridge, dev])"},{"line_number":1384,"context_line":"    if delete_dev:"},{"line_number":1385,"context_line":"        delete_net_dev(dev)"},{"line_number":1386,"context_line":""},{"line_number":1387,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"7a5de9d1_041cc4bf","line":1384,"updated":"2016-01-29 16:16:09.000000000","message":"I wish there were a test for this.","commit_id":"8163e5bf83411767a8b799bae8120748b5ab0600"}],"nova/tests/unit/network/test_neutronv2.py":[{"author":{"_account_id":13734,"name":"Nell Jerram","email":"nell@tigera.io","username":"neiljerram"},"change_message_id":"9a797101867eab6edd85caf788d31f5115cd79a9","unresolved":false,"context_lines":[{"line_number":2463,"context_line":"            \u0027binding:vif_type\u0027: model.VIF_TYPE_VHOSTUSER,"},{"line_number":2464,"context_line":"            \u0027binding:vif_details\u0027: {"},{"line_number":2465,"context_line":"                    model.VIF_DETAILS_VHOSTUSER_OVS_PLUG: True,"},{"line_number":2466,"context_line":"                    model.VIF_DETAILS_VHOSTUSER_OVS_TYPE: \u0027ovs-dpdk\u0027}"},{"line_number":2467,"context_line":"            }"},{"line_number":2468,"context_line":"        fake_subnets \u003d [model.Subnet(cidr\u003d\u00271.0.0.0/8\u0027)]"},{"line_number":2469,"context_line":"        fake_nets \u003d [{\u0027id\u0027: \u0027net-id\u0027, \u0027name\u0027: \u0027foo\u0027, \u0027tenant_id\u0027: \u0027tenant\u0027}]"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a29b11f_2e17e245","line":2466,"updated":"2015-10-23 13:17:27.000000000","message":"This test change suggests that you\u0027re proposing an incompatible change - i.e. that for a previously working scenario, it\u0027s now necessary to add VIF_DETAILS_VHOSTUSER_OVS_TYPE: \u0027ovs-dpdk\u0027.  Is that correct?","commit_id":"dc0066290348ed889ad695e562f28403c7a48838"},{"author":{"_account_id":13869,"name":"Maxime Leroy","email":"maxime.leroy@6wind.com","username":"mleroy"},"change_message_id":"0401db350c7168f2b8b1d9bf25172a723d088a75","unresolved":false,"context_lines":[{"line_number":2463,"context_line":"            \u0027binding:vif_type\u0027: model.VIF_TYPE_VHOSTUSER,"},{"line_number":2464,"context_line":"            \u0027binding:vif_details\u0027: {"},{"line_number":2465,"context_line":"                    model.VIF_DETAILS_VHOSTUSER_OVS_PLUG: True,"},{"line_number":2466,"context_line":"                    model.VIF_DETAILS_VHOSTUSER_OVS_TYPE: \u0027ovs-dpdk\u0027}"},{"line_number":2467,"context_line":"            }"},{"line_number":2468,"context_line":"        fake_subnets \u003d [model.Subnet(cidr\u003d\u00271.0.0.0/8\u0027)]"},{"line_number":2469,"context_line":"        fake_nets \u003d [{\u0027id\u0027: \u0027net-id\u0027, \u0027name\u0027: \u0027foo\u0027, \u0027tenant_id\u0027: \u0027tenant\u0027}]"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a29b11f_77784a2c","line":2466,"in_reply_to":"3a29b11f_2e17e245","updated":"2015-10-23 14:02:02.000000000","message":"\u0027ovs-dpdk\u0027 is the default value of VIF_DETAILS_VHOSTUSER_OVS_TYPE.\n\nThis modification is not necessary. I will remove it.","commit_id":"dc0066290348ed889ad695e562f28403c7a48838"}],"nova/virt/libvirt/vif.py":[{"author":{"_account_id":13734,"name":"Nell Jerram","email":"nell@tigera.io","username":"neiljerram"},"change_message_id":"9a797101867eab6edd85caf788d31f5115cd79a9","unresolved":false,"context_lines":[{"line_number":400,"context_line":""},{"line_number":401,"context_line":"        return conf"},{"line_number":402,"context_line":""},{"line_number":403,"context_line":"    def _get_vhostuser_settings(self, vif):"},{"line_number":404,"context_line":"        vif_details \u003d vif[\u0027details\u0027]"},{"line_number":405,"context_line":"        mode \u003d vif_details.get(network_model.VIF_DETAILS_VHOSTUSER_MODE,"},{"line_number":406,"context_line":"                               \u0027server\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a29b11f_ceebce11","line":403,"updated":"2015-10-23 13:17:27.000000000","message":"Why this refactoring?  It doesn\u0027t seem to be used anywhere else.  Hence I suggest reverting here, and if you really want it, propose a separate change that just does this refactor.","commit_id":"dc0066290348ed889ad695e562f28403c7a48838"},{"author":{"_account_id":13869,"name":"Maxime Leroy","email":"maxime.leroy@6wind.com","username":"mleroy"},"change_message_id":"0401db350c7168f2b8b1d9bf25172a723d088a75","unresolved":false,"context_lines":[{"line_number":400,"context_line":""},{"line_number":401,"context_line":"        return conf"},{"line_number":402,"context_line":""},{"line_number":403,"context_line":"    def _get_vhostuser_settings(self, vif):"},{"line_number":404,"context_line":"        vif_details \u003d vif[\u0027details\u0027]"},{"line_number":405,"context_line":"        mode \u003d vif_details.get(network_model.VIF_DETAILS_VHOSTUSER_MODE,"},{"line_number":406,"context_line":"                               \u0027server\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a29b11f_171f96b8","line":403,"in_reply_to":"3a29b11f_ceebce11","updated":"2015-10-23 14:02:02.000000000","message":"It used in get_config_vhostuser and plug_vhostuser_ovs_fp method. It\u0027s just to avoid duplication of code.","commit_id":"dc0066290348ed889ad695e562f28403c7a48838"},{"author":{"_account_id":13734,"name":"Nell Jerram","email":"nell@tigera.io","username":"neiljerram"},"change_message_id":"9a797101867eab6edd85caf788d31f5115cd79a9","unresolved":false,"context_lines":[{"line_number":699,"context_line":"        if ovs_plug:"},{"line_number":700,"context_line":"            ovs_type \u003d vif[\u0027details\u0027].get("},{"line_number":701,"context_line":"                network_model.VIF_DETAILS_VHOSTUSER_OVS_TYPE,"},{"line_number":702,"context_line":"                \u0027ovs-dpdk\u0027)"},{"line_number":703,"context_line":""},{"line_number":704,"context_line":"            if ovs_type \u003d\u003d \u0027ovs-dpdk\u0027:"},{"line_number":705,"context_line":"                self.plug_vhostuser_ovs_dpdk(instance, vif)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a29b11f_4ec7be95","line":702,"updated":"2015-10-23 13:17:27.000000000","message":"OK, seems that this provides the back compatibility.  So I guess you shouldn\u0027t need that test change that I commented on - revert that?","commit_id":"dc0066290348ed889ad695e562f28403c7a48838"},{"author":{"_account_id":13869,"name":"Maxime Leroy","email":"maxime.leroy@6wind.com","username":"mleroy"},"change_message_id":"0401db350c7168f2b8b1d9bf25172a723d088a75","unresolved":false,"context_lines":[{"line_number":699,"context_line":"        if ovs_plug:"},{"line_number":700,"context_line":"            ovs_type \u003d vif[\u0027details\u0027].get("},{"line_number":701,"context_line":"                network_model.VIF_DETAILS_VHOSTUSER_OVS_TYPE,"},{"line_number":702,"context_line":"                \u0027ovs-dpdk\u0027)"},{"line_number":703,"context_line":""},{"line_number":704,"context_line":"            if ovs_type \u003d\u003d \u0027ovs-dpdk\u0027:"},{"line_number":705,"context_line":"                self.plug_vhostuser_ovs_dpdk(instance, vif)"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a29b11f_97ae4680","line":702,"in_reply_to":"3a29b11f_4ec7be95","updated":"2015-10-23 14:02:02.000000000","message":"yes I should remove this useless change.","commit_id":"dc0066290348ed889ad695e562f28403c7a48838"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"515e1bc8a012216849880ae53f16af1e7b210489","unresolved":false,"context_lines":[{"line_number":648,"context_line":"            if ovs_plug:"},{"line_number":649,"context_line":"                if vif.is_hybrid_plug_enabled():"},{"line_number":650,"context_line":"                    self.plug_ovs_hybrid(instance, vif)"},{"line_number":651,"context_line":"                    utils.execute(\u0027brctl\u0027, \u0027addif\u0027,"},{"line_number":652,"context_line":"                                  self.get_br_name(vif[\u0027id\u0027]),"},{"line_number":653,"context_line":"                                  dev, run_as_root\u003dTrue)"},{"line_number":654,"context_line":"                else:"}],"source_content_type":"text/x-python","patch_set":7,"id":"7a5de9d1_0454c41e","line":651,"updated":"2016-01-29 16:16:09.000000000","message":"seems this is already in rootwrap, so thats good.","commit_id":"8163e5bf83411767a8b799bae8120748b5ab0600"}]}
