)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"9ae7dfa1035502c3805967c142106418b073f610","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"For VIF types of \u0027vhostuser\u0027, the os-vif code path would attempt to"},{"line_number":22,"context_line":"resolve \u0027_nova_to_osvif_vif_vhostuser\u0027 in \u0027nova.network.os_vif_util\u0027"},{"line_number":23,"context_line":"followed by \u0027_set_config_VIFVHostUser\u0027 in the same file. While both of"},{"line_number":24,"context_line":"these exist, the former raises a \u0027NotImplementedError\u0027 for generic"},{"line_number":25,"context_line":"vhost-user interfaces so the \u0027get_config_vhostuser\u0027 function, which"},{"line_number":26,"context_line":"duplicates a lot of code. Simplify this by simply handling those generic"},{"line_number":27,"context_line":"vhost-user interfaces, allowing us to resolve this issue."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"This also highlights a latent issue, whereby bandwidth limits defined in"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9f6a8fd7_e63dbe2c","line":26,"range":{"start_line":23,"start_character":57,"end_line":26,"end_character":25},"updated":"2018-05-01 18:39:56.000000000","message":"incomplete sentence","commit_id":"c357435d778662534bee0e0cff017f5d159d2736"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4c7c0898b5f9fc2df668c793421f36beb513b983","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"For VIF types of \u0027vhostuser\u0027, the os-vif code path would attempt to"},{"line_number":22,"context_line":"resolve \u0027_nova_to_osvif_vif_vhostuser\u0027 in \u0027nova.network.os_vif_util\u0027"},{"line_number":23,"context_line":"followed by \u0027_set_config_VIFVHostUser\u0027 in the same file. While both of"},{"line_number":24,"context_line":"these exist, the former raises a \u0027NotImplementedError\u0027 for generic"},{"line_number":25,"context_line":"vhost-user interfaces so the \u0027get_config_vhostuser\u0027 function, which"},{"line_number":26,"context_line":"duplicates a lot of code. Simplify this by simply handling those generic"},{"line_number":27,"context_line":"vhost-user interfaces, allowing us to resolve this issue."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"This also highlights a latent issue, whereby bandwidth limits defined in"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"5f7c97a3_faf7a6f4","line":26,"range":{"start_line":23,"start_character":57,"end_line":26,"end_character":25},"in_reply_to":"9f6a8fd7_e63dbe2c","updated":"2018-05-07 15:56:36.000000000","message":"Done","commit_id":"c357435d778662534bee0e0cff017f5d159d2736"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2ce5b350d5c3bddac2f851a30f3ef31b63c1c8a9","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    -\u003e nova.network.os_vif_util._set_vhostuser_settings"},{"line_number":38,"context_line":"  nova.virt.libvirt.vif.get_config_vhostuser"},{"line_number":39,"context_line":"    -\u003e nova.virt.libvirt.vif._set_config_VIFVHostUser"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Change-Id: Ifab3006454708ab290b93f02d82b794c334c3946"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"5f7c97a3_7e8b211e","line":40,"updated":"2018-05-11 18:26:31.000000000","message":"depends-on: https://review.openstack.org/567924\nyou might need to use the experimental pipeline to test with os-vif from git. we also will need to do a release of os-vif.\n\nthere are some clean ups i want to do in kuryr-kubernetes such as removing there custom vif types and redefining them in os-vif before we do a new release however so ill try and do that next week if we are ok to wait a week or two to make the release of os-vif.\n\nhttps://github.com/openstack/kuryr-kubernetes/blob/master/kuryr_kubernetes/objects/vif.py","commit_id":"352d73bb51754479aeb6657178afda5f3ba2eaae"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"387928693bac43bfa103c6cf1571a52dceb26396","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The \u0027get_config\u0027 in \u0027nova.virt.libvirt.vif\u0027 has two potential code"},{"line_number":10,"context_line":"paths: the os-vif code path or the legacy code path. The former is tried"},{"line_number":11,"context_line":"first, via a call to \u0027nova_to_osvif_vif\u0027 in \u0027nova.network.ovs_vif_util\u0027."},{"line_number":12,"context_line":"This in turn looks for a function called \u0027_nova_to_osvif_vif_XYZ\u0027, where"},{"line_number":13,"context_line":"\u0027XYZ\u0027 is the \u0027type\u0027 field from the VIF object. If this is found then the"},{"line_number":14,"context_line":"relevant os-vif object is generated from nova\u0027s VIF objects and this is"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"3f79a3b5_6f4ad182","line":11,"range":{"start_line":11,"start_character":58,"end_line":11,"end_character":65},"updated":"2018-10-22 16:31:39.000000000","message":"os_vif :)","commit_id":"b6073a10f75b09b6f004508ca1243d797cc95174"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"64cc706ee19f98d861e972d83c438127e03e14e5","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The \u0027get_config\u0027 in \u0027nova.virt.libvirt.vif\u0027 has two potential code"},{"line_number":10,"context_line":"paths: the os-vif code path or the legacy code path. The former is tried"},{"line_number":11,"context_line":"first, via a call to \u0027nova_to_osvif_vif\u0027 in \u0027nova.network.ovs_vif_util\u0027."},{"line_number":12,"context_line":"This in turn looks for a function called \u0027_nova_to_osvif_vif_XYZ\u0027, where"},{"line_number":13,"context_line":"\u0027XYZ\u0027 is the \u0027type\u0027 field from the VIF object. If this is found then the"},{"line_number":14,"context_line":"relevant os-vif object is generated from nova\u0027s VIF objects and this is"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"3f79a3b5_ad9f7cb1","line":11,"range":{"start_line":11,"start_character":58,"end_line":11,"end_character":65},"in_reply_to":"3f79a3b5_6f4ad182","updated":"2018-10-23 13:07:06.000000000","message":"Oops. Will fix once I\u0027m sure the other comment is addressed","commit_id":"b6073a10f75b09b6f004508ca1243d797cc95174"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c420bd30d18cf940172667f9a8786e137b8e3eb3","unresolved":false,"context_lines":[{"line_number":28,"context_line":"resolve this issue. This requires updating the minimum version of os-vif"},{"line_number":29,"context_line":"used to ensure the \u0027noop\u0027 plugin is available."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"This also highlights a latent issue, whereby bandwidth limits defined in"},{"line_number":32,"context_line":"the image flavor were not picked up for these generic vhost-user"},{"line_number":33,"context_line":"interfaces."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"Here\u0027s a mapping of the functions along with their os-vif calls:"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"9fdfeff1_26a567a2","line":33,"range":{"start_line":31,"start_character":0,"end_line":33,"end_character":11},"updated":"2019-02-01 19:53:20.000000000","message":"Do we want to fix this separately as a bug fix which could be backported?","commit_id":"d46b23c0623ed0cb8a4abbfd2731c6838757d17d"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"b47ac5c4c8152a7620cc22e036d54863280d8084","unresolved":false,"context_lines":[{"line_number":25,"context_line":"vhost-user interfaces so the \u0027get_config_vhostuser\u0027 function is used,"},{"line_number":26,"context_line":"for which we need to keep a lot of duplicated code around. Simplify this"},{"line_number":27,"context_line":"by simply handling those generic vhost-user interfaces, allowing us to"},{"line_number":28,"context_line":"resolve this issue. This requires updating the minimum version of os-vif"},{"line_number":29,"context_line":"used to ensure the \u0027noop\u0027 plugin is available."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Here\u0027s a mapping of the functions along with their os-vif calls:"},{"line_number":32,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":9,"id":"9fdfeff1_3dde163e","line":29,"range":{"start_line":28,"start_character":20,"end_line":29,"end_character":46},"updated":"2019-02-13 15:27:51.000000000","message":"I don\u0027t see anything updating the min version of os-vif in this patch.\n\nHowever, the noop plugin was added in 1.14.0:\n\nhttps://github.com/openstack/os-vif/commit/ba61a981171b3514219eb6ecf306e421f99ce127\n\nand we\u0027ve had the os-vif minimum version at 1.14.0 for 8 months already:\n\nhttps://github.com/openstack/nova/commit/4d32b45c152c4dedcb9d01380f557338c3acb81e\n\nSo we\u0027re safe. Probably good to remove this part of the commit message to avoid confusion, please.","commit_id":"f96362329835d38b325ac6056620de6cadbd2cd9"}],"lower-constraints.txt":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c420bd30d18cf940172667f9a8786e137b8e3eb3","unresolved":false,"context_lines":[{"line_number":70,"context_line":"os-client-config\u003d\u003d1.29.0"},{"line_number":71,"context_line":"os-service-types\u003d\u003d1.2.0"},{"line_number":72,"context_line":"os-traits\u003d\u003d0.4.0"},{"line_number":73,"context_line":"os-vif\u003d\u003d1.11.1"},{"line_number":74,"context_line":"os-win\u003d\u003d3.0.0"},{"line_number":75,"context_line":"os-xenapi\u003d\u003d0.3.3"},{"line_number":76,"context_line":"osc-lib\u003d\u003d1.10.0"}],"source_content_type":"text/plain","patch_set":7,"id":"9fdfeff1_06706307","line":73,"range":{"start_line":73,"start_character":8,"end_line":73,"end_character":14},"updated":"2019-02-01 19:53:20.000000000","message":"Looks like technically 1.11.0 would do the trick but sure.","commit_id":"d46b23c0623ed0cb8a4abbfd2731c6838757d17d"}],"nova/network/os_vif_util.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"dfdbb5c9647a5df1919e73527115b8199e5fb392","unresolved":false,"context_lines":[{"line_number":405,"context_line":"        _set_vhostuser_settings(vif, obj)"},{"line_number":406,"context_line":"        return obj"},{"line_number":407,"context_line":"    else:"},{"line_number":408,"context_line":"        obj \u003d _get_vif_instance(vif, objects.vif.VIFVHostUser,"},{"line_number":409,"context_line":"                                vif_name\u003d_get_vif_name(vif))"},{"line_number":410,"context_line":"        _set_vhostuser_settings(vif, obj)"},{"line_number":411,"context_line":"        return obj"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_ace3d733","line":408,"updated":"2018-05-11 14:03:25.000000000","message":"If we don\u0027t specify a plugin here, what gets used?","commit_id":"352d73bb51754479aeb6657178afda5f3ba2eaae"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2ce5b350d5c3bddac2f851a30f3ef31b63c1c8a9","unresolved":false,"context_lines":[{"line_number":405,"context_line":"        _set_vhostuser_settings(vif, obj)"},{"line_number":406,"context_line":"        return obj"},{"line_number":407,"context_line":"    else:"},{"line_number":408,"context_line":"        obj \u003d _get_vif_instance(vif, objects.vif.VIFVHostUser,"},{"line_number":409,"context_line":"                                vif_name\u003d_get_vif_name(vif))"},{"line_number":410,"context_line":"        _set_vhostuser_settings(vif, obj)"},{"line_number":411,"context_line":"        return obj"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_7ebd61d6","line":408,"in_reply_to":"5f7c97a3_6fa291b0","updated":"2018-05-11 18:26:31.000000000","message":"can you add plugin\u003d\"noop\" here and rebase on https://review.openstack.org/567924","commit_id":"352d73bb51754479aeb6657178afda5f3ba2eaae"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6aa653372588cc9d19fb8a0fbd60fff13fce69d7","unresolved":false,"context_lines":[{"line_number":405,"context_line":"        _set_vhostuser_settings(vif, obj)"},{"line_number":406,"context_line":"        return obj"},{"line_number":407,"context_line":"    else:"},{"line_number":408,"context_line":"        obj \u003d _get_vif_instance(vif, objects.vif.VIFVHostUser,"},{"line_number":409,"context_line":"                                vif_name\u003d_get_vif_name(vif))"},{"line_number":410,"context_line":"        _set_vhostuser_settings(vif, obj)"},{"line_number":411,"context_line":"        return obj"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_d022efa6","line":408,"in_reply_to":"5f7c97a3_7ebd61d6","updated":"2018-10-05 14:04:00.000000000","message":"Done","commit_id":"352d73bb51754479aeb6657178afda5f3ba2eaae"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b4a011c5e431bb233b7e6eccddebbcbd228c48c6","unresolved":false,"context_lines":[{"line_number":405,"context_line":"        _set_vhostuser_settings(vif, obj)"},{"line_number":406,"context_line":"        return obj"},{"line_number":407,"context_line":"    else:"},{"line_number":408,"context_line":"        obj \u003d _get_vif_instance(vif, objects.vif.VIFVHostUser,"},{"line_number":409,"context_line":"                                vif_name\u003d_get_vif_name(vif))"},{"line_number":410,"context_line":"        _set_vhostuser_settings(vif, obj)"},{"line_number":411,"context_line":"        return obj"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_6fa291b0","line":408,"in_reply_to":"5f7c97a3_ace3d733","updated":"2018-05-11 14:39:40.000000000","message":"it will throw an exception in os-vif\nhere https://github.com/openstack/os-vif/blob/master/os_vif/__init__.py#L70-L73","commit_id":"352d73bb51754479aeb6657178afda5f3ba2eaae"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"387928693bac43bfa103c6cf1571a52dceb26396","unresolved":false,"context_lines":[{"line_number":405,"context_line":"        _set_vhostuser_settings(vif, obj)"},{"line_number":406,"context_line":"        return obj"},{"line_number":407,"context_line":"    else:"},{"line_number":408,"context_line":"        obj \u003d _get_vif_instance(vif, objects.vif.VIFVHostUser,"},{"line_number":409,"context_line":"                                plugin\u003d\"noop\","},{"line_number":410,"context_line":"                                vif_name\u003d_get_vif_name(vif))"},{"line_number":411,"context_line":"        _set_vhostuser_settings(vif, obj)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_3af17501","line":408,"updated":"2018-10-22 16:31:39.000000000","message":"so I\u0027m actually confused... in what situations is this code path *currently* being called? For a vhostuser VIF that *isn\u0027t* a fastpath VIF, that *isn\u0027t* an OVS VIF, that *isn\u0027t* a vRouter VIF... what scenarios does this actually cover then? :)","commit_id":"b6073a10f75b09b6f004508ca1243d797cc95174"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"47b921c99ed8ff0d9f6eb1346d2d3829830f43c4","unresolved":false,"context_lines":[{"line_number":405,"context_line":"        _set_vhostuser_settings(vif, obj)"},{"line_number":406,"context_line":"        return obj"},{"line_number":407,"context_line":"    else:"},{"line_number":408,"context_line":"        obj \u003d _get_vif_instance(vif, objects.vif.VIFVHostUser,"},{"line_number":409,"context_line":"                                plugin\u003d\"noop\","},{"line_number":410,"context_line":"                                vif_name\u003d_get_vif_name(vif))"},{"line_number":411,"context_line":"        _set_vhostuser_settings(vif, obj)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_ec67c423","line":408,"in_reply_to":"3f79a3b5_3af17501","updated":"2018-10-23 00:31:30.000000000","message":"this is used for VPP and for snabb switch.\n\nwe really got our moneys worth apparently when we added\nvhost user support. even i have trouble rembering all of the differnt vhost user backends sometimes.","commit_id":"b6073a10f75b09b6f004508ca1243d797cc95174"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"64cc706ee19f98d861e972d83c438127e03e14e5","unresolved":false,"context_lines":[{"line_number":405,"context_line":"        _set_vhostuser_settings(vif, obj)"},{"line_number":406,"context_line":"        return obj"},{"line_number":407,"context_line":"    else:"},{"line_number":408,"context_line":"        obj \u003d _get_vif_instance(vif, objects.vif.VIFVHostUser,"},{"line_number":409,"context_line":"                                plugin\u003d\"noop\","},{"line_number":410,"context_line":"                                vif_name\u003d_get_vif_name(vif))"},{"line_number":411,"context_line":"        _set_vhostuser_settings(vif, obj)"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_4d590827","line":408,"in_reply_to":"3f79a3b5_ec67c423","updated":"2018-10-23 13:07:06.000000000","message":"What he said. Maybe we should add a comment here to that effect?","commit_id":"b6073a10f75b09b6f004508ca1243d797cc95174"}],"nova/virt/libvirt/vif.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"dfdbb5c9647a5df1919e73527115b8199e5fb392","unresolved":false,"context_lines":[{"line_number":472,"context_line":""},{"line_number":473,"context_line":"        mode, sock_path \u003d self._get_vhostuser_settings(vif)"},{"line_number":474,"context_line":"        rx_queue_size, tx_queue_size \u003d self._get_virtio_queue_sizes(host)"},{"line_number":475,"context_line":"        designer.set_vif_host_backend_vhostuser_config("},{"line_number":476,"context_line":"            conf, mode, sock_path, rx_queue_size, tx_queue_size)"},{"line_number":477,"context_line":""},{"line_number":478,"context_line":"        # (vladikr) Not setting up driver and queues for vhostuser"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_0cce8b81","side":"PARENT","line":475,"range":{"start_line":475,"start_character":17,"end_line":475,"end_character":54},"updated":"2018-05-11 14:03:25.000000000","message":"OK I see that _set_config_VIFVHostUser calls this and does the version check so we\u0027re still covered there.","commit_id":"dd2232c446ffab93dee9ef771326fbf575ebed47"}]}
