)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8802,"name":"Vladik Romanovsky","email":"vromanso@redhat.com","username":"vladikr"},"change_message_id":"d24a8c1409833f59994d3348a4f2339334d96bea","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch adds specification for SR-IOV implementation"},{"line_number":10,"context_line":"in VMware driver."},{"line_number":11,"context_line":"blueprint: vmware-sriov"},{"line_number":12,"context_line":"DocImpact"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I7a240b379e2deb162060fee36157f0944102a56a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"1ac06dbe_9dd5eaba","line":11,"updated":"2016-08-22 14:13:02.000000000","message":"I think it should be Implements: blueprint vmware-sriov","commit_id":"4899317526ebeedd3fe86c7e9be644227cbf7a4b"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"65dc0c0b4d4491f9ffe1e8e009f8ba371fdf4aba","unresolved":false,"context_lines":[{"line_number":9,"context_line":"This patch adds specification for SR-IOV implementation"},{"line_number":10,"context_line":"in VMware driver."},{"line_number":11,"context_line":"blueprint: vmware-sriov"},{"line_number":12,"context_line":"DocImpact"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I7a240b379e2deb162060fee36157f0944102a56a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"fa6399be_01943789","line":12,"range":{"start_line":12,"start_character":0,"end_line":12,"end_character":9},"updated":"2016-10-11 22:09:49.000000000","message":"Why is there a DocImpact tag on this? Just remove it.","commit_id":"4899317526ebeedd3fe86c7e9be644227cbf7a4b"}],"specs/newton/approved/vmware-sriov.rst":[{"author":{"_account_id":17973,"name":"Ludovic Beliveau","email":"lbeliveau@gmail.com","username":"lbeliveau"},"change_message_id":"1e9b5ff10ed0ffe18057d03be64a753537a35e4c","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"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\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"VMware: add SR-IOV support"},{"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\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/vmware-sriov"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bab6814e_425f6972","line":9,"updated":"2016-05-18 12:32:35.000000000","message":"Remove extra \u0027\u003d\u0027 here.","commit_id":"bfdce9996b2cf0ee9a358f9573d60d003b85eb9a"},{"author":{"_account_id":16929,"name":"Giridhar Jayavelu","email":"gjayavelu@vmware.com","username":"gjayavelu"},"change_message_id":"ab7de13596e05a0233d5be1d2ddef4d86a275fa1","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"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\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"VMware: add SR-IOV support"},{"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\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/vmware-sriov"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bab6814e_ed10f750","line":9,"in_reply_to":"bab6814e_425f6972","updated":"2016-05-18 21:31:26.000000000","message":"Done","commit_id":"bfdce9996b2cf0ee9a358f9573d60d003b85eb9a"},{"author":{"_account_id":17973,"name":"Ludovic Beliveau","email":"lbeliveau@gmail.com","username":"lbeliveau"},"change_message_id":"1e9b5ff10ed0ffe18057d03be64a753537a35e4c","unresolved":false,"context_lines":[{"line_number":24,"context_line":"Use Cases"},{"line_number":25,"context_line":"----------"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"SR-IOV is one of the important features in vSphere that provides"},{"line_number":28,"context_line":"low latency for VNF workloads in NFV."},{"line_number":29,"context_line":"Operators using vSphere infrastructure would like to attach"},{"line_number":30,"context_line":"VFs while creating instances on OpenStack."}],"source_content_type":"text/x-rst","patch_set":1,"id":"bab6814e_4272c9e6","line":27,"updated":"2016-05-18 12:32:35.000000000","message":"s/the important/the most important/","commit_id":"bfdce9996b2cf0ee9a358f9573d60d003b85eb9a"},{"author":{"_account_id":16929,"name":"Giridhar Jayavelu","email":"gjayavelu@vmware.com","username":"gjayavelu"},"change_message_id":"ab7de13596e05a0233d5be1d2ddef4d86a275fa1","unresolved":false,"context_lines":[{"line_number":24,"context_line":"Use Cases"},{"line_number":25,"context_line":"----------"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"SR-IOV is one of the important features in vSphere that provides"},{"line_number":28,"context_line":"low latency for VNF workloads in NFV."},{"line_number":29,"context_line":"Operators using vSphere infrastructure would like to attach"},{"line_number":30,"context_line":"VFs while creating instances on OpenStack."}],"source_content_type":"text/x-rst","patch_set":1,"id":"bab6814e_4d1e6364","line":27,"in_reply_to":"bab6814e_4272c9e6","updated":"2016-05-18 21:31:26.000000000","message":"Done","commit_id":"bfdce9996b2cf0ee9a358f9573d60d003b85eb9a"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"65495979b17f9cec3b5fb9265af366df2f61ac1f","unresolved":false,"context_lines":[{"line_number":29,"context_line":"Operators using vSphere infrastructure would like to attach"},{"line_number":30,"context_line":"VFs while creating instances on OpenStack."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Project Priority"},{"line_number":33,"context_line":"-----------------"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"None"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Proposed change"},{"line_number":38,"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":1,"id":"dab17558_a51af17a","line":35,"range":{"start_line":32,"start_character":0,"end_line":35,"end_character":4},"updated":"2016-05-17 09:02:59.000000000","message":"please remove this","commit_id":"bfdce9996b2cf0ee9a358f9573d60d003b85eb9a"},{"author":{"_account_id":16929,"name":"Giridhar Jayavelu","email":"gjayavelu@vmware.com","username":"gjayavelu"},"change_message_id":"1ba0415f20a5c057a4b39f388fed53240c7350b3","unresolved":false,"context_lines":[{"line_number":29,"context_line":"Operators using vSphere infrastructure would like to attach"},{"line_number":30,"context_line":"VFs while creating instances on OpenStack."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Project Priority"},{"line_number":33,"context_line":"-----------------"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"None"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Proposed change"},{"line_number":38,"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":1,"id":"dab17558_ba22fab6","line":35,"range":{"start_line":32,"start_character":0,"end_line":35,"end_character":4},"in_reply_to":"dab17558_a51af17a","updated":"2016-05-17 18:23:20.000000000","message":"sure.","commit_id":"bfdce9996b2cf0ee9a358f9573d60d003b85eb9a"},{"author":{"_account_id":16929,"name":"Giridhar Jayavelu","email":"gjayavelu@vmware.com","username":"gjayavelu"},"change_message_id":"ab7de13596e05a0233d5be1d2ddef4d86a275fa1","unresolved":false,"context_lines":[{"line_number":29,"context_line":"Operators using vSphere infrastructure would like to attach"},{"line_number":30,"context_line":"VFs while creating instances on OpenStack."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Project Priority"},{"line_number":33,"context_line":"-----------------"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"None"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Proposed change"},{"line_number":38,"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":1,"id":"bab6814e_8d268bb8","line":35,"range":{"start_line":32,"start_character":0,"end_line":35,"end_character":4},"in_reply_to":"dab17558_ba22fab6","updated":"2016-05-18 21:31:26.000000000","message":"Done","commit_id":"bfdce9996b2cf0ee9a358f9573d60d003b85eb9a"},{"author":{"_account_id":17973,"name":"Ludovic Beliveau","email":"lbeliveau@gmail.com","username":"lbeliveau"},"change_message_id":"1e9b5ff10ed0ffe18057d03be64a753537a35e4c","unresolved":false,"context_lines":[{"line_number":41,"context_line":"in the VMware vSphere driver."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"The scope of this spec is limited only to Nova. The features to manage"},{"line_number":44,"context_line":"admin state and port security using neutron sriov agent is not supported."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"In this implementation, get_available_resources() from VMware compute node"},{"line_number":47,"context_line":"would include \u0027pci_passthrough_devices\u0027 as well."}],"source_content_type":"text/x-rst","patch_set":1,"id":"bab6814e_dd1dfa67","line":44,"updated":"2016-05-18 12:32:35.000000000","message":"I would specify that those are Neutron features and that they can be disabled in the config.","commit_id":"bfdce9996b2cf0ee9a358f9573d60d003b85eb9a"},{"author":{"_account_id":16929,"name":"Giridhar Jayavelu","email":"gjayavelu@vmware.com","username":"gjayavelu"},"change_message_id":"ab7de13596e05a0233d5be1d2ddef4d86a275fa1","unresolved":false,"context_lines":[{"line_number":41,"context_line":"in the VMware vSphere driver."},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"The scope of this spec is limited only to Nova. The features to manage"},{"line_number":44,"context_line":"admin state and port security using neutron sriov agent is not supported."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"In this implementation, get_available_resources() from VMware compute node"},{"line_number":47,"context_line":"would include \u0027pci_passthrough_devices\u0027 as well."}],"source_content_type":"text/x-rst","patch_set":1,"id":"bab6814e_bb41020e","line":44,"in_reply_to":"bab6814e_dd1dfa67","updated":"2016-05-18 21:31:26.000000000","message":"Done","commit_id":"bfdce9996b2cf0ee9a358f9573d60d003b85eb9a"},{"author":{"_account_id":17973,"name":"Ludovic Beliveau","email":"lbeliveau@gmail.com","username":"lbeliveau"},"change_message_id":"1e9b5ff10ed0ffe18057d03be64a753537a35e4c","unresolved":false,"context_lines":[{"line_number":43,"context_line":"The scope of this spec is limited only to Nova. The features to manage"},{"line_number":44,"context_line":"admin state and port security using neutron sriov agent is not supported."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"In this implementation, get_available_resources() from VMware compute node"},{"line_number":47,"context_line":"would include \u0027pci_passthrough_devices\u0027 as well."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"The value of \u0027pci_passthrough_devices\u0027 is a list of pci device specifications"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bab6814e_9df9b2cb","line":46,"updated":"2016-05-18 12:32:35.000000000","message":"Please specify that this method is in virt.vmwareapi.driver in order to provider better understanding for someone that is not familiar with this.","commit_id":"bfdce9996b2cf0ee9a358f9573d60d003b85eb9a"},{"author":{"_account_id":16929,"name":"Giridhar Jayavelu","email":"gjayavelu@vmware.com","username":"gjayavelu"},"change_message_id":"ab7de13596e05a0233d5be1d2ddef4d86a275fa1","unresolved":false,"context_lines":[{"line_number":43,"context_line":"The scope of this spec is limited only to Nova. The features to manage"},{"line_number":44,"context_line":"admin state and port security using neutron sriov agent is not supported."},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"In this implementation, get_available_resources() from VMware compute node"},{"line_number":47,"context_line":"would include \u0027pci_passthrough_devices\u0027 as well."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"The value of \u0027pci_passthrough_devices\u0027 is a list of pci device specifications"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bab6814e_0dde1b6d","line":46,"in_reply_to":"bab6814e_9df9b2cb","updated":"2016-05-18 21:31:26.000000000","message":"Done","commit_id":"bfdce9996b2cf0ee9a358f9573d60d003b85eb9a"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"65495979b17f9cec3b5fb9265af366df2f61ac1f","unresolved":false,"context_lines":[{"line_number":47,"context_line":"would include \u0027pci_passthrough_devices\u0027 as well."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"The value of \u0027pci_passthrough_devices\u0027 is a list of pci device specifications"},{"line_number":50,"context_line":"which includes \u0027dev_id\u0027, \u0027product_id\u0027, \u0027vendor_id\u0027, \u0027dev_type\u0027, \u0027numa_node\u0027,"},{"line_number":51,"context_line":"\u0027label\u0027 and \u0027sub_node\u0027."},{"line_number":52,"context_line":"Since VMware driver exposes a cluster of ESX hosts as a compute node and"},{"line_number":53,"context_line":"vSphere requires explicitly the host id from which VF is chosen,"},{"line_number":54,"context_line":"this implementation introduces a new property \u0027sub_node\u0027 under \u0027extra_info\u0027."}],"source_content_type":"text/x-rst","patch_set":1,"id":"dab17558_3642b9ae","line":51,"range":{"start_line":50,"start_character":15,"end_line":51,"end_character":7},"updated":"2016-05-17 09:02:59.000000000","message":"I think you are missing \"address\" and \"parent_addr\"","commit_id":"bfdce9996b2cf0ee9a358f9573d60d003b85eb9a"},{"author":{"_account_id":16929,"name":"Giridhar Jayavelu","email":"gjayavelu@vmware.com","username":"gjayavelu"},"change_message_id":"1ba0415f20a5c057a4b39f388fed53240c7350b3","unresolved":false,"context_lines":[{"line_number":47,"context_line":"would include \u0027pci_passthrough_devices\u0027 as well."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"The value of \u0027pci_passthrough_devices\u0027 is a list of pci device specifications"},{"line_number":50,"context_line":"which includes \u0027dev_id\u0027, \u0027product_id\u0027, \u0027vendor_id\u0027, \u0027dev_type\u0027, \u0027numa_node\u0027,"},{"line_number":51,"context_line":"\u0027label\u0027 and \u0027sub_node\u0027."},{"line_number":52,"context_line":"Since VMware driver exposes a cluster of ESX hosts as a compute node and"},{"line_number":53,"context_line":"vSphere requires explicitly the host id from which VF is chosen,"},{"line_number":54,"context_line":"this implementation introduces a new property \u0027sub_node\u0027 under \u0027extra_info\u0027."}],"source_content_type":"text/x-rst","patch_set":1,"id":"dab17558_e33b2d9a","line":51,"range":{"start_line":50,"start_character":15,"end_line":51,"end_character":7},"in_reply_to":"dab17558_3642b9ae","updated":"2016-05-17 18:23:20.000000000","message":"Oops. will add them.","commit_id":"bfdce9996b2cf0ee9a358f9573d60d003b85eb9a"},{"author":{"_account_id":16929,"name":"Giridhar Jayavelu","email":"gjayavelu@vmware.com","username":"gjayavelu"},"change_message_id":"ab7de13596e05a0233d5be1d2ddef4d86a275fa1","unresolved":false,"context_lines":[{"line_number":47,"context_line":"would include \u0027pci_passthrough_devices\u0027 as well."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"The value of \u0027pci_passthrough_devices\u0027 is a list of pci device specifications"},{"line_number":50,"context_line":"which includes \u0027dev_id\u0027, \u0027product_id\u0027, \u0027vendor_id\u0027, \u0027dev_type\u0027, \u0027numa_node\u0027,"},{"line_number":51,"context_line":"\u0027label\u0027 and \u0027sub_node\u0027."},{"line_number":52,"context_line":"Since VMware driver exposes a cluster of ESX hosts as a compute node and"},{"line_number":53,"context_line":"vSphere requires explicitly the host id from which VF is chosen,"},{"line_number":54,"context_line":"this implementation introduces a new property \u0027sub_node\u0027 under \u0027extra_info\u0027."}],"source_content_type":"text/x-rst","patch_set":1,"id":"bab6814e_8dd04b55","line":51,"range":{"start_line":50,"start_character":15,"end_line":51,"end_character":7},"in_reply_to":"dab17558_e33b2d9a","updated":"2016-05-18 21:31:26.000000000","message":"Done","commit_id":"bfdce9996b2cf0ee9a358f9573d60d003b85eb9a"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"65495979b17f9cec3b5fb9265af366df2f61ac1f","unresolved":false,"context_lines":[{"line_number":52,"context_line":"Since VMware driver exposes a cluster of ESX hosts as a compute node and"},{"line_number":53,"context_line":"vSphere requires explicitly the host id from which VF is chosen,"},{"line_number":54,"context_line":"this implementation introduces a new property \u0027sub_node\u0027 under \u0027extra_info\u0027."},{"line_number":55,"context_line":"The value of \u0027sub_node\u0027 points to host managed object id to which the"},{"line_number":56,"context_line":"device belongs to."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"The reason to keep \u0027sub_node\u0027 under \u0027extra_info\u0027 and not first level"}],"source_content_type":"text/x-rst","patch_set":1,"id":"dab17558_b1019307","line":55,"range":{"start_line":55,"start_character":13,"end_line":55,"end_character":23},"updated":"2016-05-17 09:02:59.000000000","message":"so will this work with migration?\nIt seem that the logic will be need to extend to select the compute node and the sub_node.","commit_id":"bfdce9996b2cf0ee9a358f9573d60d003b85eb9a"},{"author":{"_account_id":17973,"name":"Ludovic Beliveau","email":"lbeliveau@gmail.com","username":"lbeliveau"},"change_message_id":"1e9b5ff10ed0ffe18057d03be64a753537a35e4c","unresolved":false,"context_lines":[{"line_number":52,"context_line":"Since VMware driver exposes a cluster of ESX hosts as a compute node and"},{"line_number":53,"context_line":"vSphere requires explicitly the host id from which VF is chosen,"},{"line_number":54,"context_line":"this implementation introduces a new property \u0027sub_node\u0027 under \u0027extra_info\u0027."},{"line_number":55,"context_line":"The value of \u0027sub_node\u0027 points to host managed object id to which the"},{"line_number":56,"context_line":"device belongs to."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"The reason to keep \u0027sub_node\u0027 under \u0027extra_info\u0027 and not first level"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bab6814e_bd9c766a","line":55,"range":{"start_line":55,"start_character":13,"end_line":55,"end_character":23},"in_reply_to":"dab17558_a3748435","updated":"2016-05-18 12:32:35.000000000","message":"Ok maybe add a small paragraph on this to make clarify the situation with cold migration.","commit_id":"bfdce9996b2cf0ee9a358f9573d60d003b85eb9a"},{"author":{"_account_id":16929,"name":"Giridhar Jayavelu","email":"gjayavelu@vmware.com","username":"gjayavelu"},"change_message_id":"1ba0415f20a5c057a4b39f388fed53240c7350b3","unresolved":false,"context_lines":[{"line_number":52,"context_line":"Since VMware driver exposes a cluster of ESX hosts as a compute node and"},{"line_number":53,"context_line":"vSphere requires explicitly the host id from which VF is chosen,"},{"line_number":54,"context_line":"this implementation introduces a new property \u0027sub_node\u0027 under \u0027extra_info\u0027."},{"line_number":55,"context_line":"The value of \u0027sub_node\u0027 points to host managed object id to which the"},{"line_number":56,"context_line":"device belongs to."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"The reason to keep \u0027sub_node\u0027 under \u0027extra_info\u0027 and not first level"}],"source_content_type":"text/x-rst","patch_set":1,"id":"dab17558_a3748435","line":55,"range":{"start_line":55,"start_character":13,"end_line":55,"end_character":23},"in_reply_to":"dab17558_b1019307","updated":"2016-05-17 18:23:20.000000000","message":"Yes. cold migration would work. The compute node i.e cluster will expose aggregate of all devices along with sub_node in the spec. The current migration/resize logic can work as is without looking into the sub_node. Because we do not expose sub_node to any other scheduler filters. Once a compute node is selected, then host information can be retrieved from the device spec, in case of sr-iov.","commit_id":"bfdce9996b2cf0ee9a358f9573d60d003b85eb9a"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"65495979b17f9cec3b5fb9265af366df2f61ac1f","unresolved":false,"context_lines":[{"line_number":55,"context_line":"The value of \u0027sub_node\u0027 points to host managed object id to which the"},{"line_number":56,"context_line":"device belongs to."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"The reason to keep \u0027sub_node\u0027 under \u0027extra_info\u0027 and not first level"},{"line_number":59,"context_line":"property because it is very specific to VMware implementation and no other"},{"line_number":60,"context_line":"driver exposes a cluster of hosts as compute node in nova."},{"line_number":61,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"dab17558_514827b3","line":58,"range":{"start_line":58,"start_character":0,"end_line":58,"end_character":49},"updated":"2016-05-17 09:02:59.000000000","message":"IMHO I think we need to add the sub_node to the pci device table. The we can implement all the migration and resize with relaying on this and the libvirt case will be that compute node as only one sub node.","commit_id":"bfdce9996b2cf0ee9a358f9573d60d003b85eb9a"},{"author":{"_account_id":16929,"name":"Giridhar Jayavelu","email":"gjayavelu@vmware.com","username":"gjayavelu"},"change_message_id":"1ba0415f20a5c057a4b39f388fed53240c7350b3","unresolved":false,"context_lines":[{"line_number":55,"context_line":"The value of \u0027sub_node\u0027 points to host managed object id to which the"},{"line_number":56,"context_line":"device belongs to."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"The reason to keep \u0027sub_node\u0027 under \u0027extra_info\u0027 and not first level"},{"line_number":59,"context_line":"property because it is very specific to VMware implementation and no other"},{"line_number":60,"context_line":"driver exposes a cluster of hosts as compute node in nova."},{"line_number":61,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"dab17558_e3068ccc","line":58,"range":{"start_line":58,"start_character":0,"end_line":58,"end_character":49},"in_reply_to":"dab17558_514827b3","updated":"2016-05-17 18:23:20.000000000","message":"I think it would be good to have migration and resize is done based on the compute node i.e cluster in case of vmware driver, just to be consistent with the behavior without pci devices. The sub_node is needed/used only within vmware driver. Once a compute node is selected along with a set of devices from the pool, these devices can be passed down to vmware driver. From the device info, we can retrieve the sub_node/host id and place the instance on that specific host. In short, exposing sub_node/esx host directly for scheduling decisions will not be consistent with existing assumptions of the driver.","commit_id":"bfdce9996b2cf0ee9a358f9573d60d003b85eb9a"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"65495979b17f9cec3b5fb9265af366df2f61ac1f","unresolved":false,"context_lines":[{"line_number":59,"context_line":"property because it is very specific to VMware implementation and no other"},{"line_number":60,"context_line":"driver exposes a cluster of hosts as compute node in nova."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"The pci stats module would include the extra information \u0027sub_node\u0027"},{"line_number":63,"context_line":"while creating the pool keys from device spec."},{"line_number":64,"context_line":"This is to ensure that the pci manager selects VFs only within same host."},{"line_number":65,"context_line":"Choosing VFs from different hosts within a cluster would cause failure."}],"source_content_type":"text/x-rst","patch_set":1,"id":"dab17558_f1979b37","line":62,"range":{"start_line":62,"start_character":0,"end_line":62,"end_character":67},"updated":"2016-05-17 09:02:59.000000000","message":"are you planning to add sub_node to the pci device pool?\nI would say the once pci device pool is for one compute and sub_node. \nCan you elaborate more on the  pci stats change?","commit_id":"bfdce9996b2cf0ee9a358f9573d60d003b85eb9a"},{"author":{"_account_id":16929,"name":"Giridhar Jayavelu","email":"gjayavelu@vmware.com","username":"gjayavelu"},"change_message_id":"1ba0415f20a5c057a4b39f388fed53240c7350b3","unresolved":false,"context_lines":[{"line_number":59,"context_line":"property because it is very specific to VMware implementation and no other"},{"line_number":60,"context_line":"driver exposes a cluster of hosts as compute node in nova."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"The pci stats module would include the extra information \u0027sub_node\u0027"},{"line_number":63,"context_line":"while creating the pool keys from device spec."},{"line_number":64,"context_line":"This is to ensure that the pci manager selects VFs only within same host."},{"line_number":65,"context_line":"Choosing VFs from different hosts within a cluster would cause failure."}],"source_content_type":"text/x-rst","patch_set":1,"id":"dab17558_239a5562","line":62,"range":{"start_line":62,"start_character":0,"end_line":62,"end_character":67},"in_reply_to":"dab17558_f1979b37","updated":"2016-05-17 18:23:20.000000000","message":"in _create_pool_keys_from_dev(), in addition to creating pool keys using self.pool_keys, we can define a list of keys from extra_info as follows:\n\nself.extra_info_pool_keys \u003d [\u0027sub_node\u0027]\n\ndef _create_pool_keys_from_dev(self, dev):\n    ...\n    ...\n    pool.update({k: dev[\u0027extra_info\u0027].get(k)\n        for k in self.extra_info_pool_keys if k in   \n            dev[\u0027extra_info\u0027]})","commit_id":"bfdce9996b2cf0ee9a358f9573d60d003b85eb9a"},{"author":{"_account_id":17973,"name":"Ludovic Beliveau","email":"lbeliveau@gmail.com","username":"lbeliveau"},"change_message_id":"1e9b5ff10ed0ffe18057d03be64a753537a35e4c","unresolved":false,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":"With the changes mentioned above, pci manager would be able to allocate"},{"line_number":68,"context_line":"VFs to instances based on the pci requests expressed in the form of"},{"line_number":69,"context_line":"pci aliases."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"The workflow would be:"},{"line_number":72,"context_line":"* Configure SR-IOV on ESX following the instructions on [1]"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bab6814e_3d3a4637","line":69,"updated":"2016-05-18 12:32:35.000000000","message":"I\u0027m not familiar with the vmware virt driver.  But don\u0027t you need to modify it for actually attaching/detaching the SR-IOV devices when spawning a guest ?","commit_id":"bfdce9996b2cf0ee9a358f9573d60d003b85eb9a"},{"author":{"_account_id":16929,"name":"Giridhar Jayavelu","email":"gjayavelu@vmware.com","username":"gjayavelu"},"change_message_id":"ab7de13596e05a0233d5be1d2ddef4d86a275fa1","unresolved":false,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":"With the changes mentioned above, pci manager would be able to allocate"},{"line_number":68,"context_line":"VFs to instances based on the pci requests expressed in the form of"},{"line_number":69,"context_line":"pci aliases."},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"The workflow would be:"},{"line_number":72,"context_line":"* Configure SR-IOV on ESX following the instructions on [1]"}],"source_content_type":"text/x-rst","patch_set":1,"id":"bab6814e_2d183f1d","line":69,"in_reply_to":"bab6814e_3d3a4637","updated":"2016-05-18 21:31:26.000000000","message":"yes, there will be driver change for attaching detaching SR-IOV devices. May be I\u0027ll add a paragraph on that.","commit_id":"bfdce9996b2cf0ee9a358f9573d60d003b85eb9a"},{"author":{"_account_id":17973,"name":"Ludovic Beliveau","email":"lbeliveau@gmail.com","username":"lbeliveau"},"change_message_id":"41f7c6c593496b07c3078b4a55f4da5ed4234cb7","unresolved":false,"context_lines":[{"line_number":27,"context_line":"SR-IOV is one of the most important features in vSphere that provides"},{"line_number":28,"context_line":"low latency for VNF workloads in NFV."},{"line_number":29,"context_line":"Operators using vSphere infrastructure would like to attach"},{"line_number":30,"context_line":"VFs while creating instances on OpenStack."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Proposed change"},{"line_number":33,"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":3,"id":"bab6814e_15b559ed","line":30,"updated":"2016-05-19 12:18:04.000000000","message":"This whole section is not a use case.\n\nWhat is described here should be moved to the problem description section.\n\nHere you should should specify that a user that is using openstack with vmware wants to boot a guest with sr-iov ...","commit_id":"3a3e743e5ef5e115d30230eb650ee37709d15235"},{"author":{"_account_id":16929,"name":"Giridhar Jayavelu","email":"gjayavelu@vmware.com","username":"gjayavelu"},"change_message_id":"81e5038a477df0c05bf9291315d2ddc9ba251643","unresolved":false,"context_lines":[{"line_number":27,"context_line":"SR-IOV is one of the most important features in vSphere that provides"},{"line_number":28,"context_line":"low latency for VNF workloads in NFV."},{"line_number":29,"context_line":"Operators using vSphere infrastructure would like to attach"},{"line_number":30,"context_line":"VFs while creating instances on OpenStack."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"Proposed change"},{"line_number":33,"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":3,"id":"bab6814e_300f1d30","line":30,"in_reply_to":"bab6814e_15b559ed","updated":"2016-05-24 00:39:45.000000000","message":"Done","commit_id":"3a3e743e5ef5e115d30230eb650ee37709d15235"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"67f7594f049c517acc30451ca1853f3f18a1c6da","unresolved":false,"context_lines":[{"line_number":130,"context_line":"---------------------"},{"line_number":131,"context_line":"None"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"Performance Impact"},{"line_number":134,"context_line":"------------------"},{"line_number":135,"context_line":"None"},{"line_number":136,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"bab6814e_0139a341","line":133,"updated":"2016-05-19 11:15:55.000000000","message":"So you have to add that new field \u0027sub_node\u0027 in PciDevice object since all devices (PFs/VFs) will be referenced in one PciDeviceList which can be really huge and increases according the number of hosts and cards they have.\n\n- Then when scheduling we will go through all of that list for each hosts.\n\nWe should to have a hash somewhere which can return in 0(1) all devices for a host.\n\n- And what about the 0(n) memory space used you will introduce by that change?","commit_id":"3a3e743e5ef5e115d30230eb650ee37709d15235"},{"author":{"_account_id":17973,"name":"Ludovic Beliveau","email":"lbeliveau@gmail.com","username":"lbeliveau"},"change_message_id":"41f7c6c593496b07c3078b4a55f4da5ed4234cb7","unresolved":false,"context_lines":[{"line_number":130,"context_line":"---------------------"},{"line_number":131,"context_line":"None"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"Performance Impact"},{"line_number":134,"context_line":"------------------"},{"line_number":135,"context_line":"None"},{"line_number":136,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"bab6814e_d5b631db","line":133,"in_reply_to":"bab6814e_0139a341","updated":"2016-05-19 12:18:04.000000000","message":"Good point.\n\nIs there any other way to do this than changing the PCI device database object ?\n\nI assume that dealing with sub_node is also done of other type of resources ?  If so, how do they actually deal with it without impacting performance.","commit_id":"3a3e743e5ef5e115d30230eb650ee37709d15235"},{"author":{"_account_id":16929,"name":"Giridhar Jayavelu","email":"gjayavelu@vmware.com","username":"gjayavelu"},"change_message_id":"81e5038a477df0c05bf9291315d2ddc9ba251643","unresolved":false,"context_lines":[{"line_number":130,"context_line":"---------------------"},{"line_number":131,"context_line":"None"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"Performance Impact"},{"line_number":134,"context_line":"------------------"},{"line_number":135,"context_line":"None"},{"line_number":136,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"bab6814e_d09fb163","line":133,"in_reply_to":"bab6814e_06da2e17","updated":"2016-05-24 00:39:45.000000000","message":"updated the performance impact and alternatives section with the details mentioned above.","commit_id":"3a3e743e5ef5e115d30230eb650ee37709d15235"},{"author":{"_account_id":16929,"name":"Giridhar Jayavelu","email":"gjayavelu@vmware.com","username":"gjayavelu"},"change_message_id":"70cb9f7f654c560685c549ca31e5e5f66f758376","unresolved":false,"context_lines":[{"line_number":130,"context_line":"---------------------"},{"line_number":131,"context_line":"None"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"Performance Impact"},{"line_number":134,"context_line":"------------------"},{"line_number":135,"context_line":"None"},{"line_number":136,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"bab6814e_06da2e17","line":133,"in_reply_to":"bab6814e_d5b631db","updated":"2016-05-20 05:58:24.000000000","message":"True. the number of pools w.r.t scheduler per compute node is more because the devices are further grouped based on sub_node. The number of devices processed under one compute node is greater than what is processed for drivers without cluster.\n\nBut for scheduler, going through each compute node and looking for matching pools is same as with or without a cluster. \n\nFor example, without sub_node, if there are N hosts and M pools exposed to the scheduler. Then, it will have to go through each host and every pool in host to see if it matches the request.\nhttps://github.com/openstack/nova/blob/master/nova/pci/stats.py#L245\n\nWith sub_node, if there are N\u003dN1+N2 hosts (say, N1 hosts under cluster 1 and N2 under cluster2), from scheduler point of view, it is exactly same number of hosts and pools to lookup for matching request i.e O(N*M)\n\nPlease let me know if I\u0027m making any wrong assumptions.\n\nOne alternative I could think to avoid adding \u0027sub_node\u0027: \n\nin the vmware driver, query the esx hosts that has the allocated pci device while spawning an instance. But, when there are muliple SR-IOV devices requested for an instance, the problem with this approach would be that there is no guarantee pci manager would allocate devices from same ESX host. This is because pci manager would be unaware of sub_node/esx hosts. When sub_node is part of the pool keys, then we can allocated devices for an instance from same esx host.\n\nNone of the resources except SR-IOV require ESX host information to boot an instance. vcenter cluster would automatically select a host for other resource types. So, sub_node was never used before.","commit_id":"3a3e743e5ef5e115d30230eb650ee37709d15235"},{"author":{"_account_id":17973,"name":"Ludovic Beliveau","email":"lbeliveau@gmail.com","username":"lbeliveau"},"change_message_id":"990440adffdf8bb9f1b481557d75c24a79ef83e4","unresolved":false,"context_lines":[{"line_number":72,"context_line":"\u0027dev_id\u0027, \u0027vendor_id\u0027, \u0027label\u0027 and \u0027sub_node\u0027 information,"},{"line_number":73,"context_line":"using which the VFs will be attached to the instance and placed on a"},{"line_number":74,"context_line":"specific host. For more details on the SR-IOV configuration spec on"},{"line_number":75,"context_line":"vSphere, refer to [4]."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"In case of cold migration, the SR-IOV devices will be detached from the"},{"line_number":78,"context_line":"instance and new devices from destination compute node will be attached to"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bab6814e_dacc8e63","line":75,"updated":"2016-05-25 14:03:32.000000000","message":"Currently nova tries to allocate PCI devices on the same numa node than the vcpus.\n\nHow does numas and vpcus are reported by the vmware driver ?\n\nWill this still works with sub_node ?","commit_id":"4ab6de8fa1e46a85b20b72b2a04efbf2cb06798c"},{"author":{"_account_id":16929,"name":"Giridhar Jayavelu","email":"gjayavelu@vmware.com","username":"gjayavelu"},"change_message_id":"adff05d671ea96b3c50d5ac7541a7d6bf8ab575c","unresolved":false,"context_lines":[{"line_number":72,"context_line":"\u0027dev_id\u0027, \u0027vendor_id\u0027, \u0027label\u0027 and \u0027sub_node\u0027 information,"},{"line_number":73,"context_line":"using which the VFs will be attached to the instance and placed on a"},{"line_number":74,"context_line":"specific host. For more details on the SR-IOV configuration spec on"},{"line_number":75,"context_line":"vSphere, refer to [4]."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"In case of cold migration, the SR-IOV devices will be detached from the"},{"line_number":78,"context_line":"instance and new devices from destination compute node will be attached to"}],"source_content_type":"text/x-rst","patch_set":4,"id":"bab6814e_2ba467b7","line":75,"in_reply_to":"bab6814e_dacc8e63","updated":"2016-05-25 16:15:26.000000000","message":"Currently, vsphere does not expose the numa information for pci devices.\nAlso, numa node topology is not exposed from vmware driver either.\nhttps://github.com/openstack/nova/blob/master/nova/virt/vmwareapi/host.py#L67","commit_id":"4ab6de8fa1e46a85b20b72b2a04efbf2cb06798c"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"7443e9eee6583b9ff478eadbe791ad859056db25","unresolved":false,"context_lines":[{"line_number":183,"context_line":"  driver."},{"line_number":184,"context_line":"* Add \u0027sub_node\u0027 while creating pool keys from device spec."},{"line_number":185,"context_line":"* Modify virt.vmwareapi.vm_util.vmops to attach/detach SR-IOV devices."},{"line_number":186,"context_line":"* Add tempest tests for VMware SR-IOV driver."},{"line_number":187,"context_line":""},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":5,"id":"bab6814e_c6b3f498","line":186,"updated":"2016-05-26 07:37:53.000000000","message":"do we need documentation update?","commit_id":"f6d2dcbace181cdea5b50dc1fb8eb2c5d883cde8"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"10a3623aca253ebc47d6e0e23d741a952aca487b","unresolved":false,"context_lines":[{"line_number":184,"context_line":"* Add \u0027sub_node\u0027 while creating pool keys from device spec."},{"line_number":185,"context_line":"* Modify virt.vmwareapi.vm_util.vmops to attach/detach SR-IOV devices."},{"line_number":186,"context_line":"* Add tempest tests for VMware SR-IOV driver."},{"line_number":187,"context_line":""},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"Dependencies"},{"line_number":190,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"bab6814e_1ba555a1","line":187,"updated":"2016-05-26 06:58:36.000000000","message":"you will need to update the pci_device claim to filler by sub_nodes right?\nhttps://github.com/openstack/nova/blob/master/nova/objects/pci_device.py#L267-L286","commit_id":"f6d2dcbace181cdea5b50dc1fb8eb2c5d883cde8"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"7443e9eee6583b9ff478eadbe791ad859056db25","unresolved":false,"context_lines":[{"line_number":189,"context_line":"Dependencies"},{"line_number":190,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"* This feature depends on vSphere 6.0"},{"line_number":193,"context_line":""},{"line_number":194,"context_line":"Testing"},{"line_number":195,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"bab6814e_e68718b3","line":192,"range":{"start_line":192,"start_character":2,"end_line":192,"end_character":37},"updated":"2016-05-26 07:37:53.000000000","message":"is this going to check in the vmware driver?","commit_id":"f6d2dcbace181cdea5b50dc1fb8eb2c5d883cde8"}],"specs/ocata/approved/vmware-sriov.rst":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7e5727a93a35a3d563f4dc9187dbfa765bb3220f","unresolved":false,"context_lines":[{"line_number":35,"context_line":"This spec proposes to implement the SR-IOV functionality"},{"line_number":36,"context_line":"in the VMware vSphere driver."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"The scope of this spec is limited to creating VFs using pci_alias only [3]."},{"line_number":39,"context_line":"The neutron features such as creating SR-IOV ports, managing admin state,"},{"line_number":40,"context_line":"and port security are not supported with VMware driver."},{"line_number":41,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa6399be_1339d841","line":38,"range":{"start_line":38,"start_character":71,"end_line":38,"end_character":74},"updated":"2016-10-12 12:07:33.000000000","message":"This doesn\u0027t display correctly. You need an underscore after:\n\n    [3]_\n\nDitto for any other references below","commit_id":"4899317526ebeedd3fe86c7e9be644227cbf7a4b"},{"author":{"_account_id":16929,"name":"Giridhar Jayavelu","email":"gjayavelu@vmware.com","username":"gjayavelu"},"change_message_id":"99d5d132a8412a3ae689e423a89f58ca55ad6d42","unresolved":false,"context_lines":[{"line_number":35,"context_line":"This spec proposes to implement the SR-IOV functionality"},{"line_number":36,"context_line":"in the VMware vSphere driver."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"The scope of this spec is limited to creating VFs using pci_alias only [3]."},{"line_number":39,"context_line":"The neutron features such as creating SR-IOV ports, managing admin state,"},{"line_number":40,"context_line":"and port security are not supported with VMware driver."},{"line_number":41,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa6399be_cf6b6c84","line":38,"range":{"start_line":38,"start_character":71,"end_line":38,"end_character":74},"in_reply_to":"fa6399be_1339d841","updated":"2016-10-18 07:07:04.000000000","message":"Done","commit_id":"4899317526ebeedd3fe86c7e9be644227cbf7a4b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7e5727a93a35a3d563f4dc9187dbfa765bb3220f","unresolved":false,"context_lines":[{"line_number":36,"context_line":"in the VMware vSphere driver."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"The scope of this spec is limited to creating VFs using pci_alias only [3]."},{"line_number":39,"context_line":"The neutron features such as creating SR-IOV ports, managing admin state,"},{"line_number":40,"context_line":"and port security are not supported with VMware driver."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"In this implementation, virt.vmwareapi.driver.get_available_resources()"},{"line_number":43,"context_line":"would include \u0027pci_passthrough_devices\u0027 as well."}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa6399be_f3b62489","line":40,"range":{"start_line":39,"start_character":0,"end_line":40,"end_character":55},"updated":"2016-10-12 12:07:33.000000000","message":"The SR-IOV agent is required as of the Newton release. How do you plan to get around this?","commit_id":"4899317526ebeedd3fe86c7e9be644227cbf7a4b"},{"author":{"_account_id":16929,"name":"Giridhar Jayavelu","email":"gjayavelu@vmware.com","username":"gjayavelu"},"change_message_id":"99d5d132a8412a3ae689e423a89f58ca55ad6d42","unresolved":false,"context_lines":[{"line_number":36,"context_line":"in the VMware vSphere driver."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"The scope of this spec is limited to creating VFs using pci_alias only [3]."},{"line_number":39,"context_line":"The neutron features such as creating SR-IOV ports, managing admin state,"},{"line_number":40,"context_line":"and port security are not supported with VMware driver."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"In this implementation, virt.vmwareapi.driver.get_available_resources()"},{"line_number":43,"context_line":"would include \u0027pci_passthrough_devices\u0027 as well."}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa6399be_b2c05f7e","line":40,"range":{"start_line":39,"start_character":0,"end_line":40,"end_character":55},"in_reply_to":"fa6399be_f3b62489","updated":"2016-10-18 07:07:04.000000000","message":"Isn\u0027t that needed as part of neutron configuration? If yes, as mentioned above, this spec is limited only nova related changes.\n\nAlso, in case VMware, it is possible to manage (such as mtu, vlan, security policy) the sr-iov ports as regular network ports using vcenter/NSX networking  I think we should be able to achieve this on neutron without sr-iov agent. I\u0027ll cover that separately.\nhttps://pubs.vmware.com/vsphere-60/index.jsp#com.vmware.vsphere.networking.doc/GUID-5383DF43-A474-4E44-8024-A0A2E4B4A3AB.html","commit_id":"4899317526ebeedd3fe86c7e9be644227cbf7a4b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7e5727a93a35a3d563f4dc9187dbfa765bb3220f","unresolved":false,"context_lines":[{"line_number":39,"context_line":"The neutron features such as creating SR-IOV ports, managing admin state,"},{"line_number":40,"context_line":"and port security are not supported with VMware driver."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"In this implementation, virt.vmwareapi.driver.get_available_resources()"},{"line_number":43,"context_line":"would include \u0027pci_passthrough_devices\u0027 as well."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"The value of \u0027pci_passthrough_devices\u0027 is a list of pci device specifications"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa6399be_73abf41d","line":42,"range":{"start_line":42,"start_character":24,"end_line":42,"end_character":71},"updated":"2016-10-12 12:07:33.000000000","message":"nit: Can you format as ``code``","commit_id":"4899317526ebeedd3fe86c7e9be644227cbf7a4b"},{"author":{"_account_id":16929,"name":"Giridhar Jayavelu","email":"gjayavelu@vmware.com","username":"gjayavelu"},"change_message_id":"99d5d132a8412a3ae689e423a89f58ca55ad6d42","unresolved":false,"context_lines":[{"line_number":39,"context_line":"The neutron features such as creating SR-IOV ports, managing admin state,"},{"line_number":40,"context_line":"and port security are not supported with VMware driver."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"In this implementation, virt.vmwareapi.driver.get_available_resources()"},{"line_number":43,"context_line":"would include \u0027pci_passthrough_devices\u0027 as well."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"The value of \u0027pci_passthrough_devices\u0027 is a list of pci device specifications"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa6399be_b264dfe5","line":42,"range":{"start_line":42,"start_character":24,"end_line":42,"end_character":71},"in_reply_to":"fa6399be_73abf41d","updated":"2016-10-18 07:07:04.000000000","message":"Done","commit_id":"4899317526ebeedd3fe86c7e9be644227cbf7a4b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7e5727a93a35a3d563f4dc9187dbfa765bb3220f","unresolved":false,"context_lines":[{"line_number":43,"context_line":"would include \u0027pci_passthrough_devices\u0027 as well."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"The value of \u0027pci_passthrough_devices\u0027 is a list of pci device specifications"},{"line_number":46,"context_line":"which includes \u0027address\u0027, \u0027parent_addr\u0027, \u0027dev_id\u0027, \u0027product_id\u0027, \u0027vendor_id\u0027,"},{"line_number":47,"context_line":"\u0027dev_type\u0027, \u0027numa_node\u0027, \u0027label\u0027 and \u0027sub_node\u0027."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Currently, VMware driver does not expose numa node topology. Therefore,"},{"line_number":50,"context_line":"\u0027numa_node\u0027 will be set to None."}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa6399be_d3668028","line":47,"range":{"start_line":46,"start_character":16,"end_line":47,"end_character":48},"updated":"2016-10-12 12:07:33.000000000","message":"nit: Can you format these as ``code``","commit_id":"4899317526ebeedd3fe86c7e9be644227cbf7a4b"},{"author":{"_account_id":16929,"name":"Giridhar Jayavelu","email":"gjayavelu@vmware.com","username":"gjayavelu"},"change_message_id":"99d5d132a8412a3ae689e423a89f58ca55ad6d42","unresolved":false,"context_lines":[{"line_number":43,"context_line":"would include \u0027pci_passthrough_devices\u0027 as well."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"The value of \u0027pci_passthrough_devices\u0027 is a list of pci device specifications"},{"line_number":46,"context_line":"which includes \u0027address\u0027, \u0027parent_addr\u0027, \u0027dev_id\u0027, \u0027product_id\u0027, \u0027vendor_id\u0027,"},{"line_number":47,"context_line":"\u0027dev_type\u0027, \u0027numa_node\u0027, \u0027label\u0027 and \u0027sub_node\u0027."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"Currently, VMware driver does not expose numa node topology. Therefore,"},{"line_number":50,"context_line":"\u0027numa_node\u0027 will be set to None."}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa6399be_af50f85f","line":47,"range":{"start_line":46,"start_character":16,"end_line":47,"end_character":48},"in_reply_to":"fa6399be_d3668028","updated":"2016-10-18 07:07:04.000000000","message":"Done","commit_id":"4899317526ebeedd3fe86c7e9be644227cbf7a4b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7e5727a93a35a3d563f4dc9187dbfa765bb3220f","unresolved":false,"context_lines":[{"line_number":49,"context_line":"Currently, VMware driver does not expose numa node topology. Therefore,"},{"line_number":50,"context_line":"\u0027numa_node\u0027 will be set to None."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Since VMware driver exposes a cluster of ESX hosts as a compute node and"},{"line_number":53,"context_line":"vSphere requires explicitly the host id from which VF is chosen,"},{"line_number":54,"context_line":"this implementation introduces a new property \u0027sub_node\u0027 under \u0027extra_info\u0027."},{"line_number":55,"context_line":"The value of \u0027sub_node\u0027 points to host managed object id to which the"},{"line_number":56,"context_line":"device belongs to."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"The reason to keep \u0027sub_node\u0027 under \u0027extra_info\u0027 and not first level"},{"line_number":59,"context_line":"property because it is very specific to VMware implementation and no other"},{"line_number":60,"context_line":"drivers expose a cluster of hosts as compute node in nova. Also, \u0027sub_node\u0027"},{"line_number":61,"context_line":"is not involved in any scheduling decisions. It is just an additional"},{"line_number":62,"context_line":"information to help the VMware driver map SR-IOV devices to an ESX host"},{"line_number":63,"context_line":"within a cluster."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Currently, pci.stats.PciDeviceStats()._create_pool_keys_from_dev() creates"},{"line_number":66,"context_line":"device pool using \u0027product_id\u0027, \u0027vendor_id\u0027, \u0027numa_node\u0027, \u0027dev_type\u0027."}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a98d1f4_872bfaea","line":63,"range":{"start_line":52,"start_character":0,"end_line":63,"end_character":17},"updated":"2016-10-12 12:07:33.000000000","message":"Could you give an object example. A picture (or a piece of code) says a thousands words, after all :)","commit_id":"4899317526ebeedd3fe86c7e9be644227cbf7a4b"},{"author":{"_account_id":16929,"name":"Giridhar Jayavelu","email":"gjayavelu@vmware.com","username":"gjayavelu"},"change_message_id":"99d5d132a8412a3ae689e423a89f58ca55ad6d42","unresolved":false,"context_lines":[{"line_number":49,"context_line":"Currently, VMware driver does not expose numa node topology. Therefore,"},{"line_number":50,"context_line":"\u0027numa_node\u0027 will be set to None."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Since VMware driver exposes a cluster of ESX hosts as a compute node and"},{"line_number":53,"context_line":"vSphere requires explicitly the host id from which VF is chosen,"},{"line_number":54,"context_line":"this implementation introduces a new property \u0027sub_node\u0027 under \u0027extra_info\u0027."},{"line_number":55,"context_line":"The value of \u0027sub_node\u0027 points to host managed object id to which the"},{"line_number":56,"context_line":"device belongs to."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"The reason to keep \u0027sub_node\u0027 under \u0027extra_info\u0027 and not first level"},{"line_number":59,"context_line":"property because it is very specific to VMware implementation and no other"},{"line_number":60,"context_line":"drivers expose a cluster of hosts as compute node in nova. Also, \u0027sub_node\u0027"},{"line_number":61,"context_line":"is not involved in any scheduling decisions. It is just an additional"},{"line_number":62,"context_line":"information to help the VMware driver map SR-IOV devices to an ESX host"},{"line_number":63,"context_line":"within a cluster."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Currently, pci.stats.PciDeviceStats()._create_pool_keys_from_dev() creates"},{"line_number":66,"context_line":"device pool using \u0027product_id\u0027, \u0027vendor_id\u0027, \u0027numa_node\u0027, \u0027dev_type\u0027."}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa6399be_d647801b","line":63,"range":{"start_line":52,"start_character":0,"end_line":63,"end_character":17},"in_reply_to":"3a98d1f4_872bfaea","updated":"2016-10-18 07:07:04.000000000","message":"added an example.","commit_id":"4899317526ebeedd3fe86c7e9be644227cbf7a4b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7e5727a93a35a3d563f4dc9187dbfa765bb3220f","unresolved":false,"context_lines":[{"line_number":62,"context_line":"information to help the VMware driver map SR-IOV devices to an ESX host"},{"line_number":63,"context_line":"within a cluster."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Currently, pci.stats.PciDeviceStats()._create_pool_keys_from_dev() creates"},{"line_number":66,"context_line":"device pool using \u0027product_id\u0027, \u0027vendor_id\u0027, \u0027numa_node\u0027, \u0027dev_type\u0027."},{"line_number":67,"context_line":"This implementation would include the extra information \u0027sub_node\u0027 (if present)"},{"line_number":68,"context_line":"while creating the device pool. The reason is to ensure that the pci manager"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa6399be_535a7051","line":65,"range":{"start_line":65,"start_character":11,"end_line":65,"end_character":67},"updated":"2016-10-12 12:07:33.000000000","message":"code - same for any other function calls and/or keywords/constants below","commit_id":"4899317526ebeedd3fe86c7e9be644227cbf7a4b"},{"author":{"_account_id":16929,"name":"Giridhar Jayavelu","email":"gjayavelu@vmware.com","username":"gjayavelu"},"change_message_id":"99d5d132a8412a3ae689e423a89f58ca55ad6d42","unresolved":false,"context_lines":[{"line_number":62,"context_line":"information to help the VMware driver map SR-IOV devices to an ESX host"},{"line_number":63,"context_line":"within a cluster."},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"Currently, pci.stats.PciDeviceStats()._create_pool_keys_from_dev() creates"},{"line_number":66,"context_line":"device pool using \u0027product_id\u0027, \u0027vendor_id\u0027, \u0027numa_node\u0027, \u0027dev_type\u0027."},{"line_number":67,"context_line":"This implementation would include the extra information \u0027sub_node\u0027 (if present)"},{"line_number":68,"context_line":"while creating the device pool. The reason is to ensure that the pci manager"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa6399be_8f01743c","line":65,"range":{"start_line":65,"start_character":11,"end_line":65,"end_character":67},"in_reply_to":"fa6399be_535a7051","updated":"2016-10-18 07:07:04.000000000","message":"Done","commit_id":"4899317526ebeedd3fe86c7e9be644227cbf7a4b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7e5727a93a35a3d563f4dc9187dbfa765bb3220f","unresolved":false,"context_lines":[{"line_number":89,"context_line":""},{"line_number":90,"context_line":"The workflow to create instance with VF(s) would be:"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"* Configure SR-IOV on ESX following the instructions on [1]"},{"line_number":93,"context_line":"* Whitelist PCI devices on nova-compute as mentioned in [2]"},{"line_number":94,"context_line":"* On nova-scheduler, add \u0027PciPassthroughFilter\u0027 to scheduler_default_filters"},{"line_number":95,"context_line":"  in /etc/nova/nova.conf [2]"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa6399be_5308b02d","line":92,"range":{"start_line":92,"start_character":0,"end_line":92,"end_character":59},"updated":"2016-10-12 12:07:33.000000000","message":"nit: Can you put spaces between each of these bullet points","commit_id":"4899317526ebeedd3fe86c7e9be644227cbf7a4b"},{"author":{"_account_id":16929,"name":"Giridhar Jayavelu","email":"gjayavelu@vmware.com","username":"gjayavelu"},"change_message_id":"99d5d132a8412a3ae689e423a89f58ca55ad6d42","unresolved":false,"context_lines":[{"line_number":89,"context_line":""},{"line_number":90,"context_line":"The workflow to create instance with VF(s) would be:"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"* Configure SR-IOV on ESX following the instructions on [1]"},{"line_number":93,"context_line":"* Whitelist PCI devices on nova-compute as mentioned in [2]"},{"line_number":94,"context_line":"* On nova-scheduler, add \u0027PciPassthroughFilter\u0027 to scheduler_default_filters"},{"line_number":95,"context_line":"  in /etc/nova/nova.conf [2]"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa6399be_8f8894c8","line":92,"range":{"start_line":92,"start_character":0,"end_line":92,"end_character":59},"in_reply_to":"fa6399be_5308b02d","updated":"2016-10-18 07:07:04.000000000","message":"Done","commit_id":"4899317526ebeedd3fe86c7e9be644227cbf7a4b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7e5727a93a35a3d563f4dc9187dbfa765bb3220f","unresolved":false,"context_lines":[{"line_number":96,"context_line":"* On nova-api, create pci_alias for various devices on /etc/nova/nova.conf [3]"},{"line_number":97,"context_line":"* Update flavor extra spec with required pci_alias created above::"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"  openstack flavor set \u003cflavor\u003e --property \\"},{"line_number":100,"context_line":"    \"pci_passthrough:alias\"\u003d\"\u003calias_name\u003e:\u003ccount\u003e\""},{"line_number":101,"context_line":"* Update the image metadata property hw_vif_model to \u0027virtualsriovethernetcard\u0027"},{"line_number":102,"context_line":"::"},{"line_number":103,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa6399be_f609b22d","line":100,"range":{"start_line":99,"start_character":0,"end_line":100,"end_character":50},"updated":"2016-10-12 12:07:33.000000000","message":"nit: can you prefix commands with \u0027$ \u0027","commit_id":"4899317526ebeedd3fe86c7e9be644227cbf7a4b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7e5727a93a35a3d563f4dc9187dbfa765bb3220f","unresolved":false,"context_lines":[{"line_number":206,"context_line":"Testing"},{"line_number":207,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":208,"context_line":"New units will be written to cover the changes."},{"line_number":209,"context_line":"Also, a new VMware CI job and tempest tests will be added for"},{"line_number":210,"context_line":"pci passthrough testing once the spec is approved."},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"Documentation Impact"},{"line_number":213,"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":7,"id":"fa6399be_965eb610","line":210,"range":{"start_line":209,"start_character":0,"end_line":210,"end_character":50},"updated":"2016-10-12 12:07:33.000000000","message":"These tests should be written at the same time as the code, if at all possible. It should be possible to write a Tempest plugin to do this. See [1] for example of such a Tempest plugin\n\n[1] https://github.com/openstack/intel-nfv-ci-tests","commit_id":"4899317526ebeedd3fe86c7e9be644227cbf7a4b"},{"author":{"_account_id":16929,"name":"Giridhar Jayavelu","email":"gjayavelu@vmware.com","username":"gjayavelu"},"change_message_id":"99d5d132a8412a3ae689e423a89f58ca55ad6d42","unresolved":false,"context_lines":[{"line_number":206,"context_line":"Testing"},{"line_number":207,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":208,"context_line":"New units will be written to cover the changes."},{"line_number":209,"context_line":"Also, a new VMware CI job and tempest tests will be added for"},{"line_number":210,"context_line":"pci passthrough testing once the spec is approved."},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"Documentation Impact"},{"line_number":213,"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":7,"id":"fa6399be_2fc068e0","line":210,"range":{"start_line":209,"start_character":0,"end_line":210,"end_character":50},"in_reply_to":"fa6399be_965eb610","updated":"2016-10-18 07:07:04.000000000","message":"sure. I\u0027ll add a plugin as part of the code.","commit_id":"4899317526ebeedd3fe86c7e9be644227cbf7a4b"}],"specs/pike/approved/vmware-sriov.rst":[{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"d718e1c7738129df892cc6f1f66c8b84b4348646","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"SR-IOV is one of the most important features in vSphere that provides"},{"line_number":21,"context_line":"low latency for VNF workloads in NFV."},{"line_number":22,"context_line":"Nova has support for SR-IOV with Xen and libvirt drivers. For"},{"line_number":23,"context_line":"VMware vSphere users, the ability to create instances with virtual"},{"line_number":24,"context_line":"functions (VFs) is not yet supported in OpenStack."},{"line_number":25,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"dfeb2761_cbb51980","line":22,"range":{"start_line":22,"start_character":33,"end_line":22,"end_character":36},"updated":"2017-04-04 15:44:29.000000000","message":"is it? Do you mean XenAPI or Xen+libvirt?","commit_id":"267fe75ee8065dc60e8844af6ce36a3b6c463d5f"},{"author":{"_account_id":16929,"name":"Giridhar Jayavelu","email":"gjayavelu@vmware.com","username":"gjayavelu"},"change_message_id":"f96ab9afe717406645c8d7c13fc45bc820fdcab4","unresolved":false,"context_lines":[{"line_number":19,"context_line":""},{"line_number":20,"context_line":"SR-IOV is one of the most important features in vSphere that provides"},{"line_number":21,"context_line":"low latency for VNF workloads in NFV."},{"line_number":22,"context_line":"Nova has support for SR-IOV with Xen and libvirt drivers. For"},{"line_number":23,"context_line":"VMware vSphere users, the ability to create instances with virtual"},{"line_number":24,"context_line":"functions (VFs) is not yet supported in OpenStack."},{"line_number":25,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"bff0334d_83fb2ebf","line":22,"range":{"start_line":22,"start_character":33,"end_line":22,"end_character":36},"in_reply_to":"dfeb2761_cbb51980","updated":"2017-04-11 23:04:40.000000000","message":"I was referring to nova/virt/xenapi and nova/virt/libvirt.\ni\u0027ll probably replace s/Xen/xenapi/","commit_id":"267fe75ee8065dc60e8844af6ce36a3b6c463d5f"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"d718e1c7738129df892cc6f1f66c8b84b4348646","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"The scope of this spec is limited to creating VFs using pci_alias only [3]_."},{"line_number":39,"context_line":"The neutron features such as creating SR-IOV ports, managing admin state,"},{"line_number":40,"context_line":"and port security are not supported with VMware driver."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"In this implementation, ``virt.vmwareapi.driver.get_available_resources()``"},{"line_number":43,"context_line":"would include ``pci_passthrough_devices`` as well."}],"source_content_type":"text/x-rst","patch_set":10,"id":"dfeb2761_3a4f3035","line":40,"updated":"2017-04-04 15:44:29.000000000","message":"Do you mean PCI passthrough then, and not SR-IOV at all?\n\nAll SR-IOV ports should me fully managed by neutron, surely? Generally SR-IOV ports bypass the networking security stuff, as you describe, AFAIK.","commit_id":"267fe75ee8065dc60e8844af6ce36a3b6c463d5f"},{"author":{"_account_id":16929,"name":"Giridhar Jayavelu","email":"gjayavelu@vmware.com","username":"gjayavelu"},"change_message_id":"f96ab9afe717406645c8d7c13fc45bc820fdcab4","unresolved":false,"context_lines":[{"line_number":37,"context_line":""},{"line_number":38,"context_line":"The scope of this spec is limited to creating VFs using pci_alias only [3]_."},{"line_number":39,"context_line":"The neutron features such as creating SR-IOV ports, managing admin state,"},{"line_number":40,"context_line":"and port security are not supported with VMware driver."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"In this implementation, ``virt.vmwareapi.driver.get_available_resources()``"},{"line_number":43,"context_line":"would include ``pci_passthrough_devices`` as well."}],"source_content_type":"text/x-rst","patch_set":10,"id":"bff0334d_034f1e93","line":40,"in_reply_to":"dfeb2761_3a4f3035","updated":"2017-04-11 23:04:40.000000000","message":"I was referring to this:\n\"There are two ways to attach VFs to an instance. You can create a neutron SR-IOV port or use the pci_alias in nova. For more information about using pci_alias, refer to nova-api configuration.\"\nhttps://docs.openstack.org/mitaka/networking-guide/config-sriov.html\n\n\nvmware_nsx in neutron did not have support for sr-iov ports until ocata. But recently added in Pike. https://review.openstack.org/#/c/438261\nSo, I will remove this limitation in scope of this spec.","commit_id":"267fe75ee8065dc60e8844af6ce36a3b6c463d5f"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"d718e1c7738129df892cc6f1f66c8b84b4348646","unresolved":false,"context_lines":[{"line_number":83,"context_line":"(if present) while creating the device pool. The reason is to ensure that the"},{"line_number":84,"context_line":"pci manager selects VFs from the device pool that are from same ESX host."},{"line_number":85,"context_line":"Otherwise, choosing VFs from different hosts within a cluster would cause"},{"line_number":86,"context_line":"failure."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"While spawning an instance, ``pci.manager.get_instance_pci_devs()`` will be"},{"line_number":89,"context_line":"called in the VMware driver to get the allocated SR-IOV devices."}],"source_content_type":"text/x-rst","patch_set":10,"id":"dfeb2761_fdcd4231","line":86,"updated":"2017-04-04 15:44:29.000000000","message":"Not saying we should do it this way, but this is basically what it does with numa_nodes.","commit_id":"267fe75ee8065dc60e8844af6ce36a3b6c463d5f"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"d718e1c7738129df892cc6f1f66c8b84b4348646","unresolved":false,"context_lines":[{"line_number":106,"context_line":""},{"line_number":107,"context_line":"* Configure SR-IOV on ESX following the instructions on [1]_"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"* Whitelist PCI devices on nova-compute as mentioned in [2]_"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"* On nova-scheduler, add \u0027PciPassthroughFilter\u0027 to scheduler_default_filters"},{"line_number":112,"context_line":"  in /etc/nova/nova.conf [2]_"}],"source_content_type":"text/x-rst","patch_set":10,"id":"dfeb2761_bd6fbafa","line":109,"updated":"2017-04-04 15:44:29.000000000","message":"But don\u0027t you somehow need to list all devices in the cluster? Rather than just devices on the specific host? I guess that means you have to assume all nodes in the cluster look the same?","commit_id":"267fe75ee8065dc60e8844af6ce36a3b6c463d5f"},{"author":{"_account_id":16929,"name":"Giridhar Jayavelu","email":"gjayavelu@vmware.com","username":"gjayavelu"},"change_message_id":"f96ab9afe717406645c8d7c13fc45bc820fdcab4","unresolved":false,"context_lines":[{"line_number":106,"context_line":""},{"line_number":107,"context_line":"* Configure SR-IOV on ESX following the instructions on [1]_"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"* Whitelist PCI devices on nova-compute as mentioned in [2]_"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"* On nova-scheduler, add \u0027PciPassthroughFilter\u0027 to scheduler_default_filters"},{"line_number":112,"context_line":"  in /etc/nova/nova.conf [2]_"}],"source_content_type":"text/x-rst","patch_set":10,"id":"bff0334d_0e16254a","line":109,"in_reply_to":"dfeb2761_bd6fbafa","updated":"2017-04-11 23:04:40.000000000","message":"This would list devices from ALL hosts with a cluster. And yes, in general, the best practice for vmware cluster is to be homogeneous.","commit_id":"267fe75ee8065dc60e8844af6ce36a3b6c463d5f"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"d718e1c7738129df892cc6f1f66c8b84b4348646","unresolved":false,"context_lines":[{"line_number":119,"context_line":""},{"line_number":120,"context_line":"* Update image metadata property hw_vif_model to \u0027virtualsriovethernetcard\u0027::"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"  $ openstack image set --property hw_vif_model\u003dvirtualsriovethernetcard \u003cimage\u003e"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"* Boot an instance with the image and flavor used from the steps above::"},{"line_number":125,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"dfeb2761_3d7baabe","line":122,"range":{"start_line":122,"start_character":48,"end_line":122,"end_character":72},"updated":"2017-04-04 15:44:29.000000000","message":"What is that? a new thing for vmware? I thought we tried to give these names that were cross hypervisor? Is there a specific driver required in the image? Or is that the raw nic driver that it needs?","commit_id":"267fe75ee8065dc60e8844af6ce36a3b6c463d5f"},{"author":{"_account_id":16929,"name":"Giridhar Jayavelu","email":"gjayavelu@vmware.com","username":"gjayavelu"},"change_message_id":"f96ab9afe717406645c8d7c13fc45bc820fdcab4","unresolved":false,"context_lines":[{"line_number":119,"context_line":""},{"line_number":120,"context_line":"* Update image metadata property hw_vif_model to \u0027virtualsriovethernetcard\u0027::"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"  $ openstack image set --property hw_vif_model\u003dvirtualsriovethernetcard \u003cimage\u003e"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"* Boot an instance with the image and flavor used from the steps above::"},{"line_number":125,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"bff0334d_8e7115ab","line":122,"range":{"start_line":122,"start_character":48,"end_line":122,"end_character":72},"in_reply_to":"dfeb2761_3d7baabe","updated":"2017-04-11 23:04:40.000000000","message":"Virtual machines on VMware can support multiple driver types such as e1000, e1000e, vmxnet2, vmxnet3 and also virtualsriovethernetcard.\n\nvirtualsriovethernetcard refers to a virtual function from SR-IOV enabled pci device on the host.\n\nNo, there is no specific driver required in the image. The driver is same the VF driver matching the PF driver.","commit_id":"267fe75ee8065dc60e8844af6ce36a3b6c463d5f"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"d718e1c7738129df892cc6f1f66c8b84b4348646","unresolved":false,"context_lines":[{"line_number":123,"context_line":""},{"line_number":124,"context_line":"* Boot an instance with the image and flavor used from the steps above::"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"  $ openstack server create --flavor \u003cflavor\u003e --image \u003cimage\u003e \u003cserver-name\u003e"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"This spec does not add support for direct passthrough in VMware driver because"},{"line_number":129,"context_line":"the implementation in vSphere is different from SR-IOV. Direct passthrough"}],"source_content_type":"text/x-rst","patch_set":10,"id":"dfeb2761_90d17d26","line":126,"updated":"2017-04-04 15:44:29.000000000","message":"Can we please be explicit about the networking here. What network is the SR-IOV port created on. How do you match that up correctly here?","commit_id":"267fe75ee8065dc60e8844af6ce36a3b6c463d5f"},{"author":{"_account_id":16929,"name":"Giridhar Jayavelu","email":"gjayavelu@vmware.com","username":"gjayavelu"},"change_message_id":"f96ab9afe717406645c8d7c13fc45bc820fdcab4","unresolved":false,"context_lines":[{"line_number":123,"context_line":""},{"line_number":124,"context_line":"* Boot an instance with the image and flavor used from the steps above::"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"  $ openstack server create --flavor \u003cflavor\u003e --image \u003cimage\u003e \u003cserver-name\u003e"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"This spec does not add support for direct passthrough in VMware driver because"},{"line_number":129,"context_line":"the implementation in vSphere is different from SR-IOV. Direct passthrough"}],"source_content_type":"text/x-rst","patch_set":10,"id":"bff0334d_6e6c91cd","line":126,"in_reply_to":"dfeb2761_90d17d26","updated":"2017-04-11 23:04:40.000000000","message":"sure","commit_id":"267fe75ee8065dc60e8844af6ce36a3b6c463d5f"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"d718e1c7738129df892cc6f1f66c8b84b4348646","unresolved":false,"context_lines":[{"line_number":130,"context_line":"devices cannot be attached as virtual ethernet card and not associated with"},{"line_number":131,"context_line":"network backing. Given a minimum of one network required to boot an instance"},{"line_number":132,"context_line":"in nova, supporting direct passthrough is not straight forward for VMware"},{"line_number":133,"context_line":"driver and therefore out of scope for this spec."},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"Alternatives"},{"line_number":136,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":10,"id":"dfeb2761_d03ee589","line":133,"updated":"2017-04-04 15:44:29.000000000","message":"But doesn\u0027t virtualsriovethernetcard basically mean the equivalent of direct pass through?\n\nThe vmware docs don\u0027t seem clear to me on that front, but that is what is suggested here:\nhttps://kb.vmware.com/selfservice/microsites/search.do?language\u003den_US\u0026cmd\u003ddisplayKC\u0026externalId\u003d2038739","commit_id":"267fe75ee8065dc60e8844af6ce36a3b6c463d5f"},{"author":{"_account_id":16929,"name":"Giridhar Jayavelu","email":"gjayavelu@vmware.com","username":"gjayavelu"},"change_message_id":"f96ab9afe717406645c8d7c13fc45bc820fdcab4","unresolved":false,"context_lines":[{"line_number":130,"context_line":"devices cannot be attached as virtual ethernet card and not associated with"},{"line_number":131,"context_line":"network backing. Given a minimum of one network required to boot an instance"},{"line_number":132,"context_line":"in nova, supporting direct passthrough is not straight forward for VMware"},{"line_number":133,"context_line":"driver and therefore out of scope for this spec."},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"Alternatives"},{"line_number":136,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":10,"id":"bff0334d_0ee06525","line":133,"in_reply_to":"dfeb2761_d03ee589","updated":"2017-04-11 23:04:40.000000000","message":"NO virtualsriovethernetcard is not direct passthrough. virtualsriovethernetcard is backend type \"networking\" virtual function which can added a Ethernet adapter on virtual machine. This also means a valid network backing is required.\n\nDirect IO devices are attached as generic pci devices on a virtual machine. There is no network backing required to create generic pci device on VM.","commit_id":"267fe75ee8065dc60e8844af6ce36a3b6c463d5f"}]}
