)]}'
{"specs/mitaka/approved/sriov_pf_neutron_port.rst":[{"author":{"_account_id":17973,"name":"Ludovic Beliveau","email":"lbeliveau@gmail.com","username":"lbeliveau"},"change_message_id":"c0d8704a447b5b1658b613888cc39da438e8aa94","unresolved":false,"context_lines":[{"line_number":20,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Current implementation of the Physical Function (PF) passthrough lacks"},{"line_number":23,"context_line":"network awareness. It is exposing the physical hardware to the instances"},{"line_number":24,"context_line":"without integration with Neutron, unlike the way it is implemented for the"},{"line_number":25,"context_line":"SR-IOV Virtual Functions (VFs)."},{"line_number":26,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a8ffd7b_7b4b6a2c","line":23,"updated":"2015-11-24 13:45:28.000000000","message":"For background information, maybe mention that the only possible way to use a PF passthrough at the moment is via a flavor and it\u0027s not possible to associate the pci_alias with a network at the moment.","commit_id":"7d409883ad44744e47459d5dce2799200c85f659"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"088e926a78d2af28c7805dbef5c88f381c5da67d","unresolved":false,"context_lines":[{"line_number":20,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Current implementation of the Physical Function (PF) passthrough lacks"},{"line_number":23,"context_line":"network awareness. It is exposing the physical hardware to the instances"},{"line_number":24,"context_line":"without integration with Neutron, unlike the way it is implemented for the"},{"line_number":25,"context_line":"SR-IOV Virtual Functions (VFs)."},{"line_number":26,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a8ffd7b_591d3c72","line":23,"in_reply_to":"9a8ffd7b_7b4b6a2c","updated":"2015-11-24 19:07:01.000000000","message":"Actually there is no way now to use a PF passthrough (other than removing all VFs and passing through the device like that, as soon as the VFs are on the PF gets filtered out).\n\nThe thing about the network not working through pci_alias is true but not sure how it\u0027s related though?","commit_id":"7d409883ad44744e47459d5dce2799200c85f659"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"594501216d7563d7677640034b051956e2f8f4f0","unresolved":false,"context_lines":[{"line_number":20,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Current implementation of the Physical Function (PF) passthrough lacks"},{"line_number":23,"context_line":"network awareness. It is exposing the physical hardware to the instances"},{"line_number":24,"context_line":"without integration with Neutron, unlike the way it is implemented for the"},{"line_number":25,"context_line":"SR-IOV Virtual Functions (VFs)."},{"line_number":26,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a8ffd7b_4f0a4ed4","line":23,"in_reply_to":"9a8ffd7b_7b4b6a2c","updated":"2015-11-24 18:57:53.000000000","message":"Actually, at the moment there is no way at all to passthrough a PF , the implementation and the description of how will it be possible mentioned in the dependent spec: http://specs.openstack.org/openstack/nova-specs/specs/mitaka/approved/sriov-physical-function-passthrough.html","commit_id":"7d409883ad44744e47459d5dce2799200c85f659"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"cd30ff757f4f2dc102a9633c1a91a01475b3f14e","unresolved":false,"context_lines":[{"line_number":24,"context_line":"without integration with Neutron, unlike the way it is implemented for the"},{"line_number":25,"context_line":"SR-IOV Virtual Functions (VFs)."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Physical Function can only be exposed as libvirt\u0027s \u003chostdev\u003e"},{"line_number":28,"context_line":"definition in the domain XML and not as a \"\u003cinterface type\u003d\u0027hostdev\u0027...\""},{"line_number":29,"context_line":"element that can receive a MAC address and a virtual port definition."},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba8a016a_0c1b4fcb","line":27,"updated":"2015-11-19 12:31:55.000000000","message":"So for the SR-IOV infiniband,  ib_hostdev vif_type,  I added something similar to pass \u003chostdev\u003e  definition. \n\nso you can refactor the code here \nhttps://github.com/openstack/nova/blob/master/nova/virt/libvirt/vif.py#L410-L415 \n\nand here https://github.com/openstack/nova/blob/master/nova/virt/libvirt/designer.py#L136-L141","commit_id":"7d409883ad44744e47459d5dce2799200c85f659"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"594501216d7563d7677640034b051956e2f8f4f0","unresolved":false,"context_lines":[{"line_number":24,"context_line":"without integration with Neutron, unlike the way it is implemented for the"},{"line_number":25,"context_line":"SR-IOV Virtual Functions (VFs)."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"Physical Function can only be exposed as libvirt\u0027s \u003chostdev\u003e"},{"line_number":28,"context_line":"definition in the domain XML and not as a \"\u003cinterface type\u003d\u0027hostdev\u0027...\""},{"line_number":29,"context_line":"element that can receive a MAC address and a virtual port definition."},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a8ffd7b_8f3116ef","line":27,"in_reply_to":"ba8a016a_0c1b4fcb","updated":"2015-11-24 18:57:53.000000000","message":"Yes, thanks!","commit_id":"7d409883ad44744e47459d5dce2799200c85f659"},{"author":{"_account_id":17973,"name":"Ludovic Beliveau","email":"lbeliveau@gmail.com","username":"lbeliveau"},"change_message_id":"c0d8704a447b5b1658b613888cc39da438e8aa94","unresolved":false,"context_lines":[{"line_number":28,"context_line":"definition in the domain XML and not as a \"\u003cinterface type\u003d\u0027hostdev\u0027...\""},{"line_number":29,"context_line":"element that can receive a MAC address and a virtual port definition."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"In general, it is not possible to configure a MAC address for a PF, nor assign"},{"line_number":32,"context_line":"a VLAN tag via it\u0027s driver on the host."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"In some cases, during instance network configuration, Neutron will provide nova"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a8ffd7b_8e484e2f","line":31,"updated":"2015-11-24 13:45:28.000000000","message":"I think you should add more details about what changes are require in order to support he port MAC address to be the same as the PF physical MAC address.  I think there are quite a lot of changes.","commit_id":"7d409883ad44744e47459d5dce2799200c85f659"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"594501216d7563d7677640034b051956e2f8f4f0","unresolved":false,"context_lines":[{"line_number":28,"context_line":"definition in the domain XML and not as a \"\u003cinterface type\u003d\u0027hostdev\u0027...\""},{"line_number":29,"context_line":"element that can receive a MAC address and a virtual port definition."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"In general, it is not possible to configure a MAC address for a PF, nor assign"},{"line_number":32,"context_line":"a VLAN tag via it\u0027s driver on the host."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"In some cases, during instance network configuration, Neutron will provide nova"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a8ffd7b_0f81a64a","line":31,"in_reply_to":"9a8ffd7b_8e484e2f","updated":"2015-11-24 18:57:53.000000000","message":"I don\u0027t see many changes are needed. This is really only to update the neutron port with the MAC address of the selected PF. there is already a method for this..","commit_id":"7d409883ad44744e47459d5dce2799200c85f659"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"cd30ff757f4f2dc102a9633c1a91a01475b3f14e","unresolved":false,"context_lines":[{"line_number":53,"context_line":"Proposed change"},{"line_number":54,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Allow the users to specify a new vnic_type, with the neutron port creation,"},{"line_number":57,"context_line":"which would be used by Nova to select a Physical Function on a host and"},{"line_number":58,"context_line":"properly passthrough it to a guest, using a new VIF type."},{"line_number":59,"context_line":"Nova will update the neutron port with a MAC address of the selected PF"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba8a016a_6c9e9b08","line":56,"updated":"2015-11-19 12:31:55.000000000","message":"I know there is a baremetal vnic_type which is used for ironic neutron integration. are you planning to use it or to create a new type?","commit_id":"7d409883ad44744e47459d5dce2799200c85f659"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"594501216d7563d7677640034b051956e2f8f4f0","unresolved":false,"context_lines":[{"line_number":53,"context_line":"Proposed change"},{"line_number":54,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"Allow the users to specify a new vnic_type, with the neutron port creation,"},{"line_number":57,"context_line":"which would be used by Nova to select a Physical Function on a host and"},{"line_number":58,"context_line":"properly passthrough it to a guest, using a new VIF type."},{"line_number":59,"context_line":"Nova will update the neutron port with a MAC address of the selected PF"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a8ffd7b_94036b0f","line":56,"in_reply_to":"ba8a016a_6c9e9b08","updated":"2015-11-24 18:57:53.000000000","message":"I think it\u0027ll be best to rely on VNIC_DIRECT_PHYSICAL, as in the dependent neutron patch, I\u0027ll add.","commit_id":"7d409883ad44744e47459d5dce2799200c85f659"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"cd30ff757f4f2dc102a9633c1a91a01475b3f14e","unresolved":false,"context_lines":[{"line_number":122,"context_line":"Dependencies"},{"line_number":123,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"None"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"Testing"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ba8a016a_4c5dd745","line":125,"updated":"2015-11-19 12:31:55.000000000","message":"don\u0027t you have dependence on neutron to support the new vnic_type?","commit_id":"7d409883ad44744e47459d5dce2799200c85f659"},{"author":{"_account_id":5511,"name":"Nikola Dipanov","email":"ndipanov@redhat.com","username":"ndipanov"},"change_message_id":"088e926a78d2af28c7805dbef5c88f381c5da67d","unresolved":false,"context_lines":[{"line_number":122,"context_line":"Dependencies"},{"line_number":123,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"None"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"Testing"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a8ffd7b_5979bc92","line":125,"in_reply_to":"ba8a016a_4c5dd745","updated":"2015-11-24 19:07:01.000000000","message":"And also on the PF work in Nova","commit_id":"7d409883ad44744e47459d5dce2799200c85f659"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"594501216d7563d7677640034b051956e2f8f4f0","unresolved":false,"context_lines":[{"line_number":122,"context_line":"Dependencies"},{"line_number":123,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"None"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"Testing"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a8ffd7b_1440db55","line":125,"in_reply_to":"ba8a016a_4c5dd745","updated":"2015-11-24 18:57:53.000000000","message":"Indeed. Will add.","commit_id":"7d409883ad44744e47459d5dce2799200c85f659"},{"author":{"_account_id":6681,"name":"Brent Eagles","email":"beagles@redhat.com","username":"beagles"},"change_message_id":"59e248dec37628d6d8336f3b47b79718bed1e6f0","unresolved":false,"context_lines":[{"line_number":122,"context_line":"Dependencies"},{"line_number":123,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"None"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"Testing"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9a8ffd7b_87959141","line":125,"in_reply_to":"ba8a016a_4c5dd745","updated":"2015-11-24 18:36:14.000000000","message":"There is a neutron BZ for this that could be reference here. https://bugs.launchpad.net/neutron/+bug/1500993","commit_id":"7d409883ad44744e47459d5dce2799200c85f659"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"ee7ecb245512387cbe254d5bd9678c3be7cf0cfa","unresolved":false,"context_lines":[{"line_number":34,"context_line":"In some cases, during instance network configuration, Neutron will provide nova"},{"line_number":35,"context_line":"with a port, which will contain a MAC and VLAN tag to be set on the function."},{"line_number":36,"context_line":"While it is easy to do, in the case of VFs, additional steps should be taken to"},{"line_number":37,"context_line":"coordinate these settings with Neutron."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a8ffd7b_4bcacb4f","line":37,"updated":"2015-11-26 15:20:19.000000000","message":"Sorry not sure I understand this paragraph? Do you mean, Neutron can only tell us to do that for PFs where that is possible? that seems very messy.","commit_id":"c9da9f561345869ebf016256d076bb636efffdcf"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"0a4ac4663fe226bd4dfac666e64e1b026d2bbcf5","unresolved":false,"context_lines":[{"line_number":34,"context_line":"In some cases, during instance network configuration, Neutron will provide nova"},{"line_number":35,"context_line":"with a port, which will contain a MAC and VLAN tag to be set on the function."},{"line_number":36,"context_line":"While it is easy to do, in the case of VFs, additional steps should be taken to"},{"line_number":37,"context_line":"coordinate these settings with Neutron."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a8ffd7b_9da31400","line":37,"in_reply_to":"9a8ffd7b_3aeeaeb4","updated":"2015-11-26 15:58:12.000000000","message":"OK, it would be good to clarify the text a little, but I will not block on that.","commit_id":"c9da9f561345869ebf016256d076bb636efffdcf"},{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"ac05120a438d535fa61a12d5fab2dd6bff79ec1d","unresolved":false,"context_lines":[{"line_number":34,"context_line":"In some cases, during instance network configuration, Neutron will provide nova"},{"line_number":35,"context_line":"with a port, which will contain a MAC and VLAN tag to be set on the function."},{"line_number":36,"context_line":"While it is easy to do, in the case of VFs, additional steps should be taken to"},{"line_number":37,"context_line":"coordinate these settings with Neutron."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a8ffd7b_3aeeaeb4","line":37,"in_reply_to":"9a8ffd7b_4bcacb4f","updated":"2015-11-26 15:50:21.000000000","message":"I only wanted to say that in the case of physical functions, we will need to update neutron port with the actual MAC address of the PF, as you mentioned, similar to ironic.","commit_id":"c9da9f561345869ebf016256d076bb636efffdcf"},{"author":{"_account_id":17973,"name":"Ludovic Beliveau","email":"lbeliveau@gmail.com","username":"lbeliveau"},"change_message_id":"f3fc969097c5dc5155bb5c210b6fb6dc982c2232","unresolved":false,"context_lines":[{"line_number":56,"context_line":"Allow the users to specify a new vnic_type, with the neutron port creation,"},{"line_number":57,"context_line":"which would be used by Nova to select a Physical Function on a host and"},{"line_number":58,"context_line":"properly passthrough it to a guest, using a new VIF type."},{"line_number":59,"context_line":"Nova will update the neutron port with a MAC address of the selected PF"},{"line_number":60,"context_line":"on the host."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a8ffd7b_c5e81513","line":59,"updated":"2015-11-25 23:04:02.000000000","message":"Where are you going to get the PF MAC address ?  If I remember correctly, it\u0027s not stored in the PciDevice object.  Somehow the driver need to report the MAC address of such PCI device and use this MAC address for creating/updating the neutron port.\n\nMaybe there is more work to be done than specified in the \"Work Items\".  But maybe this should be left for the implementation phase and not the BP ...","commit_id":"c9da9f561345869ebf016256d076bb636efffdcf"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"ee7ecb245512387cbe254d5bd9678c3be7cf0cfa","unresolved":false,"context_lines":[{"line_number":57,"context_line":"which would be used by Nova to select a Physical Function on a host and"},{"line_number":58,"context_line":"properly passthrough it to a guest, using a new VIF type."},{"line_number":59,"context_line":"Nova will update the neutron port with a MAC address of the selected PF"},{"line_number":60,"context_line":"on the host."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Alternatives"},{"line_number":63,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a8ffd7b_0b728349","line":60,"updated":"2015-11-26 15:20:19.000000000","message":"I guess this is similar to what happens with ironic, which is fair enough.","commit_id":"c9da9f561345869ebf016256d076bb636efffdcf"},{"author":{"_account_id":1063,"name":"Ed Leafe","email":"ed@leafe.com","username":"ed-leafe"},"change_message_id":"e1436279fd86225ee944d100a4944a4cc006fdda","unresolved":false,"context_lines":[{"line_number":131,"context_line":"Documentation Impact"},{"line_number":132,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"Documentation of a new vnic_type should be documented."},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"References"},{"line_number":137,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a8ffd7b_e15c0d1b","line":134,"updated":"2015-12-02 14:17:11.000000000","message":"Heh.","commit_id":"c472adb6ab283ae8d166d3b4e48f786db9dd23ee"}]}
