)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8f877d942ba3d6a0dd70e37dcf250798447ffaaf","unresolved":false,"context_lines":[{"line_number":14,"context_line":"LibvirtConfigGuestInterface sets one if tag was"},{"line_number":15,"context_line":"found."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"The fix will cause get_interface_by_cfg() to"},{"line_number":18,"context_line":"return proper interface as target_dev will be"},{"line_number":19,"context_line":"set to vif_name in _set_config_VIFVHostUser()"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: Iaf185b98c236df47e44cda0732ee0aed1fd6323d"},{"line_number":22,"context_line":"Closes-Bug: #1807340"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ffd0ebdf_a3660551","line":19,"range":{"start_line":17,"start_character":0,"end_line":19,"end_character":45},"updated":"2019-01-03 16:41:01.000000000","message":"technically target_dev is not a valid value for vhost user interface\nhttps://libvirt.org/formatdomain.html#elementVhostuser\n\nit will work but when you have vhost-user interface you do not have a corresponding kernel netdev so  the target dev\nhttps://libvirt.org/formatdomain.html#elementsNICSTargetOverride\n\nshould always be none.\n\nso while this will work i\u0027m not sure we should rely on this behavior in general and probably should change the get_interface_by_cfg()","commit_id":"d786ae3841835d84c66ef1d29d3a7e0640945191"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8881babeee3dee9a1bd18345f494c5dc144cf24f","unresolved":false,"context_lines":[{"line_number":10,"context_line":"thinking that it\u0027s already detached because"},{"line_number":11,"context_line":"get_interface_by_cfg() return no inteface."},{"line_number":12,"context_line":"This is due to _set_config_VIFVHostUser()"},{"line_number":13,"context_line":"not setting target_dev in configuration while"},{"line_number":14,"context_line":"LibvirtConfigGuestInterface sets one if tag was"},{"line_number":15,"context_line":"found."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"In case net-type is vhostuser, checking if"},{"line_number":18,"context_line":"target_dev match will be skipped."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"9fdfeff1_06bb39e2","line":15,"range":{"start_line":13,"start_character":40,"end_line":15,"end_character":6},"updated":"2019-01-22 21:16:36.000000000","message":"I\u0027m not sure what this means.","commit_id":"1df30a2c42f74e74b344581f56fb1a0c131a2774"},{"author":{"_account_id":27794,"name":"Maria Luisa Arches","email":"luisa.arches@nokia.com","username":"arches"},"change_message_id":"5070f54d78a51451d935cebb6e3d0f82a916c4d0","unresolved":false,"context_lines":[{"line_number":10,"context_line":"thinking that it\u0027s already detached because"},{"line_number":11,"context_line":"get_interface_by_cfg() return no inteface."},{"line_number":12,"context_line":"This is due to _set_config_VIFVHostUser()"},{"line_number":13,"context_line":"not setting target_dev in configuration while"},{"line_number":14,"context_line":"LibvirtConfigGuestInterface sets one if tag was"},{"line_number":15,"context_line":"found."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"In case net-type is vhostuser, checking if"},{"line_number":18,"context_line":"target_dev match will be skipped."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"9fdfeff1_add56145","line":15,"range":{"start_line":13,"start_character":40,"end_line":15,"end_character":6},"in_reply_to":"9fdfeff1_06bb39e2","updated":"2019-01-23 09:15:10.000000000","message":"What i meant with this is that during parsing of interface in LibVirtConfigGuestInterface, if \"target\" tag was found then it fills up the target_dev attribute.\n\nhttps://github.com/openstack/nova/blob/88951ca98e1b286b58aa1ad94f9af40b8260c01f/nova/virt/libvirt/config.py#L1524","commit_id":"1df30a2c42f74e74b344581f56fb1a0c131a2774"}],"nova/tests/unit/virt/libvirt/test_guest.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"3d39b3093a5e0430b223490b31ca7647946f2ece","unresolved":false,"context_lines":[{"line_number":554,"context_line":"  \u003cdevices\u003e"},{"line_number":555,"context_line":"    \u003cinterface type\u003d\"vhostuser\"\u003e"},{"line_number":556,"context_line":"      \u003cmac address\u003d\u0027fa:16:3e:55:3e:e4\u0027/\u003e"},{"line_number":557,"context_line":"      \u003csource type\u003d\u0027unix\u0027 path\u003d\u0027/var/run/openvswitch/vhued80c655-4e\u0027 mode\u003d\u0027server\u0027/\u003e"},{"line_number":558,"context_line":"      \u003ctarget dev\u003d\u0027vhued80c655-4e\u0027/\u003e"},{"line_number":559,"context_line":"      \u003cmodel type\u003d\u0027virtio\u0027/\u003e"},{"line_number":560,"context_line":"      \u003calias name\u003d\u0027net0\u0027/\u003e"},{"line_number":561,"context_line":"      \u003caddress type\u003d\u0027pci\u0027 domain\u003d\u00270x0000\u0027 bus\u003d\u00270x00\u0027 slot\u003d\u00270x03\u0027 function\u003d\u00270x0\u0027/\u003e"},{"line_number":562,"context_line":"    \u003c/interface\u003e"},{"line_number":563,"context_line":"  \u003c/devices\u003e"},{"line_number":564,"context_line":"\u003c/domain\u003e\"\"\""},{"line_number":565,"context_line":"        cfg \u003d vconfig.LibvirtConfigGuestInterface()"},{"line_number":566,"context_line":"        cfg.parse_str(\"\"\"\u003cinterface type\u003d\"vhostuser\"\u003e"},{"line_number":567,"context_line":"  \u003cmac address\u003d\u0027fa:16:3e:55:3e:e4\u0027/\u003e"},{"line_number":568,"context_line":"  \u003cmodel type\u003d\"virtio\"/\u003e"},{"line_number":569,"context_line":"  \u003csource type\u003d\u0027unix\u0027 path\u003d\u0027/var/run/openvswitch/vhued80c655-4e\u0027 mode\u003d\u0027server\u0027/\u003e"},{"line_number":570,"context_line":"  \u003calias name\u003d\u0027net0\u0027/\u003e"},{"line_number":571,"context_line":"  \u003caddress type\u003d\u0027pci\u0027 domain\u003d\u00270x0000\u0027 bus\u003d\u00270x00\u0027 slot\u003d\u00270x03\u0027 function\u003d\u00270x0\u0027/\u003e"},{"line_number":572,"context_line":"  \u003c/interface\u003e\"\"\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"dfd5e7cf_d0a3be4e","line":569,"range":{"start_line":557,"start_character":6,"end_line":569,"end_character":80},"updated":"2019-01-08 04:42:36.000000000","message":"this will also cause pep8 line lenght issues.\n\nhttp://logs.openstack.org/40/627540/4/check/openstack-tox-pep8/b3eb386/job-output.txt.gz#_2019-01-07_17_12_01_911386\n\nspaces will be ingored in how we parse the xml if we reflow the text.","commit_id":"9b7d0fa5b0c60c878914a6fdecfec538fb4a1748"}],"nova/virt/libvirt/guest.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"3d39b3093a5e0430b223490b31ca7647946f2ece","unresolved":false,"context_lines":[{"line_number":244,"context_line":"                if (interface.mac_addr \u003d\u003d cfg.mac_addr and"},{"line_number":245,"context_line":"                        interface.net_type \u003d\u003d cfg.net_type and"},{"line_number":246,"context_line":"                        interface.source_dev \u003d\u003d cfg.source_dev and"},{"line_number":247,"context_line":"                        (cfg.net_type \u003d\u003d \u0027vhostuser\u0027 or "},{"line_number":248,"context_line":"                            interface.target_dev \u003d\u003d cfg.target_dev) and"},{"line_number":249,"context_line":"                        interface.vhostuser_path \u003d\u003d cfg.vhostuser_path):"},{"line_number":250,"context_line":"                    return interface"}],"source_content_type":"text/x-python","patch_set":4,"id":"dfd5e7cf_d0ee5e87","line":247,"range":{"start_line":247,"start_character":54,"end_line":247,"end_character":56},"updated":"2019-01-08 04:42:36.000000000","message":"this is a pep8 violation.\nhttp://logs.openstack.org/40/627540/4/check/openstack-tox-pep8/b3eb386/job-output.txt.gz#_2019-01-07_17_12_01_911386","commit_id":"9b7d0fa5b0c60c878914a6fdecfec538fb4a1748"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"8881babeee3dee9a1bd18345f494c5dc144cf24f","unresolved":false,"context_lines":[{"line_number":244,"context_line":"                if (interface.mac_addr \u003d\u003d cfg.mac_addr and"},{"line_number":245,"context_line":"                        interface.net_type \u003d\u003d cfg.net_type and"},{"line_number":246,"context_line":"                        interface.source_dev \u003d\u003d cfg.source_dev and"},{"line_number":247,"context_line":"                        (cfg.net_type \u003d\u003d \u0027vhostuser\u0027 or"},{"line_number":248,"context_line":"                            interface.target_dev \u003d\u003d cfg.target_dev) and"},{"line_number":249,"context_line":"                        interface.vhostuser_path \u003d\u003d cfg.vhostuser_path):"},{"line_number":250,"context_line":"                    return interface"}],"source_content_type":"text/x-python","patch_set":5,"id":"9fdfeff1_268f5d24","line":247,"updated":"2019-01-22 21:16:36.000000000","message":"I really don\u0027t like putting vif type specific checks in this code. https://review.openstack.org/#/c/627537/1/nova/virt/libvirt/vif.py is definitely more generic - why was that abandoned?\n\nI think at the very least there should be a comment in this code that vhostuser is special since target_dev is not set for that vif type.","commit_id":"1df30a2c42f74e74b344581f56fb1a0c131a2774"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"07fcef4e1de2e931b06fc3634b2aa7622d5cafdb","unresolved":false,"context_lines":[{"line_number":244,"context_line":"                if (interface.mac_addr \u003d\u003d cfg.mac_addr and"},{"line_number":245,"context_line":"                        interface.net_type \u003d\u003d cfg.net_type and"},{"line_number":246,"context_line":"                        interface.source_dev \u003d\u003d cfg.source_dev and"},{"line_number":247,"context_line":"                        (cfg.net_type \u003d\u003d \u0027vhostuser\u0027 or"},{"line_number":248,"context_line":"                            interface.target_dev \u003d\u003d cfg.target_dev) and"},{"line_number":249,"context_line":"                        interface.vhostuser_path \u003d\u003d cfg.vhostuser_path):"},{"line_number":250,"context_line":"                    return interface"}],"source_content_type":"text/x-python","patch_set":5,"id":"9fdfeff1_86a9697c","line":247,"in_reply_to":"9fdfeff1_268f5d24","updated":"2019-01-22 21:18:54.000000000","message":"It would also be nice to explain in the commit message why this can\u0027t be fixed more generically (it looks like there was an attempt to fix this more generically earlier but maybe doesn\u0027t work for OVN?).","commit_id":"1df30a2c42f74e74b344581f56fb1a0c131a2774"},{"author":{"_account_id":27794,"name":"Maria Luisa Arches","email":"luisa.arches@nokia.com","username":"arches"},"change_message_id":"5070f54d78a51451d935cebb6e3d0f82a916c4d0","unresolved":false,"context_lines":[{"line_number":244,"context_line":"                if (interface.mac_addr \u003d\u003d cfg.mac_addr and"},{"line_number":245,"context_line":"                        interface.net_type \u003d\u003d cfg.net_type and"},{"line_number":246,"context_line":"                        interface.source_dev \u003d\u003d cfg.source_dev and"},{"line_number":247,"context_line":"                        (cfg.net_type \u003d\u003d \u0027vhostuser\u0027 or"},{"line_number":248,"context_line":"                            interface.target_dev \u003d\u003d cfg.target_dev) and"},{"line_number":249,"context_line":"                        interface.vhostuser_path \u003d\u003d cfg.vhostuser_path):"},{"line_number":250,"context_line":"                    return interface"}],"source_content_type":"text/x-python","patch_set":5,"id":"9fdfeff1_ed684988","line":247,"in_reply_to":"9fdfeff1_86a9697c","updated":"2019-01-23 09:15:10.000000000","message":"Yes. Sean pointed out that OVN doesn\u0027t have support for server mode. Furthermore, that target_dev technically is not a vhostuser attribute. \n\nI will update commit msg to state those things I\u0027ve mentioned above. Also add a comment in the code.\n\nIs this alright with you?","commit_id":"1df30a2c42f74e74b344581f56fb1a0c131a2774"},{"author":{"_account_id":27794,"name":"Maria Luisa Arches","email":"luisa.arches@nokia.com","username":"arches"},"change_message_id":"a5ec6885741f99435f184624067740011e5c8c66","unresolved":false,"context_lines":[{"line_number":244,"context_line":"                if (interface.mac_addr \u003d\u003d cfg.mac_addr and"},{"line_number":245,"context_line":"                        interface.net_type \u003d\u003d cfg.net_type and"},{"line_number":246,"context_line":"                        interface.source_dev \u003d\u003d cfg.source_dev and"},{"line_number":247,"context_line":"                        (cfg.net_type \u003d\u003d \u0027vhostuser\u0027 or"},{"line_number":248,"context_line":"                            interface.target_dev \u003d\u003d cfg.target_dev) and"},{"line_number":249,"context_line":"                        interface.vhostuser_path \u003d\u003d cfg.vhostuser_path):"},{"line_number":250,"context_line":"                    return interface"}],"source_content_type":"text/x-python","patch_set":5,"id":"9fdfeff1_21fada74","line":247,"in_reply_to":"9fdfeff1_e1acd28d","updated":"2019-01-23 13:42:27.000000000","message":"Ok, will upload new patch hopefully tomorrow.\n\nThanks!","commit_id":"1df30a2c42f74e74b344581f56fb1a0c131a2774"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7ed1cf1858d66edbafd15c7396ba0335331b5de6","unresolved":false,"context_lines":[{"line_number":244,"context_line":"                if (interface.mac_addr \u003d\u003d cfg.mac_addr and"},{"line_number":245,"context_line":"                        interface.net_type \u003d\u003d cfg.net_type and"},{"line_number":246,"context_line":"                        interface.source_dev \u003d\u003d cfg.source_dev and"},{"line_number":247,"context_line":"                        (cfg.net_type \u003d\u003d \u0027vhostuser\u0027 or"},{"line_number":248,"context_line":"                            interface.target_dev \u003d\u003d cfg.target_dev) and"},{"line_number":249,"context_line":"                        interface.vhostuser_path \u003d\u003d cfg.vhostuser_path):"},{"line_number":250,"context_line":"                    return interface"}],"source_content_type":"text/x-python","patch_set":5,"id":"9fdfeff1_e1acd28d","line":247,"in_reply_to":"9fdfeff1_ed684988","updated":"2019-01-23 13:40:15.000000000","message":"Yeah that works for me. It\u0027s unfortunate to have vif type specific checks in this code, but I don\u0027t have a better alternative so I will approve with those changes.","commit_id":"1df30a2c42f74e74b344581f56fb1a0c131a2774"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ee83388a674f0cbd0f2676e7963e9ca34b680342","unresolved":false,"context_lines":[{"line_number":242,"context_line":"                # LibvirtConfigGuestInterface generated by"},{"line_number":243,"context_line":"                # nova.virt.libvirt.vif.get_config must be identical."},{"line_number":244,"context_line":"                # NOTE(arches) Skip checking target_dev for vhostuser"},{"line_number":245,"context_line":"                # vif type. Target_dev is not a valid value for vhostuser."},{"line_number":246,"context_line":"                if (interface.mac_addr \u003d\u003d cfg.mac_addr and"},{"line_number":247,"context_line":"                        interface.net_type \u003d\u003d cfg.net_type and"},{"line_number":248,"context_line":"                        interface.source_dev \u003d\u003d cfg.source_dev and"}],"source_content_type":"text/x-python","patch_set":7,"id":"9fdfeff1_b12e01a3","line":245,"range":{"start_line":245,"start_character":26,"end_line":245,"end_character":38},"updated":"2019-01-24 15:25:55.000000000","message":"nit: \"; target_dev ...\"","commit_id":"2e84ab93528727b20f3f802016e9af6939e69ea0"}],"nova/virt/libvirt/vif.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8e307b1aca26dfc4b80a72ddd5265b13f553df77","unresolved":false,"context_lines":[{"line_number":521,"context_line":"        # None. This can be removed when get_base_config will be fixed"},{"line_number":522,"context_line":"        # and rewrite to set the correct backend."},{"line_number":523,"context_line":"        conf.driver_name \u003d None"},{"line_number":524,"context_line":"        if vif.mode \u003d\u003d \u0027server\u0027:"},{"line_number":525,"context_line":"            conf.target_dev \u003d vif.vif_name"},{"line_number":526,"context_line":""},{"line_number":527,"context_line":"        rx_queue_size, tx_queue_size \u003d self._get_virtio_queue_sizes(host)"},{"line_number":528,"context_line":"        designer.set_vif_host_backend_vhostuser_config("}],"source_content_type":"text/x-python","patch_set":2,"id":"ffd0ebdf_239f7551","line":525,"range":{"start_line":524,"start_character":0,"end_line":525,"end_character":42},"updated":"2019-01-03 16:34:04.000000000","message":"why are you setting this only for vhost user server mode?\n\novn is still missing support for using server mode so with this check the patch will not correct the issue for ovn based deployments.","commit_id":"d786ae3841835d84c66ef1d29d3a7e0640945191"}]}
