)]}'
{"specs/ocata/approved/sriov_pf_neutron_port_vlan.rst":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ac8408175affdb68572ae96dd91c0c9f0a510340","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Expose SR-IOV physical function\u0027s VLAN tag to guests"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/"},{"line_number":12,"context_line":"                                         sriov-pf-passthrough-neutron-port-vlan"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"The sriov-pf-passthrough-neutron-port[1] spec, that introduced network"},{"line_number":15,"context_line":"awareness for the passed-through Physical Functions, has been implemented in"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a98d1f4_e6086fdc","line":12,"range":{"start_line":11,"start_character":0,"end_line":12,"end_character":79},"updated":"2016-10-04 14:10:47.000000000","message":"This doesn\u0027t need to be and shouldn\u0027t be wrapped","commit_id":"a288b9766c1926af859f58b8ce74eee2c8f8d5f2"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"51d5a7c9529dbf25c4e66a594b25a56d6fb46c63","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Expose SR-IOV physical function\u0027s VLAN tag to guests"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/"},{"line_number":12,"context_line":"                                         sriov-pf-passthrough-neutron-port-vlan"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"The sriov-pf-passthrough-neutron-port[1] spec, that introduced network"},{"line_number":15,"context_line":"awareness for the passed-through Physical Functions, has been implemented in"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a95cdbc_0f2575aa","line":12,"range":{"start_line":11,"start_character":0,"end_line":12,"end_character":79},"in_reply_to":"3a98d1f4_e6086fdc","updated":"2016-10-04 16:28:23.000000000","message":"Done","commit_id":"a288b9766c1926af859f58b8ce74eee2c8f8d5f2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ac8408175affdb68572ae96dd91c0c9f0a510340","unresolved":false,"context_lines":[{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/"},{"line_number":12,"context_line":"                                         sriov-pf-passthrough-neutron-port-vlan"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"The sriov-pf-passthrough-neutron-port[1] spec, that introduced network"},{"line_number":15,"context_line":"awareness for the passed-through Physical Functions, has been implemented in"},{"line_number":16,"context_line":"the Newton Cycle. However, current implementation ignores VLAN tags set on the"},{"line_number":17,"context_line":"associated Neutron port."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a98d1f4_66e37f06","line":14,"range":{"start_line":14,"start_character":37,"end_line":14,"end_character":40},"updated":"2016-10-04 14:10:47.000000000","message":"This doesn\u0027t link correctly in the built output:\n\n    http://docs-draft.openstack.org/70/381370/1/check/gate-nova-specs-docs-ubuntu-xenial/001de1e//doc/build/html/specs/ocata/approved/sriov_pf_neutron_port_vlan.html\n\nLooks like it needs a little work.","commit_id":"a288b9766c1926af859f58b8ce74eee2c8f8d5f2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ac8408175affdb68572ae96dd91c0c9f0a510340","unresolved":false,"context_lines":[{"line_number":14,"context_line":"The sriov-pf-passthrough-neutron-port[1] spec, that introduced network"},{"line_number":15,"context_line":"awareness for the passed-through Physical Functions, has been implemented in"},{"line_number":16,"context_line":"the Newton Cycle. However, current implementation ignores VLAN tags set on the"},{"line_number":17,"context_line":"associated Neutron port."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a98d1f4_e68b0f1d","line":17,"range":{"start_line":17,"start_character":11,"end_line":17,"end_character":18},"updated":"2016-10-04 14:10:47.000000000","message":"nit: neutron\n\nSame for s/Nova/nova","commit_id":"a288b9766c1926af859f58b8ce74eee2c8f8d5f2"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"51d5a7c9529dbf25c4e66a594b25a56d6fb46c63","unresolved":false,"context_lines":[{"line_number":14,"context_line":"The sriov-pf-passthrough-neutron-port[1] spec, that introduced network"},{"line_number":15,"context_line":"awareness for the passed-through Physical Functions, has been implemented in"},{"line_number":16,"context_line":"the Newton Cycle. However, current implementation ignores VLAN tags set on the"},{"line_number":17,"context_line":"associated Neutron port."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a95cdbc_afb9e1ee","line":17,"range":{"start_line":17,"start_character":11,"end_line":17,"end_character":18},"in_reply_to":"3a98d1f4_e68b0f1d","updated":"2016-10-04 16:28:23.000000000","message":"Done","commit_id":"a288b9766c1926af859f58b8ce74eee2c8f8d5f2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ac8408175affdb68572ae96dd91c0c9f0a510340","unresolved":false,"context_lines":[{"line_number":20,"context_line":"Problem description"},{"line_number":21,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"The aim of the sriov-pf-passthrough-neutron-port[1] spec was to add network"},{"line_number":24,"context_line":"awareness to the assigned Physical Functions (PFs) for the users to use the"},{"line_number":25,"context_line":"feature in the same manner as they would use it with the Virtual Functions"},{"line_number":26,"context_line":"(VFs) However, with the current implementation VLAN tags setting is being"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a98d1f4_06aabb85","line":23,"range":{"start_line":23,"start_character":48,"end_line":23,"end_character":52},"updated":"2016-10-04 14:10:47.000000000","message":"ditto","commit_id":"a288b9766c1926af859f58b8ce74eee2c8f8d5f2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ac8408175affdb68572ae96dd91c0c9f0a510340","unresolved":false,"context_lines":[{"line_number":27,"context_line":"ignored."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Assignment of the SR-IOV Physical Function (PF) to a guest instance will"},{"line_number":30,"context_line":"unbind the PF device from it\u0027s driver. Any MAC or VLAN tag that is set"},{"line_number":31,"context_line":"in the PF device driver will be lost once the device is unbounded."},{"line_number":32,"context_line":"Currently, Nova updates Neutron with an actual MAC address of a selected PF,"},{"line_number":33,"context_line":"however, no solution is available for passing the VLAN tag."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a98d1f4_269df759","line":30,"range":{"start_line":30,"start_character":26,"end_line":30,"end_character":30},"updated":"2016-10-04 14:10:47.000000000","message":"nit: its","commit_id":"a288b9766c1926af859f58b8ce74eee2c8f8d5f2"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"51d5a7c9529dbf25c4e66a594b25a56d6fb46c63","unresolved":false,"context_lines":[{"line_number":27,"context_line":"ignored."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Assignment of the SR-IOV Physical Function (PF) to a guest instance will"},{"line_number":30,"context_line":"unbind the PF device from it\u0027s driver. Any MAC or VLAN tag that is set"},{"line_number":31,"context_line":"in the PF device driver will be lost once the device is unbounded."},{"line_number":32,"context_line":"Currently, Nova updates Neutron with an actual MAC address of a selected PF,"},{"line_number":33,"context_line":"however, no solution is available for passing the VLAN tag."}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a95cdbc_6fc8b975","line":30,"range":{"start_line":30,"start_character":26,"end_line":30,"end_character":30},"in_reply_to":"3a98d1f4_269df759","updated":"2016-10-04 16:28:23.000000000","message":"Done","commit_id":"a288b9766c1926af859f58b8ce74eee2c8f8d5f2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ac8408175affdb68572ae96dd91c0c9f0a510340","unresolved":false,"context_lines":[{"line_number":31,"context_line":"in the PF device driver will be lost once the device is unbounded."},{"line_number":32,"context_line":"Currently, Nova updates Neutron with an actual MAC address of a selected PF,"},{"line_number":33,"context_line":"however, no solution is available for passing the VLAN tag."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Use Cases"},{"line_number":37,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a98d1f4_26b417d0","line":34,"updated":"2016-10-04 14:10:47.000000000","message":"nit: remove excess whitespace (two lines between top-level headers only, iirc)","commit_id":"a288b9766c1926af859f58b8ce74eee2c8f8d5f2"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"51d5a7c9529dbf25c4e66a594b25a56d6fb46c63","unresolved":false,"context_lines":[{"line_number":31,"context_line":"in the PF device driver will be lost once the device is unbounded."},{"line_number":32,"context_line":"Currently, Nova updates Neutron with an actual MAC address of a selected PF,"},{"line_number":33,"context_line":"however, no solution is available for passing the VLAN tag."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Use Cases"},{"line_number":37,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a95cdbc_afdc8119","line":34,"in_reply_to":"3a98d1f4_26b417d0","updated":"2016-10-04 16:28:23.000000000","message":"Done","commit_id":"a288b9766c1926af859f58b8ce74eee2c8f8d5f2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ac8408175affdb68572ae96dd91c0c9f0a510340","unresolved":false,"context_lines":[{"line_number":36,"context_line":"Use Cases"},{"line_number":37,"context_line":"----------"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Workloads requiring to have full access to a physical function will"},{"line_number":40,"context_line":"also need to have the ability to manipulate the network settings, in the"},{"line_number":41,"context_line":"same manner and flexibility that is currently available for VFs,"},{"line_number":42,"context_line":"including the ability to set VLAN tags."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a98d1f4_e6e06fcf","line":39,"range":{"start_line":39,"start_character":20,"end_line":39,"end_character":28},"updated":"2016-10-04 14:10:47.000000000","message":"nit: drop \u0027to have \u0027 - it\u0027s not necessary","commit_id":"a288b9766c1926af859f58b8ce74eee2c8f8d5f2"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"51d5a7c9529dbf25c4e66a594b25a56d6fb46c63","unresolved":false,"context_lines":[{"line_number":36,"context_line":"Use Cases"},{"line_number":37,"context_line":"----------"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Workloads requiring to have full access to a physical function will"},{"line_number":40,"context_line":"also need to have the ability to manipulate the network settings, in the"},{"line_number":41,"context_line":"same manner and flexibility that is currently available for VFs,"},{"line_number":42,"context_line":"including the ability to set VLAN tags."}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a95cdbc_0fec95c6","line":39,"range":{"start_line":39,"start_character":20,"end_line":39,"end_character":28},"in_reply_to":"3a98d1f4_e6e06fcf","updated":"2016-10-04 16:28:23.000000000","message":"Done","commit_id":"a288b9766c1926af859f58b8ce74eee2c8f8d5f2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ac8408175affdb68572ae96dd91c0c9f0a510340","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Workloads requiring to have full access to a physical function will"},{"line_number":40,"context_line":"also need to have the ability to manipulate the network settings, in the"},{"line_number":41,"context_line":"same manner and flexibility that is currently available for VFs,"},{"line_number":42,"context_line":"including the ability to set VLAN tags."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Project Priority"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a98d1f4_a6d747ec","line":42,"range":{"start_line":41,"start_character":63,"end_line":42,"end_character":9},"updated":"2016-10-04 14:10:47.000000000","message":"...VFs. This includes the ability...","commit_id":"a288b9766c1926af859f58b8ce74eee2c8f8d5f2"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"51d5a7c9529dbf25c4e66a594b25a56d6fb46c63","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Workloads requiring to have full access to a physical function will"},{"line_number":40,"context_line":"also need to have the ability to manipulate the network settings, in the"},{"line_number":41,"context_line":"same manner and flexibility that is currently available for VFs,"},{"line_number":42,"context_line":"including the ability to set VLAN tags."},{"line_number":43,"context_line":""},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Project Priority"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a95cdbc_af11e1b1","line":42,"range":{"start_line":41,"start_character":63,"end_line":42,"end_character":9},"in_reply_to":"3a98d1f4_a6d747ec","updated":"2016-10-04 16:28:23.000000000","message":"Done","commit_id":"a288b9766c1926af859f58b8ce74eee2c8f8d5f2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ac8408175affdb68572ae96dd91c0c9f0a510340","unresolved":false,"context_lines":[{"line_number":54,"context_line":"functions, to the guest instance through the device tagging mechanism."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"The format of the devices metadata has been introduced in a"},{"line_number":57,"context_line":"virt-device-role-tagging spec [2]. As part of this proposal this format will"},{"line_number":58,"context_line":"be extended with a VLAN field."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"For example:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a98d1f4_a6ee67b2","line":57,"range":{"start_line":57,"start_character":30,"end_line":57,"end_character":33},"updated":"2016-10-04 14:10:47.000000000","message":"not parsed as a link","commit_id":"a288b9766c1926af859f58b8ce74eee2c8f8d5f2"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"830c5fd06dae50754f5f9b1f439d942f81e7b93c","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        \"address\": \"0000:00:02.0\","},{"line_number":68,"context_line":"        \"mac\": \"01:22:22:42:22:21\","},{"line_number":69,"context_line":"        \"tags\": [\"nfvfunc1\"]"},{"line_number":70,"context_line":"        \"vlan\": \"300\""},{"line_number":71,"context_line":"    }]"},{"line_number":72,"context_line":"}"},{"line_number":73,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a95cdbc_0f401556","line":70,"updated":"2016-10-04 15:05:17.000000000","message":"Should this really only be one vlan? I would have expected a list of vlans. Further, assuming this is old-school vlans, shouldn\u0027t this be integer(s)?","commit_id":"a288b9766c1926af859f58b8ce74eee2c8f8d5f2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ac8408175affdb68572ae96dd91c0c9f0a510340","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":"For example:"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"{"},{"line_number":63,"context_line":"  \"devices\": ["},{"line_number":64,"context_line":"    {"},{"line_number":65,"context_line":"        \"type\": \"nic\","},{"line_number":66,"context_line":"        \"bus\": \"pci\","},{"line_number":67,"context_line":"        \"address\": \"0000:00:02.0\","},{"line_number":68,"context_line":"        \"mac\": \"01:22:22:42:22:21\","},{"line_number":69,"context_line":"        \"tags\": [\"nfvfunc1\"]"},{"line_number":70,"context_line":"        \"vlan\": \"300\""},{"line_number":71,"context_line":"    }]"},{"line_number":72,"context_line":"}"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"This metadata is being provided via a config drive and a metadata service."},{"line_number":75,"context_line":"Guest OS will be able to consume this information about the devices and"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a98d1f4_c629b3f4","line":72,"range":{"start_line":62,"start_character":0,"end_line":72,"end_character":1},"updated":"2016-10-04 14:10:47.000000000","message":"This should be indented and prefixed with \u0027::\u0027 or \u0027.. code-block: json\u0027","commit_id":"a288b9766c1926af859f58b8ce74eee2c8f8d5f2"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"51d5a7c9529dbf25c4e66a594b25a56d6fb46c63","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":"For example:"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"{"},{"line_number":63,"context_line":"  \"devices\": ["},{"line_number":64,"context_line":"    {"},{"line_number":65,"context_line":"        \"type\": \"nic\","},{"line_number":66,"context_line":"        \"bus\": \"pci\","},{"line_number":67,"context_line":"        \"address\": \"0000:00:02.0\","},{"line_number":68,"context_line":"        \"mac\": \"01:22:22:42:22:21\","},{"line_number":69,"context_line":"        \"tags\": [\"nfvfunc1\"]"},{"line_number":70,"context_line":"        \"vlan\": \"300\""},{"line_number":71,"context_line":"    }]"},{"line_number":72,"context_line":"}"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"This metadata is being provided via a config drive and a metadata service."},{"line_number":75,"context_line":"Guest OS will be able to consume this information about the devices and"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a95cdbc_6a1d0766","line":72,"range":{"start_line":62,"start_character":0,"end_line":72,"end_character":1},"in_reply_to":"3a98d1f4_c629b3f4","updated":"2016-10-04 16:28:23.000000000","message":"Done","commit_id":"a288b9766c1926af859f58b8ce74eee2c8f8d5f2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ac8408175affdb68572ae96dd91c0c9f0a510340","unresolved":false,"context_lines":[{"line_number":75,"context_line":"Guest OS will be able to consume this information about the devices and"},{"line_number":76,"context_line":"configure the provided VLAN tags."},{"line_number":77,"context_line":"However, how the guest OS will do it is outside the scope of this spec."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":""},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"Alternatives"},{"line_number":82,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a98d1f4_663b7f39","line":79,"range":{"start_line":78,"start_character":0,"end_line":79,"end_character":0},"updated":"2016-10-04 14:10:47.000000000","message":"spaces. spaces everywhere :)","commit_id":"a288b9766c1926af859f58b8ce74eee2c8f8d5f2"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"51d5a7c9529dbf25c4e66a594b25a56d6fb46c63","unresolved":false,"context_lines":[{"line_number":75,"context_line":"Guest OS will be able to consume this information about the devices and"},{"line_number":76,"context_line":"configure the provided VLAN tags."},{"line_number":77,"context_line":"However, how the guest OS will do it is outside the scope of this spec."},{"line_number":78,"context_line":""},{"line_number":79,"context_line":""},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"Alternatives"},{"line_number":82,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a95cdbc_ea1f5759","line":79,"range":{"start_line":78,"start_character":0,"end_line":79,"end_character":0},"in_reply_to":"3a98d1f4_663b7f39","updated":"2016-10-04 16:28:23.000000000","message":":)","commit_id":"a288b9766c1926af859f58b8ce74eee2c8f8d5f2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ac8408175affdb68572ae96dd91c0c9f0a510340","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"Alternatives"},{"line_number":82,"context_line":"------------"},{"line_number":83,"context_line":"Currently, there is no alternative, as there is no other mechanism that"},{"line_number":84,"context_line":"is able to pass such information to the guest."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Data model impact"},{"line_number":87,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a98d1f4_261097a8","line":84,"range":{"start_line":83,"start_character":0,"end_line":84,"end_character":46},"updated":"2016-10-04 14:10:47.000000000","message":"Maybe just\n\n    None\n\n?","commit_id":"a288b9766c1926af859f58b8ce74eee2c8f8d5f2"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"51d5a7c9529dbf25c4e66a594b25a56d6fb46c63","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"Alternatives"},{"line_number":82,"context_line":"------------"},{"line_number":83,"context_line":"Currently, there is no alternative, as there is no other mechanism that"},{"line_number":84,"context_line":"is able to pass such information to the guest."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Data model impact"},{"line_number":87,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a95cdbc_a448235d","line":84,"range":{"start_line":83,"start_character":0,"end_line":84,"end_character":46},"in_reply_to":"3a98d1f4_261097a8","updated":"2016-10-04 16:28:23.000000000","message":"Done","commit_id":"a288b9766c1926af859f58b8ce74eee2c8f8d5f2"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"6b4489b68c3920f93840d328f33de6af6be70850","unresolved":false,"context_lines":[{"line_number":82,"context_line":"------------"},{"line_number":83,"context_line":"Currently, there is no alternative, as there is no other mechanism that"},{"line_number":84,"context_line":"is able to pass such information to the guest."},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Data model impact"},{"line_number":87,"context_line":"-----------------"},{"line_number":88,"context_line":"A new field \"vlan\" will be introduced to the VirtualInterface object and it\u0027s"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a95cdbc_8a4b33b0","line":85,"updated":"2016-10-04 15:22:34.000000000","message":"The alternative is to refuse to assign a PF to a guest if Neutron has a VLAN set for the network and raise an error if this is attempted. \n\nIIUC the setting of a VLAN is a way restrict traffic that a guest can send/receive. By delegating this setup to guest OS the compute node has no way to guarantee that the guest is behaving. Can Neutron provide any such guarantees ?  If not, then raising an error and refusing this is in fact my preferred approach as I don\u0027t think we should be enabling a feature that would be a designed-in security flaw.","commit_id":"a288b9766c1926af859f58b8ce74eee2c8f8d5f2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ac8408175affdb68572ae96dd91c0c9f0a510340","unresolved":false,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Data model impact"},{"line_number":87,"context_line":"-----------------"},{"line_number":88,"context_line":"A new field \"vlan\" will be introduced to the VirtualInterface object and it\u0027s"},{"line_number":89,"context_line":"associated table"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a98d1f4_a61ca7c2","line":88,"range":{"start_line":88,"start_character":73,"end_line":88,"end_character":77},"updated":"2016-10-04 14:10:47.000000000","message":"nit: its","commit_id":"a288b9766c1926af859f58b8ce74eee2c8f8d5f2"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"830c5fd06dae50754f5f9b1f439d942f81e7b93c","unresolved":false,"context_lines":[{"line_number":86,"context_line":"Data model impact"},{"line_number":87,"context_line":"-----------------"},{"line_number":88,"context_line":"A new field \"vlan\" will be introduced to the VirtualInterface object and it\u0027s"},{"line_number":89,"context_line":"associated table"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"REST API impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a95cdbc_2a3a1fce","line":89,"updated":"2016-10-04 15:05:17.000000000","message":"Can you describe (not here) the impact to the existing code required to find this value? Will the virt drivers all have to implement talking to neutron for this? Or is the information more readily at hand?","commit_id":"a288b9766c1926af859f58b8ce74eee2c8f8d5f2"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"6b4489b68c3920f93840d328f33de6af6be70850","unresolved":false,"context_lines":[{"line_number":96,"context_line":"Security impact"},{"line_number":97,"context_line":"---------------"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"None"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"Notifications impact"},{"line_number":102,"context_line":"--------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a95cdbc_75b9682e","line":99,"updated":"2016-10-04 15:22:34.000000000","message":"Please fill this out - having the guest set vlan based on \"honour\" clearly has potential security implications in face of a malicious guest.","commit_id":"a288b9766c1926af859f58b8ce74eee2c8f8d5f2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ac8408175affdb68572ae96dd91c0c9f0a510340","unresolved":false,"context_lines":[{"line_number":134,"context_line":"Work Items"},{"line_number":135,"context_line":"----------"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"* Define new \u0027vlan\u0027 attribute for VirtualInterface object and it\u0027s db table."},{"line_number":138,"context_line":"* Modify _update_ports_for_instance to include vlan in the created"},{"line_number":139,"context_line":"  VirtualInterface objects"},{"line_number":140,"context_line":"* Modify the InstanceMetadata object to include vlan attribute"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a98d1f4_c677f306","line":137,"range":{"start_line":137,"start_character":62,"end_line":137,"end_character":66},"updated":"2016-10-04 14:10:47.000000000","message":"its","commit_id":"a288b9766c1926af859f58b8ce74eee2c8f8d5f2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ac8408175affdb68572ae96dd91c0c9f0a510340","unresolved":false,"context_lines":[{"line_number":135,"context_line":"----------"},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"* Define new \u0027vlan\u0027 attribute for VirtualInterface object and it\u0027s db table."},{"line_number":138,"context_line":"* Modify _update_ports_for_instance to include vlan in the created"},{"line_number":139,"context_line":"  VirtualInterface objects"},{"line_number":140,"context_line":"* Modify the InstanceMetadata object to include vlan attribute"},{"line_number":141,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a98d1f4_0682bbc8","line":138,"range":{"start_line":138,"start_character":9,"end_line":138,"end_character":35},"updated":"2016-10-04 14:10:47.000000000","message":"format as ``code``","commit_id":"a288b9766c1926af859f58b8ce74eee2c8f8d5f2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ac8408175affdb68572ae96dd91c0c9f0a510340","unresolved":false,"context_lines":[{"line_number":147,"context_line":""},{"line_number":148,"context_line":"Testing"},{"line_number":149,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":150,"context_line":"New unit and functional tests will be written to cover the changes."},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"Documentation Impact"},{"line_number":153,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a98d1f4_e6ca2f1a","line":150,"range":{"start_line":150,"start_character":0,"end_line":150,"end_character":67},"updated":"2016-10-04 14:10:47.000000000","message":"What about third-party CIs? Can they test this?","commit_id":"a288b9766c1926af859f58b8ce74eee2c8f8d5f2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ac8408175affdb68572ae96dd91c0c9f0a510340","unresolved":false,"context_lines":[{"line_number":147,"context_line":""},{"line_number":148,"context_line":"Testing"},{"line_number":149,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":150,"context_line":"New unit and functional tests will be written to cover the changes."},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"Documentation Impact"},{"line_number":153,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a98d1f4_26d5f7b8","line":150,"updated":"2016-10-04 14:10:47.000000000","message":"nit: insert newline here","commit_id":"a288b9766c1926af859f58b8ce74eee2c8f8d5f2"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"51d5a7c9529dbf25c4e66a594b25a56d6fb46c63","unresolved":false,"context_lines":[{"line_number":147,"context_line":""},{"line_number":148,"context_line":"Testing"},{"line_number":149,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":150,"context_line":"New unit and functional tests will be written to cover the changes."},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"Documentation Impact"},{"line_number":153,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a95cdbc_2717b552","line":150,"range":{"start_line":150,"start_character":0,"end_line":150,"end_character":67},"in_reply_to":"3a98d1f4_e6ca2f1a","updated":"2016-10-04 16:28:23.000000000","message":"In theory, yes. I think Mellanox CI tests sriov with neutron, but I doubt it checks assignment of PFs in its scenarios. I think it\u0027s a prerequisite for checking this feature.","commit_id":"a288b9766c1926af859f58b8ce74eee2c8f8d5f2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ac8408175affdb68572ae96dd91c0c9f0a510340","unresolved":false,"context_lines":[{"line_number":152,"context_line":"Documentation Impact"},{"line_number":153,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"Documentation of a new functionality should be documented."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"References"},{"line_number":158,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a98d1f4_46da03eb","line":155,"range":{"start_line":155,"start_character":0,"end_line":155,"end_character":58},"updated":"2016-10-04 14:10:47.000000000","message":"Maybe reword this? :)","commit_id":"a288b9766c1926af859f58b8ce74eee2c8f8d5f2"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"51d5a7c9529dbf25c4e66a594b25a56d6fb46c63","unresolved":false,"context_lines":[{"line_number":152,"context_line":"Documentation Impact"},{"line_number":153,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"Documentation of a new functionality should be documented."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"References"},{"line_number":158,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a95cdbc_3aa348a0","line":155,"range":{"start_line":155,"start_character":0,"end_line":155,"end_character":58},"in_reply_to":"3a98d1f4_46da03eb","updated":"2016-10-04 16:28:23.000000000","message":":)","commit_id":"a288b9766c1926af859f58b8ce74eee2c8f8d5f2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ac8408175affdb68572ae96dd91c0c9f0a510340","unresolved":false,"context_lines":[{"line_number":156,"context_line":""},{"line_number":157,"context_line":"References"},{"line_number":158,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":159,"context_line":"[1] https://review.openstack.org/#/c/239875/"},{"line_number":160,"context_line":"[2] https://specs.openstack.org/openstack/nova-specs/specs/mitaka/approved/virt-device-role-tagging.html"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"History"},{"line_number":163,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a98d1f4_86fb2b47","line":160,"range":{"start_line":159,"start_character":0,"end_line":160,"end_character":104},"updated":"2016-10-04 14:10:47.000000000","message":"These should be included below like so, IIRC\n\n    .. _[1]: https://review...","commit_id":"a288b9766c1926af859f58b8ce74eee2c8f8d5f2"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"51d5a7c9529dbf25c4e66a594b25a56d6fb46c63","unresolved":false,"context_lines":[{"line_number":156,"context_line":""},{"line_number":157,"context_line":"References"},{"line_number":158,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":159,"context_line":"[1] https://review.openstack.org/#/c/239875/"},{"line_number":160,"context_line":"[2] https://specs.openstack.org/openstack/nova-specs/specs/mitaka/approved/virt-device-role-tagging.html"},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"History"},{"line_number":163,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a95cdbc_bae83818","line":160,"range":{"start_line":159,"start_character":0,"end_line":160,"end_character":104},"in_reply_to":"3a98d1f4_86fb2b47","updated":"2016-10-04 16:28:23.000000000","message":"Done","commit_id":"a288b9766c1926af859f58b8ce74eee2c8f8d5f2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ac8408175affdb68572ae96dd91c0c9f0a510340","unresolved":false,"context_lines":[{"line_number":162,"context_line":"History"},{"line_number":163,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"Optional section for Ocata intended to be used each time the spec"},{"line_number":166,"context_line":"is updated to describe new design, API or any database schema"},{"line_number":167,"context_line":"updated. Useful to let reader understand what\u0027s happened along the"},{"line_number":168,"context_line":"time."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":".. list-table:: Revisions"},{"line_number":171,"context_line":"      :header-rows: 1"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3a98d1f4_468843c7","line":168,"range":{"start_line":165,"start_character":0,"end_line":168,"end_character":5},"updated":"2016-10-04 14:10:47.000000000","message":"I think this text can be removed?","commit_id":"a288b9766c1926af859f58b8ce74eee2c8f8d5f2"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"51d5a7c9529dbf25c4e66a594b25a56d6fb46c63","unresolved":false,"context_lines":[{"line_number":162,"context_line":"History"},{"line_number":163,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":164,"context_line":""},{"line_number":165,"context_line":"Optional section for Ocata intended to be used each time the spec"},{"line_number":166,"context_line":"is updated to describe new design, API or any database schema"},{"line_number":167,"context_line":"updated. Useful to let reader understand what\u0027s happened along the"},{"line_number":168,"context_line":"time."},{"line_number":169,"context_line":""},{"line_number":170,"context_line":".. list-table:: Revisions"},{"line_number":171,"context_line":"      :header-rows: 1"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a95cdbc_daed0427","line":168,"range":{"start_line":165,"start_character":0,"end_line":168,"end_character":5},"in_reply_to":"3a98d1f4_468843c7","updated":"2016-10-04 16:28:23.000000000","message":"Done","commit_id":"a288b9766c1926af859f58b8ce74eee2c8f8d5f2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ac8408175affdb68572ae96dd91c0c9f0a510340","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"3a98d1f4_c69373ff","line":178,"updated":"2016-10-04 14:10:47.000000000","message":"whitespace","commit_id":"a288b9766c1926af859f58b8ce74eee2c8f8d5f2"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"51d5a7c9529dbf25c4e66a594b25a56d6fb46c63","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"1a95cdbc_dae184d2","line":178,"in_reply_to":"3a98d1f4_c69373ff","updated":"2016-10-04 16:28:23.000000000","message":"Done","commit_id":"a288b9766c1926af859f58b8ce74eee2c8f8d5f2"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"8009b7bbbc2e76ca39ba266efa66887c289ad4ac","unresolved":false,"context_lines":[{"line_number":29,"context_line":"unbind the PF device from its driver. Any MAC or VLAN tag that is set"},{"line_number":30,"context_line":"in the PF device driver will be lost once the device is unbound."},{"line_number":31,"context_line":"Currently, nova updates neutron with an actual MAC address of a selected PF,"},{"line_number":32,"context_line":"however, no solution is available for passing the VLAN tag."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Use Cases"},{"line_number":35,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a95cdbc_05bffafb","line":32,"range":{"start_line":32,"start_character":9,"end_line":32,"end_character":58},"updated":"2016-10-05 05:33:20.000000000","message":"can you refer to this existing bug \nhttps://bugs.launchpad.net/nova/+bug/1614092","commit_id":"2b055c23f7efeafabe98ed30ac41f359039c3cda"},{"author":{"_account_id":17973,"name":"Ludovic Beliveau","email":"lbeliveau@gmail.com","username":"lbeliveau"},"change_message_id":"d91f8293a6dcd43dad1ba73b11ff1bd51cda59e4","unresolved":false,"context_lines":[{"line_number":66,"context_line":"          \"address\": \"0000:00:02.0\","},{"line_number":67,"context_line":"          \"mac\": \"01:22:22:42:22:21\","},{"line_number":68,"context_line":"          \"tags\": [\"nfvfunc1\"]"},{"line_number":69,"context_line":"          \"vlan\": \"300\""},{"line_number":70,"context_line":"      }]"},{"line_number":71,"context_line":"  }"},{"line_number":72,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a95cdbc_9c036fb8","line":69,"updated":"2016-10-04 20:23:15.000000000","message":"I agree with Dan.  This should be a lsit of VLANs.  A PF can be used in a VM to provide NFV packet processing, which could potentially means getting/sending packets from/to multiple VLANs.","commit_id":"2b055c23f7efeafabe98ed30ac41f359039c3cda"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"6f5fae50fd0e5451c6e676ec5c77f4d969f1105c","unresolved":false,"context_lines":[{"line_number":66,"context_line":"          \"address\": \"0000:00:02.0\","},{"line_number":67,"context_line":"          \"mac\": \"01:22:22:42:22:21\","},{"line_number":68,"context_line":"          \"tags\": [\"nfvfunc1\"]"},{"line_number":69,"context_line":"          \"vlan\": \"300\""},{"line_number":70,"context_line":"      }]"},{"line_number":71,"context_line":"  }"},{"line_number":72,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a95cdbc_25006434","line":69,"range":{"start_line":69,"start_character":19,"end_line":69,"end_character":22},"updated":"2016-10-05 15:42:53.000000000","message":"I\u0027ve accidentally overridden Dan Smith\u0027s comment:\n\nShould this really only be one vlan? I would have expected a list of vlans. Further, assuming this is old-school vlans, shouldn\u0027t this be integer(s)?","commit_id":"2b055c23f7efeafabe98ed30ac41f359039c3cda"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"6f5fae50fd0e5451c6e676ec5c77f4d969f1105c","unresolved":false,"context_lines":[{"line_number":66,"context_line":"          \"address\": \"0000:00:02.0\","},{"line_number":67,"context_line":"          \"mac\": \"01:22:22:42:22:21\","},{"line_number":68,"context_line":"          \"tags\": [\"nfvfunc1\"]"},{"line_number":69,"context_line":"          \"vlan\": \"300\""},{"line_number":70,"context_line":"      }]"},{"line_number":71,"context_line":"  }"},{"line_number":72,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a95cdbc_5a7f06aa","line":69,"range":{"start_line":69,"start_character":19,"end_line":69,"end_character":22},"updated":"2016-10-05 15:42:53.000000000","message":"Ok, I can easily change this value to a list.\nHowever, this will be more of a preparation for the future.\n\nCurrently, we are getting the VLAN value as is from the binding:vif_details, which is a string with a single vlan id.\n\nNeutron side: https://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/drivers/mech_sriov/mech_driver/mech_driver.py#L213\n\nNova side:\nhttps://github.com/openstack/nova/blob/master/nova/network/neutronv2/api.py#L2214\nand the usage:\nhttps://github.com/openstack/nova/blob/master/nova/virt/libvirt/vif.py#L317","commit_id":"2b055c23f7efeafabe98ed30ac41f359039c3cda"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"b6f3e23d17dc98ab7b3b8f0ef0ab7c9917c32855","unresolved":false,"context_lines":[{"line_number":66,"context_line":"          \"address\": \"0000:00:02.0\","},{"line_number":67,"context_line":"          \"mac\": \"01:22:22:42:22:21\","},{"line_number":68,"context_line":"          \"tags\": [\"nfvfunc1\"]"},{"line_number":69,"context_line":"          \"vlan\": \"300\""},{"line_number":70,"context_line":"      }]"},{"line_number":71,"context_line":"  }"},{"line_number":72,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a95cdbc_fcffe0fe","line":69,"range":{"start_line":69,"start_character":19,"end_line":69,"end_character":22},"in_reply_to":"1a95cdbc_535fec40","updated":"2016-10-05 17:47:38.000000000","message":"Ah, sorry I wasn\u0027t clear enough..\nvlan_id on the neutron side is an integer, either 0 for flat or a segmentation_id - converted to a string for whatever reason.. \n\nI just wanted to point out that it\u0027s not a list on the neutron side.","commit_id":"2b055c23f7efeafabe98ed30ac41f359039c3cda"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"ed4b70996f2f455007472a3fe577f37b3954d88b","unresolved":false,"context_lines":[{"line_number":66,"context_line":"          \"address\": \"0000:00:02.0\","},{"line_number":67,"context_line":"          \"mac\": \"01:22:22:42:22:21\","},{"line_number":68,"context_line":"          \"tags\": [\"nfvfunc1\"]"},{"line_number":69,"context_line":"          \"vlan\": \"300\""},{"line_number":70,"context_line":"      }]"},{"line_number":71,"context_line":"  }"},{"line_number":72,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a95cdbc_535fec40","line":69,"range":{"start_line":69,"start_character":19,"end_line":69,"end_character":22},"in_reply_to":"1a95cdbc_5a7f06aa","updated":"2016-10-05 15:56:40.000000000","message":"Even old-school switch ports can allow multiple vlan tags on a port, so I think this needs to be a list.\n\nSo, it\u0027s a string in the binding details, but .. is that appropriate? Just because it\u0027s a string there, doesn\u0027t mean we should replicate that here, IMHO. Can you do some digging to find out if it\u0027s really a string or an integer? If it\u0027s not an integer, I\u0027d like to see some details on what the format/meaning is.","commit_id":"2b055c23f7efeafabe98ed30ac41f359039c3cda"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"de4292317f7eb915c3a0c4c3c85e0ca1f40d3981","unresolved":false,"context_lines":[{"line_number":66,"context_line":"          \"address\": \"0000:00:02.0\","},{"line_number":67,"context_line":"          \"mac\": \"01:22:22:42:22:21\","},{"line_number":68,"context_line":"          \"tags\": [\"nfvfunc1\"]"},{"line_number":69,"context_line":"          \"vlan\": \"300\""},{"line_number":70,"context_line":"      }]"},{"line_number":71,"context_line":"  }"},{"line_number":72,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa6399be_f9f98cc9","line":69,"range":{"start_line":69,"start_character":19,"end_line":69,"end_character":22},"in_reply_to":"1a95cdbc_fcffe0fe","updated":"2016-10-19 16:00:00.000000000","message":"It can be several vlans now for a trunk port with sub-ports, so having a list makes sense too. (and please note trunk ports are designed to work with NFVs)","commit_id":"2b055c23f7efeafabe98ed30ac41f359039c3cda"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"6f5fae50fd0e5451c6e676ec5c77f4d969f1105c","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Alternatives"},{"line_number":79,"context_line":"------------"},{"line_number":80,"context_line":"None"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"Data model impact"},{"line_number":83,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a95cdbc_dd46b022","line":80,"range":{"start_line":80,"start_character":0,"end_line":80,"end_character":4},"updated":"2016-10-05 15:42:53.000000000","message":"I\u0027ve accidentally overridden Daniel Berrange\u0027s comment:\n\nThe alternative is to refuse to assign a PF to a guest if Neutron has a VLAN set for the network and raise an error if this is attempted. \nIIUC the setting of a VLAN is a way restrict traffic that a guest can send/receive. By delegating this setup to guest OS the compute node has no way to guarantee that the guest is behaving. Can Neutron provide any such guarantees ?  If not, then raising an error and refusing this is in fact my preferred approach as I don\u0027t think we should be enabling a feature that would be a designed-in security flaw.","commit_id":"2b055c23f7efeafabe98ed30ac41f359039c3cda"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"8009b7bbbc2e76ca39ba266efa66887c289ad4ac","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Alternatives"},{"line_number":79,"context_line":"------------"},{"line_number":80,"context_line":"None"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"Data model impact"},{"line_number":83,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a95cdbc_459bc2c9","line":80,"range":{"start_line":80,"start_character":0,"end_line":80,"end_character":4},"updated":"2016-10-05 05:33:20.000000000","message":"alternative can be to create image with preexisting vlan interface.","commit_id":"2b055c23f7efeafabe98ed30ac41f359039c3cda"},{"author":{"_account_id":6681,"name":"Brent Eagles","email":"beagles@redhat.com","username":"beagles"},"change_message_id":"ddc4855e3dd93b8aa6be0c39eb5e8bc6a3e95674","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Alternatives"},{"line_number":79,"context_line":"------------"},{"line_number":80,"context_line":"None"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"Data model impact"},{"line_number":83,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa6399be_e8ce1882","line":80,"range":{"start_line":80,"start_character":0,"end_line":80,"end_character":4},"in_reply_to":"1a95cdbc_459bc2c9","updated":"2016-10-19 15:27:40.000000000","message":"Good point. This is probably worth mentioning.","commit_id":"2b055c23f7efeafabe98ed30ac41f359039c3cda"},{"author":{"_account_id":6681,"name":"Brent Eagles","email":"beagles@redhat.com","username":"beagles"},"change_message_id":"ddc4855e3dd93b8aa6be0c39eb5e8bc6a3e95674","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Alternatives"},{"line_number":79,"context_line":"------------"},{"line_number":80,"context_line":"None"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"Data model impact"},{"line_number":83,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa6399be_7b7c94eb","line":80,"range":{"start_line":80,"start_character":0,"end_line":80,"end_character":4},"in_reply_to":"1a95cdbc_dd46b022","updated":"2016-10-19 15:27:40.000000000","message":"With respect to Dan Berrange\u0027s comment, without support for configuring the upstream switch there really isn\u0027t a way to restrict the traffic. His concern is valid and the onus is really on the admin/deployer to configure the system in a secure manner. That is, the physical network mapped to the PCI device in the PCI whitelist configuration should only have access to traffic intended for a specific use/tenant. I think this security issue already exists in contrived (or maybe not so contrived) scenarios, with or without support conveying VLAN ID information to the guest and may warrant further investigation. We may need to reconsider how we map PCI devices to networks, possibly requiring that the network label for the root PF PCI configuration must match the network label for the associated VFs if they exist.","commit_id":"2b055c23f7efeafabe98ed30ac41f359039c3cda"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"13f819823df047fe96e6e70cea603a4fb7fa560a","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Alternatives"},{"line_number":79,"context_line":"------------"},{"line_number":80,"context_line":"None"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"Data model impact"},{"line_number":83,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"ba5da102_2a3fdd87","line":80,"range":{"start_line":80,"start_character":0,"end_line":80,"end_character":4},"in_reply_to":"fa6399be_59eef8b4","updated":"2016-11-02 15:23:00.000000000","message":"Daniel Berrange wrote:\n\u003e IIUC the setting of a VLAN is a way restrict traffic that a\n\u003e guest can send/receive\n\nIn practice this is what happens, but VLANs as a concept aren\u0027t for security, they\u0027re a management tool for decoupling the logical partitioning of a network into broadcast domains from the physical wiring of machines to switches.\n\nI very much like Miguel\u0027s idea of offering this informational mechanism in Nova - because that\u0027s all that this is, a way for Nova to inform the guest of the VLAN that *should* be configured on the PF - while *strongly* explaining to the operator what else needs to happen for this to work properly.\n\nI\u0027m not sure what form that strong explanation should take. To make sure it\u0027s seen it should happen as a warning in the API when a VLAN is set on a port, but that\u0027s of course ludicrous, so maybe we\u0027ll just settle for a release note :)","commit_id":"2b055c23f7efeafabe98ed30ac41f359039c3cda"},{"author":{"_account_id":8788,"name":"Miguel Angel Ajo","email":"mangelajo@redhat.com","username":"mangelajo"},"change_message_id":"de4292317f7eb915c3a0c4c3c85e0ca1f40d3981","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Alternatives"},{"line_number":79,"context_line":"------------"},{"line_number":80,"context_line":"None"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"Data model impact"},{"line_number":83,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"fa6399be_59eef8b4","line":80,"range":{"start_line":80,"start_character":0,"end_line":80,"end_character":4},"in_reply_to":"fa6399be_e8ce1882","updated":"2016-10-19 16:00:00.000000000","message":"I think the alternative is not good, and would leave many use cases uncovered.\n\nThis would be used on very specific scenarios (NFV \u0026 Telecoms) where they need the high throughput and flexibility of this case.\n\nI tend to think that we should allow PFs on vlan tagged (or multiple-vlan tagged trunk ports), while we should document that extra integration steps may be necessary to configure the ToR switches. Some operators have those in the form of extra mechanism drivers that have PCI addresses to switch port maps, and talk openflow to the switches.\n\nMay be in the future it\u0027s worth to look at that kind of integration from neutron, or even providing a reference mechanism driver for such task.","commit_id":"2b055c23f7efeafabe98ed30ac41f359039c3cda"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"6f5fae50fd0e5451c6e676ec5c77f4d969f1105c","unresolved":false,"context_lines":[{"line_number":82,"context_line":"Data model impact"},{"line_number":83,"context_line":"-----------------"},{"line_number":84,"context_line":"A new field \"vlan\" will be introduced to the VirtualInterface object and its"},{"line_number":85,"context_line":"associated table"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"REST API impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a95cdbc_df5ea044","line":85,"range":{"start_line":85,"start_character":11,"end_line":85,"end_character":16},"updated":"2016-10-05 15:42:53.000000000","message":"By \"No here\", did you mean not in the comment, but in the spec? Or did you mean, not in this section?\n\nTo the point, depending on your answer I\u0027ll elaborate more.\nBut, in short, as mentioned on line 69, vlan details are available in the network info, which is being generated in allocate_for_instance together with the creation of the virtual interfaces. My plan was to update the virtual interfaces somewhere in that method.\n\nThis should not be dependant on the driver, I think.","commit_id":"2b055c23f7efeafabe98ed30ac41f359039c3cda"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"6f5fae50fd0e5451c6e676ec5c77f4d969f1105c","unresolved":false,"context_lines":[{"line_number":82,"context_line":"Data model impact"},{"line_number":83,"context_line":"-----------------"},{"line_number":84,"context_line":"A new field \"vlan\" will be introduced to the VirtualInterface object and its"},{"line_number":85,"context_line":"associated table"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"REST API impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a95cdbc_7d059cc0","line":85,"updated":"2016-10-05 15:42:53.000000000","message":"Dan Smith\u0027s comment:\n\nCan you describe (not here) the impact to the existing code required to find this value? Will the virt drivers all have to implement talking to neutron for this? Or is the information more readily at hand?","commit_id":"2b055c23f7efeafabe98ed30ac41f359039c3cda"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"b6f3e23d17dc98ab7b3b8f0ef0ab7c9917c32855","unresolved":false,"context_lines":[{"line_number":82,"context_line":"Data model impact"},{"line_number":83,"context_line":"-----------------"},{"line_number":84,"context_line":"A new field \"vlan\" will be introduced to the VirtualInterface object and its"},{"line_number":85,"context_line":"associated table"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"REST API impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a95cdbc_bc1e3861","line":85,"range":{"start_line":85,"start_character":11,"end_line":85,"end_character":16},"in_reply_to":"1a95cdbc_13e9e480","updated":"2016-10-05 17:47:38.000000000","message":":)","commit_id":"2b055c23f7efeafabe98ed30ac41f359039c3cda"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"ed4b70996f2f455007472a3fe577f37b3954d88b","unresolved":false,"context_lines":[{"line_number":82,"context_line":"Data model impact"},{"line_number":83,"context_line":"-----------------"},{"line_number":84,"context_line":"A new field \"vlan\" will be introduced to the VirtualInterface object and its"},{"line_number":85,"context_line":"associated table"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"REST API impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a95cdbc_13e9e480","line":85,"range":{"start_line":85,"start_character":11,"end_line":85,"end_character":16},"in_reply_to":"1a95cdbc_df5ea044","updated":"2016-10-05 15:56:40.000000000","message":"TBH, I don\u0027t know what I meant by \"(not here)\" :)\n\nOkay, so this should be fill-able from compute manager in a generic way, that\u0027s good.","commit_id":"2b055c23f7efeafabe98ed30ac41f359039c3cda"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"8009b7bbbc2e76ca39ba266efa66887c289ad4ac","unresolved":false,"context_lines":[{"line_number":99,"context_line":""},{"line_number":100,"context_line":"None"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"Other end user impact"},{"line_number":103,"context_line":"---------------------"},{"line_number":104,"context_line":"None"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Performance Impact"},{"line_number":107,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a95cdbc_c5dd1272","line":104,"range":{"start_line":102,"start_character":0,"end_line":104,"end_character":4},"updated":"2016-10-05 05:33:20.000000000","message":"I guess to fully solve the issue the user/cloud deployer should create the vlan interface based on the device rule devices metadata. I think we should provide an example in the documentation on how to do it.","commit_id":"2b055c23f7efeafabe98ed30ac41f359039c3cda"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"8009b7bbbc2e76ca39ba266efa66887c289ad4ac","unresolved":false,"context_lines":[{"line_number":141,"context_line":""},{"line_number":142,"context_line":"None"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"Testing"},{"line_number":145,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"New unit and functional tests will be written to cover the changes."}],"source_content_type":"text/x-rst","patch_set":2,"id":"1a95cdbc_45d3c238","line":144,"range":{"start_line":144,"start_character":0,"end_line":144,"end_character":7},"updated":"2016-10-05 05:33:20.000000000","message":"So currently we are missing CI for PF Passthrough. I hope we can add this to Mellanox SR-IOV CI.","commit_id":"2b055c23f7efeafabe98ed30ac41f359039c3cda"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"f7fdfdff7117681a5c2d2e857eab697dda5e6ce4","unresolved":false,"context_lines":[{"line_number":67,"context_line":"          \"address\": \"0000:00:02.0\","},{"line_number":68,"context_line":"          \"mac\": \"01:22:22:42:22:21\","},{"line_number":69,"context_line":"          \"tags\": [\"nfvfunc1\"]"},{"line_number":70,"context_line":"          \"vlan\": [300, 1000]"},{"line_number":71,"context_line":"      }]"},{"line_number":72,"context_line":"  }"},{"line_number":73,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a77a97e_5ff8eee5","line":70,"range":{"start_line":70,"start_character":10,"end_line":70,"end_character":29},"updated":"2016-11-15 09:10:01.000000000","message":"regarding the multiple vlans, so currently sriov mechanism driver don\u0027t support trunk port, but it make sense to support it for physical_direct port (for direct port with don\u0027t have an linux api to make it trunk)\nare you planning to extend the support in neutron side?\nsee https://github.com/openstack/neutron/tree/master/neutron/services/trunk/drivers. I think it will effect on how you retrieve the sub-port other vlans on the nova side.","commit_id":"a09d0ef32fe9c18ef11298f428ffc31e33692629"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"d041d2283de26dcc30ce5e79c9fa5ac0c13ea3f9","unresolved":false,"context_lines":[{"line_number":67,"context_line":"          \"address\": \"0000:00:02.0\","},{"line_number":68,"context_line":"          \"mac\": \"01:22:22:42:22:21\","},{"line_number":69,"context_line":"          \"tags\": [\"nfvfunc1\"]"},{"line_number":70,"context_line":"          \"vlan\": [300, 1000]"},{"line_number":71,"context_line":"      }]"},{"line_number":72,"context_line":"  }"},{"line_number":73,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a77a97e_f5ad4b89","line":70,"range":{"start_line":70,"start_character":10,"end_line":70,"end_character":29},"in_reply_to":"7a77a97e_5ff8eee5","updated":"2016-11-15 14:49:07.000000000","message":"I\u0027m not planning to extend the support in neutron as part of this work.\nAt this stage, I\u0027d like to expose the vlan as it\u0027s currently being retrieved by nova, and extend the support in the future.\nThe above example only shapes the structure of the metadata, showing that vlan field is a list of integers.","commit_id":"a09d0ef32fe9c18ef11298f428ffc31e33692629"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"f7fdfdff7117681a5c2d2e857eab697dda5e6ce4","unresolved":false,"context_lines":[{"line_number":154,"context_line":"Implementation"},{"line_number":155,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"Assignee(s)"},{"line_number":158,"context_line":"  Vladik Romanovsky \u003cvromanso@redhat.com\u003e"},{"line_number":159,"context_line":"  Artom Lifshitz \u003califshit@redhat.com\u003e"},{"line_number":160,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a77a97e_211797a4","line":157,"range":{"start_line":157,"start_character":0,"end_line":157,"end_character":11},"updated":"2016-11-15 09:10:01.000000000","message":"you missing \"-----------\"","commit_id":"a09d0ef32fe9c18ef11298f428ffc31e33692629"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"d041d2283de26dcc30ce5e79c9fa5ac0c13ea3f9","unresolved":false,"context_lines":[{"line_number":154,"context_line":"Implementation"},{"line_number":155,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"Assignee(s)"},{"line_number":158,"context_line":"  Vladik Romanovsky \u003cvromanso@redhat.com\u003e"},{"line_number":159,"context_line":"  Artom Lifshitz \u003califshit@redhat.com\u003e"},{"line_number":160,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a77a97e_fac53a5b","line":157,"range":{"start_line":157,"start_character":0,"end_line":157,"end_character":11},"in_reply_to":"7a77a97e_211797a4","updated":"2016-11-15 14:49:07.000000000","message":"Done","commit_id":"a09d0ef32fe9c18ef11298f428ffc31e33692629"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"72c59be5db3dadaa1309bfac9003ea8a7d5459df","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/sriov-pf-passthrough-neutron-port-vlan"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The sriov-pf-passthrough-neutron-port spec [1]_, that introduced network"},{"line_number":14,"context_line":"awareness for the passed-through Physical Functions, has been implemented in"},{"line_number":15,"context_line":"the Newton Cycle. However, current implementation ignores VLAN tags set on the"},{"line_number":16,"context_line":"associated neutron port."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a77a97e_877622d5","line":15,"range":{"start_line":13,"start_character":0,"end_line":15,"end_character":17},"updated":"2016-11-17 22:58:01.000000000","message":"Umm, if I remember correctly a week after we merged that code ndipanov reported a few bugs for how it didn\u0027t work...and it wasn\u0027t tested before it landed. Where are those bugs now?\n\nA quick launchpad search turns these up:\n\nhttps://bugs.launchpad.net/nova/+bug/1617429\nhttps://bugs.launchpad.net/nova/+bug/1582822\nhttps://bugs.launchpad.net/nova/+bug/1614092\n\nThe last one sounds like it\u0027s actually just the fact that we don\u0027t have *this* spec implemented. \u003clater\u003eI see you mention this one later in this spec.\u003c/later\u003e\n\nNone of those are ringing a bell as the bug that ndipanov had reported, but maybe they got fixed already.","commit_id":"bbb3734da9bf04e46c3bda9137251f0fbcb84a0c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ae30ed1e580ed28c0f6928de51d9706c3c8c5f8b","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/sriov-pf-passthrough-neutron-port-vlan"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The sriov-pf-passthrough-neutron-port spec [1]_, that introduced network"},{"line_number":14,"context_line":"awareness for the passed-through Physical Functions, has been implemented in"},{"line_number":15,"context_line":"the Newton Cycle. However, current implementation ignores VLAN tags set on the"},{"line_number":16,"context_line":"associated neutron port."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a77a97e_b3d6fdee","line":15,"range":{"start_line":13,"start_character":0,"end_line":15,"end_character":17},"in_reply_to":"7a77a97e_4d7fcb65","updated":"2016-11-18 02:39:01.000000000","message":"OK yeah those are the two I was thinking of, cool, good to see those were handled.","commit_id":"bbb3734da9bf04e46c3bda9137251f0fbcb84a0c"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"9a83a4025cd6f2c38494b3a8ba99bee698b51ba6","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/sriov-pf-passthrough-neutron-port-vlan"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"The sriov-pf-passthrough-neutron-port spec [1]_, that introduced network"},{"line_number":14,"context_line":"awareness for the passed-through Physical Functions, has been implemented in"},{"line_number":15,"context_line":"the Newton Cycle. However, current implementation ignores VLAN tags set on the"},{"line_number":16,"context_line":"associated neutron port."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a77a97e_4d7fcb65","line":15,"range":{"start_line":13,"start_character":0,"end_line":15,"end_character":17},"in_reply_to":"7a77a97e_877622d5","updated":"2016-11-18 00:22:28.000000000","message":"There were a few issues that has been fixed and released, such as:\nhttps://bugs.launchpad.net/nova/+bug/1567549\nhttps://bugs.launchpad.net/nova/+bug/1565785\n\nOverall the feature is working.","commit_id":"bbb3734da9bf04e46c3bda9137251f0fbcb84a0c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"72c59be5db3dadaa1309bfac9003ea8a7d5459df","unresolved":false,"context_lines":[{"line_number":39,"context_line":"flexibility that is currently available for VFs. This includes the ability to"},{"line_number":40,"context_line":"set VLAN tags."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Project Priority"},{"line_number":43,"context_line":"-----------------"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"None"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Proposed change"},{"line_number":48,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a77a97e_c701fa07","line":45,"range":{"start_line":42,"start_character":0,"end_line":45,"end_character":4},"updated":"2016-11-17 22:58:01.000000000","message":"This isn\u0027t part of our spec template anymore so you can remove this.","commit_id":"bbb3734da9bf04e46c3bda9137251f0fbcb84a0c"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"9a83a4025cd6f2c38494b3a8ba99bee698b51ba6","unresolved":false,"context_lines":[{"line_number":39,"context_line":"flexibility that is currently available for VFs. This includes the ability to"},{"line_number":40,"context_line":"set VLAN tags."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"Project Priority"},{"line_number":43,"context_line":"-----------------"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"None"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Proposed change"},{"line_number":48,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a77a97e_d28e1acf","line":45,"range":{"start_line":42,"start_character":0,"end_line":45,"end_character":4},"in_reply_to":"7a77a97e_c701fa07","updated":"2016-11-18 00:22:28.000000000","message":"Done","commit_id":"bbb3734da9bf04e46c3bda9137251f0fbcb84a0c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"72c59be5db3dadaa1309bfac9003ea8a7d5459df","unresolved":false,"context_lines":[{"line_number":51,"context_line":"functions, to the guest instance through the device tagging mechanism."},{"line_number":52,"context_line":"Several VLAN tags can be associated with a network device."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"The format of the devices metadata has been introduced in a"},{"line_number":55,"context_line":"virt-device-role-tagging spec [2]_. As part of this proposal this format will"},{"line_number":56,"context_line":"be extended with a VLANs list field."},{"line_number":57,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a77a97e_723c66c8","line":54,"range":{"start_line":54,"start_character":18,"end_line":54,"end_character":25},"updated":"2016-11-17 22:58:01.000000000","message":"nit: that virtual device role tagging spec also dealt with block devices, but here you\u0027re only concerned with virtual interface devices, so it\u0027d be good to be specific.","commit_id":"bbb3734da9bf04e46c3bda9137251f0fbcb84a0c"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"9a83a4025cd6f2c38494b3a8ba99bee698b51ba6","unresolved":false,"context_lines":[{"line_number":51,"context_line":"functions, to the guest instance through the device tagging mechanism."},{"line_number":52,"context_line":"Several VLAN tags can be associated with a network device."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"The format of the devices metadata has been introduced in a"},{"line_number":55,"context_line":"virt-device-role-tagging spec [2]_. As part of this proposal this format will"},{"line_number":56,"context_line":"be extended with a VLANs list field."},{"line_number":57,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a77a97e_b2a8be21","line":54,"range":{"start_line":54,"start_character":18,"end_line":54,"end_character":25},"in_reply_to":"7a77a97e_723c66c8","updated":"2016-11-18 00:22:28.000000000","message":"Done","commit_id":"bbb3734da9bf04e46c3bda9137251f0fbcb84a0c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"72c59be5db3dadaa1309bfac9003ea8a7d5459df","unresolved":false,"context_lines":[{"line_number":86,"context_line":""},{"line_number":87,"context_line":"Data model impact"},{"line_number":88,"context_line":"-----------------"},{"line_number":89,"context_line":"A new field \"vlans\" will be introduced to the VirtualInterface object and its"},{"line_number":90,"context_line":"associated table"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"REST API impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a77a97e_b2b7de38","line":90,"range":{"start_line":89,"start_character":0,"end_line":90,"end_character":16},"updated":"2016-11-17 22:58:01.000000000","message":"I get this part, but where do the vlan values come from? The port binding details? This spec is pretty sparse on where we get the values from in the neutronv2 API when allocating the networking for an instance create.","commit_id":"bbb3734da9bf04e46c3bda9137251f0fbcb84a0c"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"9a83a4025cd6f2c38494b3a8ba99bee698b51ba6","unresolved":false,"context_lines":[{"line_number":86,"context_line":""},{"line_number":87,"context_line":"Data model impact"},{"line_number":88,"context_line":"-----------------"},{"line_number":89,"context_line":"A new field \"vlans\" will be introduced to the VirtualInterface object and its"},{"line_number":90,"context_line":"associated table"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"REST API impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a77a97e_5f8bf2c2","line":90,"range":{"start_line":89,"start_character":0,"end_line":90,"end_character":16},"in_reply_to":"7a77a97e_b2b7de38","updated":"2016-11-18 00:22:28.000000000","message":"Yes, it being provided as part of the port binding details:\nbinding:vif_details: {\u0027vlan\u0027: 1000}\n\nI\u0027ll mention this in the proposed change.","commit_id":"bbb3734da9bf04e46c3bda9137251f0fbcb84a0c"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"a659a84a6c48532f4d1ea3507376eb3bf37b09d4","unresolved":false,"context_lines":[{"line_number":110,"context_line":"There is no such mechanism in either Nova or Neutron, nor can there be, as the"},{"line_number":111,"context_line":"physical interface and the wire connecting it to the switch is outside of our"},{"line_number":112,"context_line":"control. It is the deployer’s responsibility to ensure that traffic reaching"},{"line_number":113,"context_line":"the PF is limited to what is intended for that VLAN."},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"The operator may physically make the necessary network separation to secure the"},{"line_number":116,"context_line":"setup, configuring the top of the rack switches to map specific PCI devices to"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a77a97e_b6d556ba","line":113,"updated":"2016-11-16 18:46:56.000000000","message":"Exactly correct. It\u0027s helpful that these NFV use cases are not cloudy -- in other words, they are not really multi-tenant use cases. The only user/tenant is the MANO application user that has full administrative control and knowledge of all hardware in the deployment.","commit_id":"bbb3734da9bf04e46c3bda9137251f0fbcb84a0c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"72c59be5db3dadaa1309bfac9003ea8a7d5459df","unresolved":false,"context_lines":[{"line_number":110,"context_line":"There is no such mechanism in either Nova or Neutron, nor can there be, as the"},{"line_number":111,"context_line":"physical interface and the wire connecting it to the switch is outside of our"},{"line_number":112,"context_line":"control. It is the deployer’s responsibility to ensure that traffic reaching"},{"line_number":113,"context_line":"the PF is limited to what is intended for that VLAN."},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"The operator may physically make the necessary network separation to secure the"},{"line_number":116,"context_line":"setup, configuring the top of the rack switches to map specific PCI devices to"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a77a97e_f2d15658","line":113,"in_reply_to":"7a77a97e_b6d556ba","updated":"2016-11-17 22:58:01.000000000","message":"We\u0027d better be sure to document all of ^ when documenting this feature in the admin guide.","commit_id":"bbb3734da9bf04e46c3bda9137251f0fbcb84a0c"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"6708602b555b3585eff29a1bb4c5968e3c3f377e","unresolved":false,"context_lines":[{"line_number":158,"context_line":"-----------"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"  Vladik Romanovsky \u003cvromanso@redhat.com\u003e"},{"line_number":161,"context_line":"  Artom Lifshitz \u003califshit@redhat.com\u003e"},{"line_number":162,"context_line":""},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"Work Items"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a77a97e_90d670ef","line":161,"updated":"2016-11-17 15:34:24.000000000","message":"This needs to be a list, else it renders as a single line :)\n\n http://docs-draft.openstack.org/70/381370/5/check/gate-nova-specs-docs-ubuntu-xenial/a71d716//doc/build/html/specs/ocata/approved/sriov_pf_neutron_port_vlan.html#assignee-s","commit_id":"bbb3734da9bf04e46c3bda9137251f0fbcb84a0c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"72c59be5db3dadaa1309bfac9003ea8a7d5459df","unresolved":false,"context_lines":[{"line_number":183,"context_line":"Documentation Impact"},{"line_number":184,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"* The release notes will describe the operator\u0027s responsibility as stated in"},{"line_number":187,"context_line":"  [Other deployer impact] section."},{"line_number":188,"context_line":"* Provide and example to the guest users of how to extract the device metadata"},{"line_number":189,"context_line":"  information"},{"line_number":190,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a77a97e_b26a7e7f","line":187,"range":{"start_line":186,"start_character":2,"end_line":187,"end_character":34},"updated":"2016-11-17 22:58:01.000000000","message":"This is insufficient IMO. Release notes are not a substitute for the admin guide, or the networking guide, or whatever other SRIOV/PCI/NFV features guide we have. I want to see the security impact/other deployer impact stuff in a guide outside of the nova release notes.\n\nThis is probably a decent place for this to live:\n\nhttp://docs.openstack.org/newton/networking-guide/config-sriov.html\n\nsfinucan or moshele might know of others.\n\nThere is maybe also something to live in here:\n\nhttp://docs.openstack.org/security-guide/networking/services.html#l2-isolation-using-vlans-and-tunneling","commit_id":"bbb3734da9bf04e46c3bda9137251f0fbcb84a0c"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"9a83a4025cd6f2c38494b3a8ba99bee698b51ba6","unresolved":false,"context_lines":[{"line_number":183,"context_line":"Documentation Impact"},{"line_number":184,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"* The release notes will describe the operator\u0027s responsibility as stated in"},{"line_number":187,"context_line":"  [Other deployer impact] section."},{"line_number":188,"context_line":"* Provide and example to the guest users of how to extract the device metadata"},{"line_number":189,"context_line":"  information"},{"line_number":190,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a77a97e_7f88aec5","line":187,"range":{"start_line":186,"start_character":2,"end_line":187,"end_character":34},"in_reply_to":"7a77a97e_b26a7e7f","updated":"2016-11-18 00:22:28.000000000","message":"Done","commit_id":"bbb3734da9bf04e46c3bda9137251f0fbcb84a0c"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"ade3910b7c19a2f3d9855a2471d5375fd0ecfd84","unresolved":false,"context_lines":[{"line_number":156,"context_line":"-----------"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"  Vladik Romanovsky \u003cvromanso@redhat.com\u003e,"},{"line_number":159,"context_line":"  Artom Lifshitz \u003califshit@redhat.com\u003e"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":""},{"line_number":162,"context_line":"Work Items"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7a77a97e_a29dc967","line":159,"updated":"2016-11-18 00:44:12.000000000","message":"This is still not a list. Can you fix it so it\u0027s right since you already rev\u0027d it?","commit_id":"9db87245904636881d78201c52f4b893c99889d6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d3d86f7f4bcb5c650cf98533800c071708fb222e","unresolved":false,"context_lines":[{"line_number":45,"context_line":"The aim of this proposal is to expose VLAN tags, of the associated physical"},{"line_number":46,"context_line":"functions, to the guest instance through the device tagging mechanism."},{"line_number":47,"context_line":"Several VLAN tags can be associated with a network device."},{"line_number":48,"context_line":"Neutron provides the VLAN tag as part of the port binding details:::"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"    binding:vif_details: {\u0027vlan\u0027: 1000}"},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"7a77a97e_73f7058b","line":48,"range":{"start_line":48,"start_character":67,"end_line":48,"end_character":68},"updated":"2016-11-18 02:42:21.000000000","message":"nit: one too many : here.","commit_id":"2998c5d72601473446d3295bbedd8e6901e60d09"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d3d86f7f4bcb5c650cf98533800c071708fb222e","unresolved":false,"context_lines":[{"line_number":181,"context_line":"Documentation Impact"},{"line_number":182,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"* Admin guide and the networking guide should describe the operator\u0027s"},{"line_number":185,"context_line":"  responsibility as stated in [Other deployer impact] section and the"},{"line_number":186,"context_line":"  security aspect of this feature, stated in the [Security impact] section."},{"line_number":187,"context_line":"* Provide and example to the guest users of how to extract the device metadata"}],"source_content_type":"text/x-rst","patch_set":7,"id":"7a77a97e_534129a8","line":184,"range":{"start_line":184,"start_character":2,"end_line":184,"end_character":38},"updated":"2016-11-18 02:42:21.000000000","message":"Would have been nice to actually provide the links to the specific guides I pointed out since I already did the work of hunting them down.","commit_id":"2998c5d72601473446d3295bbedd8e6901e60d09"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"aac3b4e4f909a8d4f794cae18cd255eefdf08407","unresolved":false,"context_lines":[{"line_number":197,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":198,"context_line":""},{"line_number":199,"context_line":".. list-table:: Revisions"},{"line_number":200,"context_line":"      :header-rows: 1"},{"line_number":201,"context_line":""},{"line_number":202,"context_line":"   * - Release Name"},{"line_number":203,"context_line":"     - Description"}],"source_content_type":"text/x-rst","patch_set":7,"id":"7a77a97e_d39619ef","line":200,"updated":"2016-11-18 02:49:49.000000000","message":"This doesn\u0027t render properly.","commit_id":"2998c5d72601473446d3295bbedd8e6901e60d09"}]}
