)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"ddd837aab54f2745830edf2311f6b2e07495585b","unresolved":false,"context_lines":[{"line_number":25,"context_line":"* OpenContrail / Tungsten Fabric is planning to consume this"},{"line_number":26,"context_line":"  functionality for the 5.1 release."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"* os-vif 1.14.0 is required to pass the metadata"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"Change-Id: I327894839a892a976cf314d4292b22ce247b0afa"},{"line_number":31,"context_line":"Depends-On: I401ee6370dad68e62bc2d089e786a840d91d0267"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"9fdfeff1_12b08add","line":28,"updated":"2019-02-04 13:28:51.000000000","message":"This checks out based on the Depends-On and the os-vif release","commit_id":"4d32b45c152c4dedcb9d01380f557338c3acb81e"}],"lower-constraints.txt":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"23150734814577e188e213a7afcaaa83c3e20727","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.7.0"},{"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_921c9178","side":"PARENT","line":73,"range":{"start_line":73,"start_character":1,"end_line":73,"end_character":13},"updated":"2019-02-01 17:44:18.000000000","message":"while this should have worked before\nin the general case im not sure all feature would have worked or worked without bugs.\nso we probably should have rasied this a while ago.","commit_id":"172855f293b6a48b4b64fd9e47c377c7124e192c"}],"nova/network/os_vif_util.py":[{"author":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"change_message_id":"7a5dcc38496272dee0ec2f51f511d99c986ed109","unresolved":false,"context_lines":[{"line_number":283,"context_line":"        interface_id\u003dvif.get(\u0027ovs_interfaceid\u0027) or vif[\u0027id\u0027],"},{"line_number":284,"context_line":"        datapath_type\u003dvif[\u0027details\u0027].get("},{"line_number":285,"context_line":"            model.VIF_DETAILS_OVS_DATAPATH_TYPE))"},{"line_number":286,"context_line":"    if vnic_type \u003d\u003d model.VNIC_TYPE_DIRECT:"},{"line_number":287,"context_line":"        profile \u003d objects.vif.VIFPortProfileOVSRepresentor("},{"line_number":288,"context_line":"            interface_id\u003dvif.get(\u0027ovs_interfaceid\u0027) or vif[\u0027id\u0027],"},{"line_number":289,"context_line":"            representor_name\u003d_get_vif_name(vif),"},{"line_number":290,"context_line":"            representor_address\u003dvif[\"profile\"][\u0027pci_slot\u0027])"},{"line_number":291,"context_line":"        obj \u003d _get_vif_instance("},{"line_number":292,"context_line":"            vif,"},{"line_number":293,"context_line":"            objects.vif.VIFHostDevice,"},{"line_number":294,"context_line":"            port_profile\u003dprofile,"},{"line_number":295,"context_line":"            plugin\u003d\"ovs\","},{"line_number":296,"context_line":"            dev_address\u003dvif[\"profile\"][\u0027pci_slot\u0027],"},{"line_number":297,"context_line":"            dev_type\u003dos_vif_fields.VIFHostDeviceDevType.ETHERNET)"},{"line_number":298,"context_line":"        if vif[\"network\"][\"bridge\"] is not None:"},{"line_number":299,"context_line":"            obj.network.bridge \u003d vif[\"network\"][\"bridge\"]"},{"line_number":300,"context_line":"    elif _is_firewall_required(vif) or vif.is_hybrid_plug_enabled():"},{"line_number":301,"context_line":"        obj \u003d _get_vif_instance("},{"line_number":302,"context_line":"            vif,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_f29026f0","line":299,"range":{"start_line":286,"start_character":4,"end_line":299,"end_character":57},"updated":"2018-06-06 14:31:52.000000000","message":"pattern copied from...","commit_id":"1815ca8a34a21ceaa819810e850cb51215b6dc8b"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"dc90106ec6bd10d600fe0a5d6d827d186d5389be","unresolved":false,"context_lines":[{"line_number":449,"context_line":"                vif_name\u003d_get_vif_name(vif)"},{"line_number":450,"context_line":"            )"},{"line_number":451,"context_line":"    elif vnic_type \u003d\u003d model.VNIC_TYPE_DIRECT:"},{"line_number":452,"context_line":"        profile \u003d objects.vif.VIFPortProfileGenericepresentor("},{"line_number":453,"context_line":"            representor_name\u003d_get_vif_name(vif),"},{"line_number":454,"context_line":"            representor_address\u003dvif[\"profile\"][\"pci_slot\"])"},{"line_number":455,"context_line":"        )"},{"line_number":456,"context_line":"        obj \u003d _get_vif_instance("},{"line_number":457,"context_line":"            vif,"},{"line_number":458,"context_line":"            objects.vif.VIFHostDevice,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_8cd2f7d0","line":455,"range":{"start_line":452,"start_character":1,"end_line":455,"end_character":9},"updated":"2018-06-06 13:10:13.000000000","message":"You don\u0027t need specific port profile for VIFHostDevice. Or did I missed something.","commit_id":"1815ca8a34a21ceaa819810e850cb51215b6dc8b"},{"author":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"change_message_id":"7a5dcc38496272dee0ec2f51f511d99c986ed109","unresolved":false,"context_lines":[{"line_number":449,"context_line":"                vif_name\u003d_get_vif_name(vif)"},{"line_number":450,"context_line":"            )"},{"line_number":451,"context_line":"    elif vnic_type \u003d\u003d model.VNIC_TYPE_DIRECT:"},{"line_number":452,"context_line":"        profile \u003d objects.vif.VIFPortProfileGenericepresentor("},{"line_number":453,"context_line":"            representor_name\u003d_get_vif_name(vif),"},{"line_number":454,"context_line":"            representor_address\u003dvif[\"profile\"][\"pci_slot\"])"},{"line_number":455,"context_line":"        )"},{"line_number":456,"context_line":"        obj \u003d _get_vif_instance("},{"line_number":457,"context_line":"            vif,"},{"line_number":458,"context_line":"            objects.vif.VIFHostDevice,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_12a5a247","line":455,"range":{"start_line":452,"start_character":1,"end_line":455,"end_character":9},"in_reply_to":"5f7c97a3_8cd2f7d0","updated":"2018-06-06 14:31:52.000000000","message":"Nope, this info is definitely redundant...","commit_id":"1815ca8a34a21ceaa819810e850cb51215b6dc8b"},{"author":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"change_message_id":"7a5dcc38496272dee0ec2f51f511d99c986ed109","unresolved":false,"context_lines":[{"line_number":462,"context_line":"            dev_type\u003dobjects.fields.VIFHostDeviceDevType.ETHERNET"},{"line_number":463,"context_line":"        )"},{"line_number":464,"context_line":"    elif vnic_type \u003d\u003d model.VNIC_TYPE_VIRTIO_FORWARDER:"},{"line_number":465,"context_line":"        profile \u003d objects.vif.VIFPortProfileGenericepresentor("},{"line_number":466,"context_line":"            representor_name\u003d_get_vif_name(vif),"},{"line_number":467,"context_line":"            representor_address\u003dvif[\"profile\"][\"pci_slot\"])"},{"line_number":468,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_926e92fe","line":465,"range":{"start_line":465,"start_character":30,"end_line":465,"end_character":61},"updated":"2018-06-06 14:31:52.000000000","message":"Depending on the spec, this might likely be different.","commit_id":"1815ca8a34a21ceaa819810e850cb51215b6dc8b"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"74000ddfe474d9010820570aca4db62df42b81be","unresolved":false,"context_lines":[{"line_number":345,"context_line":"            plugin\u003d\"agilio_ovs\","},{"line_number":346,"context_line":"            dev_address\u003dvif[\"profile\"][\"pci_slot\"],"},{"line_number":347,"context_line":"            dev_type\u003dobjects.fields.VIFHostDeviceDevType.ETHERNET)"},{"line_number":348,"context_line":"        if vif[\"network\"][\"bridge\"] is not None:"},{"line_number":349,"context_line":"            obj.network.bridge \u003d vif[\"network\"][\"bridge\"]"},{"line_number":350,"context_line":"    elif vnic_type \u003d\u003d model.VNIC_TYPE_VIRTIO_FORWARDER:"},{"line_number":351,"context_line":"        obj \u003d _get_vif_instance(vif, objects.vif.VIFVHostUser,"},{"line_number":352,"context_line":"                                port_profile\u003dprofile, plugin\u003d\"agilio_ovs\","}],"source_content_type":"text/x-python","patch_set":5,"id":"9fdfeff1_0ae1782a","line":349,"range":{"start_line":348,"start_character":8,"end_line":349,"end_character":57},"updated":"2019-01-30 14:29:16.000000000","message":"Does this also apply to vrouter direct?","commit_id":"e2b06c569fe9da12c8dda634f086f33cdc9b7bc6"},{"author":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"change_message_id":"8d7736d09a3a27b20fc4865dea4acfd2a3a00242","unresolved":false,"context_lines":[{"line_number":345,"context_line":"            plugin\u003d\"agilio_ovs\","},{"line_number":346,"context_line":"            dev_address\u003dvif[\"profile\"][\"pci_slot\"],"},{"line_number":347,"context_line":"            dev_type\u003dobjects.fields.VIFHostDeviceDevType.ETHERNET)"},{"line_number":348,"context_line":"        if vif[\"network\"][\"bridge\"] is not None:"},{"line_number":349,"context_line":"            obj.network.bridge \u003d vif[\"network\"][\"bridge\"]"},{"line_number":350,"context_line":"    elif vnic_type \u003d\u003d model.VNIC_TYPE_VIRTIO_FORWARDER:"},{"line_number":351,"context_line":"        obj \u003d _get_vif_instance(vif, objects.vif.VIFVHostUser,"},{"line_number":352,"context_line":"                                port_profile\u003dprofile, plugin\u003d\"agilio_ovs\","}],"source_content_type":"text/x-python","patch_set":5,"id":"9fdfeff1_2aa47ca5","line":349,"range":{"start_line":348,"start_character":8,"end_line":349,"end_character":57},"in_reply_to":"9fdfeff1_0ae1782a","updated":"2019-01-30 15:20:33.000000000","message":"vrouter is a bit weird regarding \"bridges\", there\u0027s only one vrouter in the system ever, so there\u0027s no bridge name to pass.","commit_id":"e2b06c569fe9da12c8dda634f086f33cdc9b7bc6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"74000ddfe474d9010820570aca4db62df42b81be","unresolved":false,"context_lines":[{"line_number":352,"context_line":"                                port_profile\u003dprofile, plugin\u003d\"agilio_ovs\","},{"line_number":353,"context_line":"                                vif_name\u003dvif_name)"},{"line_number":354,"context_line":"        _set_vhostuser_settings(vif, obj)"},{"line_number":355,"context_line":"        if vif[\"network\"][\"bridge\"] is not None:"},{"line_number":356,"context_line":"            obj.network.bridge \u003d vif[\"network\"][\"bridge\"]"},{"line_number":357,"context_line":"    else:"},{"line_number":358,"context_line":"        LOG.debug(\"agilio_ovs falling through to ovs %s\", vif)"},{"line_number":359,"context_line":"        obj \u003d _nova_to_osvif_vif_ovs(vif)"}],"source_content_type":"text/x-python","patch_set":5,"id":"9fdfeff1_2ac79c98","line":356,"range":{"start_line":355,"start_character":8,"end_line":356,"end_character":57},"updated":"2019-01-30 14:29:16.000000000","message":"same","commit_id":"e2b06c569fe9da12c8dda634f086f33cdc9b7bc6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"74000ddfe474d9010820570aca4db62df42b81be","unresolved":false,"context_lines":[{"line_number":436,"context_line":"            plugin\u003d\"vrouter\","},{"line_number":437,"context_line":"            vif_name\u003d_get_vif_name(vif)"},{"line_number":438,"context_line":"        )"},{"line_number":439,"context_line":"    elif vnic_type \u003d\u003d model.VNIC_TYPE_DIRECT:"},{"line_number":440,"context_line":"        datapath_offload \u003d objects.vif.DatapathOffloadRepresentor("},{"line_number":441,"context_line":"            representor_name\u003d_get_vif_name(vif),"},{"line_number":442,"context_line":"            representor_address\u003dvif[\"profile\"][\"pci_slot\"]"}],"source_content_type":"text/x-python","patch_set":5,"id":"9fdfeff1_aa386c9f","line":439,"updated":"2019-01-30 14:29:16.000000000","message":"As far as I can tell, this and the virtio-forwarder case below are nearly identical with the same vnic type handling in _nova_to_osvif_vif_agilio_ovs except bridge isn\u0027t used and the plugin name is different.\n\nYou could split this out into a private helper method and re-use it for both cases and pass in the plugin name and I guess a flag to determine if bridge should be set.\n\nIf we plan on dropping the _nova_to_osvif_vif_agilio_ovs code in the near future, then ignore my comment about DRYing this up.","commit_id":"e2b06c569fe9da12c8dda634f086f33cdc9b7bc6"},{"author":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"change_message_id":"a4ccac7318a758d7a33d0ddfb157edce6d014678","unresolved":false,"context_lines":[{"line_number":436,"context_line":"            plugin\u003d\"vrouter\","},{"line_number":437,"context_line":"            vif_name\u003d_get_vif_name(vif)"},{"line_number":438,"context_line":"        )"},{"line_number":439,"context_line":"    elif vnic_type \u003d\u003d model.VNIC_TYPE_DIRECT:"},{"line_number":440,"context_line":"        datapath_offload \u003d objects.vif.DatapathOffloadRepresentor("},{"line_number":441,"context_line":"            representor_name\u003d_get_vif_name(vif),"},{"line_number":442,"context_line":"            representor_address\u003dvif[\"profile\"][\"pci_slot\"]"}],"source_content_type":"text/x-python","patch_set":5,"id":"9fdfeff1_4c4229ad","line":439,"in_reply_to":"9fdfeff1_25fb4f79","updated":"2019-01-31 12:40:18.000000000","message":"Followed up on in: https://review.openstack.org/#/c/634219","commit_id":"e2b06c569fe9da12c8dda634f086f33cdc9b7bc6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2b6ad969610fbbe6d6526a840e5903ae9c993d84","unresolved":false,"context_lines":[{"line_number":436,"context_line":"            plugin\u003d\"vrouter\","},{"line_number":437,"context_line":"            vif_name\u003d_get_vif_name(vif)"},{"line_number":438,"context_line":"        )"},{"line_number":439,"context_line":"    elif vnic_type \u003d\u003d model.VNIC_TYPE_DIRECT:"},{"line_number":440,"context_line":"        datapath_offload \u003d objects.vif.DatapathOffloadRepresentor("},{"line_number":441,"context_line":"            representor_name\u003d_get_vif_name(vif),"},{"line_number":442,"context_line":"            representor_address\u003dvif[\"profile\"][\"pci_slot\"]"}],"source_content_type":"text/x-python","patch_set":5,"id":"9fdfeff1_25fb4f79","line":439,"in_reply_to":"9fdfeff1_4a7540ca","updated":"2019-01-30 15:23:17.000000000","message":"It\u0027s fine to do a follow up. If you respin you could leave a TODO.","commit_id":"e2b06c569fe9da12c8dda634f086f33cdc9b7bc6"},{"author":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"change_message_id":"8d7736d09a3a27b20fc4865dea4acfd2a3a00242","unresolved":false,"context_lines":[{"line_number":436,"context_line":"            plugin\u003d\"vrouter\","},{"line_number":437,"context_line":"            vif_name\u003d_get_vif_name(vif)"},{"line_number":438,"context_line":"        )"},{"line_number":439,"context_line":"    elif vnic_type \u003d\u003d model.VNIC_TYPE_DIRECT:"},{"line_number":440,"context_line":"        datapath_offload \u003d objects.vif.DatapathOffloadRepresentor("},{"line_number":441,"context_line":"            representor_name\u003d_get_vif_name(vif),"},{"line_number":442,"context_line":"            representor_address\u003dvif[\"profile\"][\"pci_slot\"]"}],"source_content_type":"text/x-python","patch_set":5,"id":"9fdfeff1_4a7540ca","line":439,"in_reply_to":"9fdfeff1_aa386c9f","updated":"2019-01-30 15:20:33.000000000","message":"My super-secret plan is to move virtio-forwarder over to the standard OVS path and then this VIF becomes redundant, but for now this is still useful to us internally, at least.\n\nIf you want I can respin or treat this with a follow-on.","commit_id":"e2b06c569fe9da12c8dda634f086f33cdc9b7bc6"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"e338334cf1b6d464373ef9441f33db71f00e500b","unresolved":false,"context_lines":[{"line_number":467,"context_line":"            plugin\u003d\"vrouter\","},{"line_number":468,"context_line":"            vif_name\u003d_get_vif_name(vif)"},{"line_number":469,"context_line":"        )"},{"line_number":470,"context_line":"        _set_vhostuser_settings(vif, obj)"},{"line_number":471,"context_line":"    else:"},{"line_number":472,"context_line":"        raise NotImplementedError()"},{"line_number":473,"context_line":"    return obj"}],"source_content_type":"text/x-python","patch_set":7,"id":"9fdfeff1_927ebaad","line":470,"updated":"2019-02-04 13:49:07.000000000","message":"a comment would be nice, but okay.","commit_id":"4d32b45c152c4dedcb9d01380f557338c3acb81e"}],"releasenotes/notes/vrouter-hw-offloads-38257f49ac1d3a60.yaml":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"74000ddfe474d9010820570aca4db62df42b81be","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    This release adds support for ``direct`` and ``virtio-forwarder`` VNIC"},{"line_number":5,"context_line":"    types to the ``vrouter`` VIF. In order to use these VNIC types, support is"},{"line_number":6,"context_line":"    required from the version of OpenContrail, Contrail or Tungsten Fabric that"},{"line_number":7,"context_line":"    is installed, as well the required hardware. At this time, the reference"},{"line_number":8,"context_line":"    os-vif plugin is hosted on OpenContrail at"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"9fdfeff1_4af780d4","line":5,"range":{"start_line":5,"start_character":29,"end_line":5,"end_character":32},"updated":"2019-01-30 14:29:16.000000000","message":"nit: VIF type","commit_id":"e2b06c569fe9da12c8dda634f086f33cdc9b7bc6"},{"author":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"change_message_id":"a4ccac7318a758d7a33d0ddfb157edce6d014678","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    This release adds support for ``direct`` and ``virtio-forwarder`` VNIC"},{"line_number":5,"context_line":"    types to the ``vrouter`` VIF. In order to use these VNIC types, support is"},{"line_number":6,"context_line":"    required from the version of OpenContrail, Contrail or Tungsten Fabric that"},{"line_number":7,"context_line":"    is installed, as well the required hardware. At this time, the reference"},{"line_number":8,"context_line":"    os-vif plugin is hosted on OpenContrail at"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"9fdfeff1_cc361952","line":5,"range":{"start_line":5,"start_character":29,"end_line":5,"end_character":32},"in_reply_to":"9fdfeff1_4af780d4","updated":"2019-01-31 12:40:18.000000000","message":"Done","commit_id":"e2b06c569fe9da12c8dda634f086f33cdc9b7bc6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"74000ddfe474d9010820570aca4db62df42b81be","unresolved":false,"context_lines":[{"line_number":8,"context_line":"    os-vif plugin is hosted on OpenContrail at"},{"line_number":9,"context_line":"    https://github.com/Juniper/contrail-nova-vif-driver but is expected to"},{"line_number":10,"context_line":"    transition to Tungsten Fabric in the future. Version 5.1 or later of the"},{"line_number":11,"context_line":"    plugin is required to use these new VNIC types. Consult the plugin"},{"line_number":12,"context_line":"    documentation for further details about hardware support."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"9fdfeff1_2ae8fcdf","line":12,"range":{"start_line":11,"start_character":52,"end_line":12,"end_character":61},"updated":"2019-01-30 14:29:16.000000000","message":"What documentation? :)\n\nhttps://github.com/Juniper/contrail-nova-vif-driver/blob/r5.1.alpha0/README.md\n\nAre there supposed to be docs in that repo? Or at least link to some other external docs?","commit_id":"e2b06c569fe9da12c8dda634f086f33cdc9b7bc6"},{"author":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"change_message_id":"8d7736d09a3a27b20fc4865dea4acfd2a3a00242","unresolved":false,"context_lines":[{"line_number":8,"context_line":"    os-vif plugin is hosted on OpenContrail at"},{"line_number":9,"context_line":"    https://github.com/Juniper/contrail-nova-vif-driver but is expected to"},{"line_number":10,"context_line":"    transition to Tungsten Fabric in the future. Version 5.1 or later of the"},{"line_number":11,"context_line":"    plugin is required to use these new VNIC types. Consult the plugin"},{"line_number":12,"context_line":"    documentation for further details about hardware support."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"9fdfeff1_4520d348","line":12,"range":{"start_line":11,"start_character":52,"end_line":12,"end_character":61},"in_reply_to":"9fdfeff1_2ae8fcdf","updated":"2019-01-30 15:20:33.000000000","message":"I can refactor this to point at Tungsten Fabric\u0027s website, But unfortunately, documentation tends to happen \"downstream\" as in\nhttps://www.juniper.net/documentation/en_US/contrail4.1/information-products/topic-collections/release-notes/index.html\n\nThe Tungsten Fabric project has not yet issued an official release (except for the nightly containers).\n\nHow about:\n\nConsult the `Tungsten Fabric documentation \u003chttps://tungstenfabric.github.io/website/\u003e` for release notes, when available, about hardware support. For commercial support, consult the release notes from a downstream vendor.","commit_id":"e2b06c569fe9da12c8dda634f086f33cdc9b7bc6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"2b6ad969610fbbe6d6526a840e5903ae9c993d84","unresolved":false,"context_lines":[{"line_number":8,"context_line":"    os-vif plugin is hosted on OpenContrail at"},{"line_number":9,"context_line":"    https://github.com/Juniper/contrail-nova-vif-driver but is expected to"},{"line_number":10,"context_line":"    transition to Tungsten Fabric in the future. Version 5.1 or later of the"},{"line_number":11,"context_line":"    plugin is required to use these new VNIC types. Consult the plugin"},{"line_number":12,"context_line":"    documentation for further details about hardware support."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"9fdfeff1_a52c1f02","line":12,"range":{"start_line":11,"start_character":52,"end_line":12,"end_character":61},"in_reply_to":"9fdfeff1_4520d348","updated":"2019-01-30 15:23:17.000000000","message":"\u003e How about:\n\nYeah I like that better than saying \"look here for more details\" when there are none.","commit_id":"e2b06c569fe9da12c8dda634f086f33cdc9b7bc6"},{"author":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"change_message_id":"a4ccac7318a758d7a33d0ddfb157edce6d014678","unresolved":false,"context_lines":[{"line_number":8,"context_line":"    os-vif plugin is hosted on OpenContrail at"},{"line_number":9,"context_line":"    https://github.com/Juniper/contrail-nova-vif-driver but is expected to"},{"line_number":10,"context_line":"    transition to Tungsten Fabric in the future. Version 5.1 or later of the"},{"line_number":11,"context_line":"    plugin is required to use these new VNIC types. Consult the plugin"},{"line_number":12,"context_line":"    documentation for further details about hardware support."}],"source_content_type":"text/x-yaml","patch_set":5,"id":"9fdfeff1_6c412da9","line":12,"range":{"start_line":11,"start_character":52,"end_line":12,"end_character":61},"in_reply_to":"9fdfeff1_a52c1f02","updated":"2019-01-31 12:40:18.000000000","message":"Done","commit_id":"e2b06c569fe9da12c8dda634f086f33cdc9b7bc6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"32e9b6a11695a646207e4d6e5da643b31ace9281","unresolved":false,"context_lines":[{"line_number":8,"context_line":"    reference os-vif plugin is hosted on OpenContrail at"},{"line_number":9,"context_line":"    https://github.com/Juniper/contrail-nova-vif-driver but is expected to"},{"line_number":10,"context_line":"    transition to Tungsten Fabric in the future. Version 5.1 or later of the"},{"line_number":11,"context_line":"    plugin is required to use these new VNIC types. Consult the `Tungsten"},{"line_number":12,"context_line":"    Fabric documentation \u003chttps://tungstenfabric.github.io/website/\u003e` for"},{"line_number":13,"context_line":"    release notes, when available, about hardware support. For commercial"},{"line_number":14,"context_line":"    support, consult the release notes from a downstream vendor."}],"source_content_type":"text/x-yaml","patch_set":6,"id":"9fdfeff1_7215843f","line":12,"range":{"start_line":11,"start_character":64,"end_line":12,"end_character":69},"updated":"2019-01-31 13:55:15.000000000","message":"Missing a trailing _ here to make this a link.","commit_id":"3a69e80ca6f40ede4d6b81fda517ed68524222a2"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"e338334cf1b6d464373ef9441f33db71f00e500b","unresolved":false,"context_lines":[{"line_number":6,"context_line":"    support is required from the version of OpenContrail, Contrail or Tungsten"},{"line_number":7,"context_line":"    Fabric that is installed, as well the required hardware. At this time, the"},{"line_number":8,"context_line":"    reference os-vif plugin is hosted on OpenContrail at"},{"line_number":9,"context_line":"    https://github.com/Juniper/contrail-nova-vif-driver but is expected to"},{"line_number":10,"context_line":"    transition to Tungsten Fabric in the future. Version 5.1 or later of the"},{"line_number":11,"context_line":"    plugin is required to use these new VNIC types. Consult the `Tungsten"},{"line_number":12,"context_line":"    Fabric documentation \u003chttps://tungstenfabric.github.io/website/\u003e`_ for"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"9fdfeff1_32bb4e73","line":9,"range":{"start_line":9,"start_character":4,"end_line":9,"end_character":55},"updated":"2019-02-04 13:49:07.000000000","message":"I don\u0027t like to link a repository directly (rather a package link or at least a git tag) but meh.","commit_id":"4d32b45c152c4dedcb9d01380f557338c3acb81e"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"e338334cf1b6d464373ef9441f33db71f00e500b","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    Fabric that is installed, as well the required hardware. At this time, the"},{"line_number":8,"context_line":"    reference os-vif plugin is hosted on OpenContrail at"},{"line_number":9,"context_line":"    https://github.com/Juniper/contrail-nova-vif-driver but is expected to"},{"line_number":10,"context_line":"    transition to Tungsten Fabric in the future. Version 5.1 or later of the"},{"line_number":11,"context_line":"    plugin is required to use these new VNIC types. Consult the `Tungsten"},{"line_number":12,"context_line":"    Fabric documentation \u003chttps://tungstenfabric.github.io/website/\u003e`_ for"},{"line_number":13,"context_line":"    release notes, when available, about hardware support. For commercial"},{"line_number":14,"context_line":"    support, consult the release notes from a downstream vendor."}],"source_content_type":"text/x-yaml","patch_set":7,"id":"9fdfeff1_9290faef","line":11,"range":{"start_line":10,"start_character":49,"end_line":11,"end_character":51},"updated":"2019-02-04 13:49:07.000000000","message":"given those are new VNIC types, it\u0027s not an upgrade concern.","commit_id":"4d32b45c152c4dedcb9d01380f557338c3acb81e"}]}
