)]}'
{"nova/network/model.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7f9113d00cd8e26a0b08b0ed21b509aba6d2c923","unresolved":false,"context_lines":[{"line_number":79,"context_line":"VIF_DETAILS_VHOSTUSER_OVS_PLUG \u003d \u0027vhostuser_ovs_plug\u0027"},{"line_number":80,"context_line":"# Specifies whether vhost-user mode should be used by vrouter."},{"line_number":81,"context_line":"# Valid values are True and False"},{"line_number":82,"context_line":"VIF_DETAILS_VHOSTUSER_VROUTER_PLUG \u003d \u0027vhostuser_vrouter_plug\u0027"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"# Constants for dictionary keys in the \u0027vif_details\u0027 field that are"},{"line_number":85,"context_line":"# valid for VIF_TYPE_TAP."}],"source_content_type":"text/x-python","patch_set":1,"id":"fa80f949_5e565dd3","line":82,"updated":"2015-11-04 17:18:39.000000000","message":"is there a corresponding patch to add this to the neutron port binding extension?","commit_id":"e45ccf79b54a8eda08d7bd29033682101ab9543b"},{"author":{"_account_id":9284,"name":"Michal Dubiel","email":"md@semihalf.com","username":"md"},"change_message_id":"164b7e298a6c612bce61d776e721270a18b9f345","unresolved":false,"context_lines":[{"line_number":79,"context_line":"VIF_DETAILS_VHOSTUSER_OVS_PLUG \u003d \u0027vhostuser_ovs_plug\u0027"},{"line_number":80,"context_line":"# Specifies whether vhost-user mode should be used by vrouter."},{"line_number":81,"context_line":"# Valid values are True and False"},{"line_number":82,"context_line":"VIF_DETAILS_VHOSTUSER_VROUTER_PLUG \u003d \u0027vhostuser_vrouter_plug\u0027"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"# Constants for dictionary keys in the \u0027vif_details\u0027 field that are"},{"line_number":85,"context_line":"# valid for VIF_TYPE_TAP."}],"source_content_type":"text/x-python","patch_set":1,"id":"fa80f949_60da7a7a","line":82,"in_reply_to":"fa80f949_5e565dd3","updated":"2015-11-05 12:49:49.000000000","message":"We are working on this, it has not yet been published. Nova changes are much more trivial so we decided to upstream it as soon as possible, even though the neutron\u0027s side is not yet entirely ready.","commit_id":"e45ccf79b54a8eda08d7bd29033682101ab9543b"}],"nova/virt/libvirt/vif.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7f9113d00cd8e26a0b08b0ed21b509aba6d2c923","unresolved":false,"context_lines":[{"line_number":707,"context_line":"                                          instance.uuid)"},{"line_number":708,"context_line":"            linux_net.ovs_set_vhostuser_port_type(port_name)"},{"line_number":709,"context_line":""},{"line_number":710,"context_line":"        if vrouter_plug:"},{"line_number":711,"context_line":"            self._vrouter_port_add(instance, vif)"},{"line_number":712,"context_line":""},{"line_number":713,"context_line":"    def plug_vrouter(self, instance, vif):"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa80f949_1eea1510","line":710,"updated":"2015-11-04 17:18:39.000000000","message":"can both ovs_plug and vrouter_plug be specified at the same time?\n\nif not this should be an elif","commit_id":"e45ccf79b54a8eda08d7bd29033682101ab9543b"},{"author":{"_account_id":9284,"name":"Michal Dubiel","email":"md@semihalf.com","username":"md"},"change_message_id":"164b7e298a6c612bce61d776e721270a18b9f345","unresolved":false,"context_lines":[{"line_number":707,"context_line":"                                          instance.uuid)"},{"line_number":708,"context_line":"            linux_net.ovs_set_vhostuser_port_type(port_name)"},{"line_number":709,"context_line":""},{"line_number":710,"context_line":"        if vrouter_plug:"},{"line_number":711,"context_line":"            self._vrouter_port_add(instance, vif)"},{"line_number":712,"context_line":""},{"line_number":713,"context_line":"    def plug_vrouter(self, instance, vif):"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa80f949_e03bca9a","line":710,"in_reply_to":"fa80f949_1eea1510","updated":"2015-11-05 12:49:49.000000000","message":"No they can not. I changed it to elif in the next patch set.","commit_id":"e45ccf79b54a8eda08d7bd29033682101ab9543b"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7f9113d00cd8e26a0b08b0ed21b509aba6d2c923","unresolved":false,"context_lines":[{"line_number":918,"context_line":"                    vif[\u0027details\u0027][network_model.VIF_DETAILS_VHOSTUSER_SOCKET])"},{"line_number":919,"context_line":"            linux_net.delete_ovs_vif_port(self.get_bridge_name(vif),"},{"line_number":920,"context_line":"                                          port_name)"},{"line_number":921,"context_line":"        if vrouter_plug:"},{"line_number":922,"context_line":"            self._vrouter_port_delete(instance, vif)"},{"line_number":923,"context_line":""},{"line_number":924,"context_line":"    def unplug_vrouter(self, instance, vif):"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa80f949_def32d09","line":921,"updated":"2015-11-04 17:18:39.000000000","message":"should this be an elif","commit_id":"e45ccf79b54a8eda08d7bd29033682101ab9543b"},{"author":{"_account_id":9284,"name":"Michal Dubiel","email":"md@semihalf.com","username":"md"},"change_message_id":"164b7e298a6c612bce61d776e721270a18b9f345","unresolved":false,"context_lines":[{"line_number":918,"context_line":"                    vif[\u0027details\u0027][network_model.VIF_DETAILS_VHOSTUSER_SOCKET])"},{"line_number":919,"context_line":"            linux_net.delete_ovs_vif_port(self.get_bridge_name(vif),"},{"line_number":920,"context_line":"                                          port_name)"},{"line_number":921,"context_line":"        if vrouter_plug:"},{"line_number":922,"context_line":"            self._vrouter_port_delete(instance, vif)"},{"line_number":923,"context_line":""},{"line_number":924,"context_line":"    def unplug_vrouter(self, instance, vif):"}],"source_content_type":"text/x-python","patch_set":1,"id":"fa80f949_8042fe0e","line":921,"in_reply_to":"fa80f949_def32d09","updated":"2015-11-05 12:49:49.000000000","message":"Yes, I fixed it in the next patch set.","commit_id":"e45ccf79b54a8eda08d7bd29033682101ab9543b"},{"author":{"_account_id":13869,"name":"Maxime Leroy","email":"maxime.leroy@6wind.com","username":"mleroy"},"change_message_id":"a1d650230224b11e1a577f8c4119d797dbe14dea","unresolved":false,"context_lines":[{"line_number":679,"context_line":""},{"line_number":680,"context_line":"        cmd_args \u003d (\"--oper\u003dadd --uuid\u003d%s --instance_uuid\u003d%s --vn_uuid\u003d%s \""},{"line_number":681,"context_line":"                    \"--vm_project_uuid\u003d%s --ip_address\u003d%s --ipv6_address\u003d%s\""},{"line_number":682,"context_line":"                    \" --vm_name\u003d%s --mac\u003d%s --tap_name\u003d%s --port_type\u003d%s \""},{"line_number":683,"context_line":"                    \"--tx_vlan_id\u003d%d --rx_vlan_id\u003d%d\" % (vif[\u0027id\u0027],"},{"line_number":684,"context_line":"                    instance.uuid, vif[\u0027network\u0027][\u0027id\u0027],"},{"line_number":685,"context_line":"                    instance.project_id, ip_addr, ip6_addr,"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba8a016a_696398b2","line":682,"updated":"2015-11-16 17:12:51.000000000","message":"1. Does it make sense to have a tap_name for vhostuser ?\n\n2. How the vrouter switch is able to create or connect to the vhostuser socket, if you don\u0027t give the socket path used for libvirt/qemu ?","commit_id":"f0b85c68be6e1bd1b8a8d857c337bc461449968f"},{"author":{"_account_id":9284,"name":"Michal Dubiel","email":"md@semihalf.com","username":"md"},"change_message_id":"a064b1cbeb94dd271a19830a7082f1e5007e2e09","unresolved":false,"context_lines":[{"line_number":679,"context_line":""},{"line_number":680,"context_line":"        cmd_args \u003d (\"--oper\u003dadd --uuid\u003d%s --instance_uuid\u003d%s --vn_uuid\u003d%s \""},{"line_number":681,"context_line":"                    \"--vm_project_uuid\u003d%s --ip_address\u003d%s --ipv6_address\u003d%s\""},{"line_number":682,"context_line":"                    \" --vm_name\u003d%s --mac\u003d%s --tap_name\u003d%s --port_type\u003d%s \""},{"line_number":683,"context_line":"                    \"--tx_vlan_id\u003d%d --rx_vlan_id\u003d%d\" % (vif[\u0027id\u0027],"},{"line_number":684,"context_line":"                    instance.uuid, vif[\u0027network\u0027][\u0027id\u0027],"},{"line_number":685,"context_line":"                    instance.project_id, ip_addr, ip6_addr,"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba8a016a_d79f8e01","line":682,"in_reply_to":"ba8a016a_696398b2","updated":"2015-11-17 11:34:39.000000000","message":"1. Ports on a given compute node are identified by the tap names, i.e. tapa90e2ed6-75. All tools (like vif --list) uses tap names. Originally, vRouter (the kernel version) uses real tap interfaces. The DPDK version does not use tap inetrfaces but sticks to the convention and names the socket files the same way, so you have for example /var/run/vrouter/tapa90e2ed6-75 socket file.\n\n2. vRouter (in DPDK mode) works as a vhostuser server. It is a separate process that creates the socket files (identified by tap name as explained above and by default configured to be under /var/run/vrouter/). A VM spawned by nova is configured to use qemu\u0027s vhostuser feature in the \u0027client\u0027 mode. That makes qemu connecting to the sockets created by the vRouter process. Paths to that sockets are provided in vif[\u0027details\u0027][network_model.VIF_DETAILS_VHOSTUSER_SOCKET] similarly as in the OVS case.","commit_id":"f0b85c68be6e1bd1b8a8d857c337bc461449968f"}]}
