)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2deea314194f299f23e68f7ef1481c84117bb4cc","unresolved":false,"context_lines":[{"line_number":10,"context_line":"host info structure and modify the PCI filter to add the hability"},{"line_number":11,"context_line":"to filter by this new feature."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"DocImpact"},{"line_number":14,"context_line":"blueprint enable-sriov-nic-features"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I23b39da6f09178bff14034aadd9e8f487c9e516f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"9a30ddce_f5aef696","line":13,"range":{"start_line":13,"start_character":0,"end_line":13,"end_character":9},"updated":"2017-03-08 11:48:02.000000000","message":"remove this - we don\u0027t use it anymore (reno does the job)","commit_id":"fb25ea9e3342448b501fa1419a689d0071e85ca7"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"cff421081738c33bb1a2f61f82ceab0f2a595bbc","unresolved":false,"context_lines":[{"line_number":10,"context_line":"host info structure and modify the PCI filter to add the hability"},{"line_number":11,"context_line":"to filter by this new feature."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"DocImpact"},{"line_number":14,"context_line":"blueprint enable-sriov-nic-features"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: I23b39da6f09178bff14034aadd9e8f487c9e516f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"9a30ddce_d06d8005","line":13,"range":{"start_line":13,"start_character":0,"end_line":13,"end_character":9},"in_reply_to":"9a30ddce_f5aef696","updated":"2017-03-08 12:49:30.000000000","message":"Thanks! You are right","commit_id":"fb25ea9e3342448b501fa1419a689d0071e85ca7"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1a3aba38d7e7a24bbc0af7e11c13871adeec1dc0","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Enable SR-IOV NIC offload feature discovery"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This feature will parse this NIC features, store in the Scheduler"},{"line_number":10,"context_line":"host info structure and modify the PCI filter to add the hability"},{"line_number":11,"context_line":"to filter by this new feature."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"blueprint enable-sriov-nic-features"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"9a30ddce_83300da0","line":10,"updated":"2017-03-09 00:12:52.000000000","message":"Is a hability an ability or a habit? ;)","commit_id":"a2c4ea4dd7443268a66c42aa53cefb67b7e567c1"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"19a0eae6a1d2f74f949ac4b6eb616ae51e21d101","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Enable SR-IOV NIC offload feature discovery"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This feature will parse this NIC features, store in the Scheduler"},{"line_number":10,"context_line":"host info structure and modify the PCI filter to add the hability"},{"line_number":11,"context_line":"to filter by this new feature."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"blueprint enable-sriov-nic-features"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"9a30ddce_8b23ada6","line":10,"in_reply_to":"9a30ddce_83300da0","updated":"2017-03-09 16:32:59.000000000","message":"Sorry, in Spanish is with \"h\" hehehe","commit_id":"a2c4ea4dd7443268a66c42aa53cefb67b7e567c1"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1a3aba38d7e7a24bbc0af7e11c13871adeec1dc0","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This feature will parse this NIC features, store in the Scheduler"},{"line_number":10,"context_line":"host info structure and modify the PCI filter to add the hability"},{"line_number":11,"context_line":"to filter by this new feature."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"blueprint enable-sriov-nic-features"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"9a30ddce_83d72d22","line":11,"updated":"2017-03-09 00:12:52.000000000","message":"I\u0027d just shorten the above paragraph to:\n\n Proposal to query NIC features and allow the Nova scheduler\n to filter compute hosts based on those NIC features.","commit_id":"a2c4ea4dd7443268a66c42aa53cefb67b7e567c1"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"19a0eae6a1d2f74f949ac4b6eb616ae51e21d101","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This feature will parse this NIC features, store in the Scheduler"},{"line_number":10,"context_line":"host info structure and modify the PCI filter to add the hability"},{"line_number":11,"context_line":"to filter by this new feature."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"blueprint enable-sriov-nic-features"},{"line_number":14,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"9a30ddce_cb404537","line":11,"in_reply_to":"9a30ddce_83d72d22","updated":"2017-03-09 16:32:59.000000000","message":"Done","commit_id":"a2c4ea4dd7443268a66c42aa53cefb67b7e567c1"}],"specs/pike/approved/enable-sriov-nic-features.rst":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"26e74fe9a60c8a5f0ab43cfc0deac92507a40fd6","unresolved":false,"context_lines":[{"line_number":155,"context_line":"The Nova Scheduler filter ``PciPassthroughFilter`` will be modified to include"},{"line_number":156,"context_line":"the NIC features in the checking loop. As said before, this parameter is a list"},{"line_number":157,"context_line":"of strings. Each one of this strings is a NIC feature. This list, by default,"},{"line_number":158,"context_line":"is empty."},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"Alternatives"},{"line_number":161,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"da36d5c6_f9703aa6","line":158,"updated":"2017-02-24 15:37:37.000000000","message":"Just dropping a note related to what I pointed out orally during PTG : please make sure that you have some magic in that filter so you gracefully accept to have old computes not providing the model you expect.","commit_id":"67393bc8feae916d41b310f3ef3cbc11c7bdabf1"},{"author":{"_account_id":12171,"name":"Moshe Levi","email":"moshele@nvidia.com","username":"moshele"},"change_message_id":"70f81ab98e503d6bcbc9aac7ec909e4c7ad17e30","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        \u003cfeature name\u003d\u0027gro\u0027/\u003e"},{"line_number":85,"context_line":"        \u003cfeature name\u003d\u0027rxvlan\u0027/\u003e"},{"line_number":86,"context_line":"        \u003cfeature name\u003d\u0027txvlan\u0027/\u003e"},{"line_number":87,"context_line":"        \u003cfeature name\u003d\u0027rxhash\u0027/\u003e"},{"line_number":88,"context_line":"        \u003ccapability type\u003d\u002780203\u0027/\u003e"},{"line_number":89,"context_line":"      \u003c/capability\u003e"},{"line_number":90,"context_line":"    \u003c/device\u003e"},{"line_number":91,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ba2be162_1c6ddecb","line":88,"range":{"start_line":87,"start_character":0,"end_line":88,"end_character":34},"updated":"2017-03-06 08:54:07.000000000","message":"I added a while back rdma and txudptnl. can you support them as well.\nsee https://libvirt.org/formatnode.html see https://gitlab.com/libvirt/libvirt/commit/ac3ed2085fcbeecaf5aa347c0b1bffaf94fff293","commit_id":"cd59add870575a529724144ae27aa1ae1d05d9c9"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"788267ad0910dc18aa69016351f74f121a650e76","unresolved":false,"context_lines":[{"line_number":84,"context_line":"        \u003cfeature name\u003d\u0027gro\u0027/\u003e"},{"line_number":85,"context_line":"        \u003cfeature name\u003d\u0027rxvlan\u0027/\u003e"},{"line_number":86,"context_line":"        \u003cfeature name\u003d\u0027txvlan\u0027/\u003e"},{"line_number":87,"context_line":"        \u003cfeature name\u003d\u0027rxhash\u0027/\u003e"},{"line_number":88,"context_line":"        \u003ccapability type\u003d\u002780203\u0027/\u003e"},{"line_number":89,"context_line":"      \u003c/capability\u003e"},{"line_number":90,"context_line":"    \u003c/device\u003e"},{"line_number":91,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"9a30ddce_d35f8a73","line":88,"range":{"start_line":87,"start_character":0,"end_line":88,"end_character":34},"in_reply_to":"ba2be162_1c6ddecb","updated":"2017-03-07 10:18:37.000000000","message":"For sure. Everything inside a \"feature\" section will be read and added to the list of NIC features. But to improve the example I\u0027ll complete it with the new features. Thanks for the tip!","commit_id":"cd59add870575a529724144ae27aa1ae1d05d9c9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2deea314194f299f23e68f7ef1481c84117bb4cc","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"E.g.: how to define a Neutron port with NIC features information ::"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"    openstack port create --binding-profile \u0027{\"nic_features\": \"rx,tso\"}\u0027 \\"},{"line_number":139,"context_line":"    --network private port1"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a30ddce_356ece96","line":138,"updated":"2017-03-08 11:48:02.000000000","message":"nit: precede commands with \u0027$\u0027","commit_id":"fb25ea9e3342448b501fa1419a689d0071e85ca7"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"cff421081738c33bb1a2f61f82ceab0f2a595bbc","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"E.g.: how to define a Neutron port with NIC features information ::"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"    openstack port create --binding-profile \u0027{\"nic_features\": \"rx,tso\"}\u0027 \\"},{"line_number":139,"context_line":"    --network private port1"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a30ddce_305a5c51","line":138,"in_reply_to":"9a30ddce_356ece96","updated":"2017-03-08 12:49:30.000000000","message":"Done","commit_id":"fb25ea9e3342448b501fa1419a689d0071e85ca7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2deea314194f299f23e68f7ef1481c84117bb4cc","unresolved":false,"context_lines":[{"line_number":148,"context_line":"of requests will contain the NIC features list too for each PCI device."},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"To add this new parameter to the filter, ``PciDeviceStats`` PCI device pools"},{"line_number":151,"context_line":"will contain a new tag key (\u0027nic_features\u0027). Because every virtual function"},{"line_number":152,"context_line":"in the pool belongs to the same PCI device, all of them have the same NIC"},{"line_number":153,"context_line":"features."},{"line_number":154,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a30ddce_f5127608","line":151,"range":{"start_line":151,"start_character":29,"end_line":151,"end_character":41},"updated":"2017-03-08 11:48:02.000000000","message":"This could likely be formatted as ``code``","commit_id":"fb25ea9e3342448b501fa1419a689d0071e85ca7"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"cff421081738c33bb1a2f61f82ceab0f2a595bbc","unresolved":false,"context_lines":[{"line_number":148,"context_line":"of requests will contain the NIC features list too for each PCI device."},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"To add this new parameter to the filter, ``PciDeviceStats`` PCI device pools"},{"line_number":151,"context_line":"will contain a new tag key (\u0027nic_features\u0027). Because every virtual function"},{"line_number":152,"context_line":"in the pool belongs to the same PCI device, all of them have the same NIC"},{"line_number":153,"context_line":"features."},{"line_number":154,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a30ddce_7002140d","line":151,"range":{"start_line":151,"start_character":29,"end_line":151,"end_character":41},"in_reply_to":"9a30ddce_f5127608","updated":"2017-03-08 12:49:30.000000000","message":"Done","commit_id":"fb25ea9e3342448b501fa1419a689d0071e85ca7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2deea314194f299f23e68f7ef1481c84117bb4cc","unresolved":false,"context_lines":[{"line_number":156,"context_line":"\u0027nic_features\u0027 parameter, the filter will try to match this value with the one"},{"line_number":157,"context_line":"stored in the pools."},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"No modifications are needed"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"Alternatives"},{"line_number":162,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a30ddce_d5265267","line":159,"range":{"start_line":159,"start_character":0,"end_line":159,"end_character":27},"updated":"2017-03-08 11:48:02.000000000","message":"No modifications are needed to the filter itself, you mean?","commit_id":"fb25ea9e3342448b501fa1419a689d0071e85ca7"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"cff421081738c33bb1a2f61f82ceab0f2a595bbc","unresolved":false,"context_lines":[{"line_number":156,"context_line":"\u0027nic_features\u0027 parameter, the filter will try to match this value with the one"},{"line_number":157,"context_line":"stored in the pools."},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"No modifications are needed"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"Alternatives"},{"line_number":162,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a30ddce_5b4c5170","line":159,"range":{"start_line":159,"start_character":0,"end_line":159,"end_character":27},"in_reply_to":"9a30ddce_d5265267","updated":"2017-03-08 12:49:30.000000000","message":"Yes, this is an orphan phrase I never finished...","commit_id":"fb25ea9e3342448b501fa1419a689d0071e85ca7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2deea314194f299f23e68f7ef1481c84117bb4cc","unresolved":false,"context_lines":[{"line_number":161,"context_line":"Alternatives"},{"line_number":162,"context_line":"------------"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"* To store NIC feature as a set strings, well known by Nova. Having this set"},{"line_number":165,"context_line":"  of known features, Nova can check and accept only those known one. The"},{"line_number":166,"context_line":"  problem is to keep an updated set of NIC features. Also this feature doesn\u0027t"},{"line_number":167,"context_line":"  add any needed value."},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"* The way the NIC features are stored. Instead of adding this values to a"},{"line_number":170,"context_line":"  member list in the PCI object, an alternative could"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a30ddce_751686f2","line":167,"range":{"start_line":164,"start_character":0,"end_line":167,"end_character":23},"updated":"2017-03-08 11:48:02.000000000","message":"Could you rephrase this? I\u0027m not sure what you mean","commit_id":"fb25ea9e3342448b501fa1419a689d0071e85ca7"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"cff421081738c33bb1a2f61f82ceab0f2a595bbc","unresolved":false,"context_lines":[{"line_number":161,"context_line":"Alternatives"},{"line_number":162,"context_line":"------------"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"* To store NIC feature as a set strings, well known by Nova. Having this set"},{"line_number":165,"context_line":"  of known features, Nova can check and accept only those known one. The"},{"line_number":166,"context_line":"  problem is to keep an updated set of NIC features. Also this feature doesn\u0027t"},{"line_number":167,"context_line":"  add any needed value."},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"* The way the NIC features are stored. Instead of adding this values to a"},{"line_number":170,"context_line":"  member list in the PCI object, an alternative could"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a30ddce_9b9b29c9","line":167,"range":{"start_line":164,"start_character":0,"end_line":167,"end_character":23},"in_reply_to":"9a30ddce_751686f2","updated":"2017-03-08 12:49:30.000000000","message":"Actually this alternative is no more needed. During the PTG, the accepted alternative was to write the NIC feature information in ``pci_devices.extra_info``.","commit_id":"fb25ea9e3342448b501fa1419a689d0071e85ca7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2deea314194f299f23e68f7ef1481c84117bb4cc","unresolved":false,"context_lines":[{"line_number":166,"context_line":"  problem is to keep an updated set of NIC features. Also this feature doesn\u0027t"},{"line_number":167,"context_line":"  add any needed value."},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"* The way the NIC features are stored. Instead of adding this values to a"},{"line_number":170,"context_line":"  member list in the PCI object, an alternative could"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"* To create a new member in Neutron ``port``, containing the feature"},{"line_number":173,"context_line":"  information as a list of strings. However, this change doesn\u0027t add any value"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a30ddce_d5dd7243","line":170,"range":{"start_line":169,"start_character":0,"end_line":170,"end_character":53},"updated":"2017-03-08 11:48:02.000000000","message":"This looks incomplete?","commit_id":"fb25ea9e3342448b501fa1419a689d0071e85ca7"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"cff421081738c33bb1a2f61f82ceab0f2a595bbc","unresolved":false,"context_lines":[{"line_number":166,"context_line":"  problem is to keep an updated set of NIC features. Also this feature doesn\u0027t"},{"line_number":167,"context_line":"  add any needed value."},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"* The way the NIC features are stored. Instead of adding this values to a"},{"line_number":170,"context_line":"  member list in the PCI object, an alternative could"},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"* To create a new member in Neutron ``port``, containing the feature"},{"line_number":173,"context_line":"  information as a list of strings. However, this change doesn\u0027t add any value"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a30ddce_7bed95ee","line":170,"range":{"start_line":169,"start_character":0,"end_line":170,"end_character":53},"in_reply_to":"9a30ddce_d5dd7243","updated":"2017-03-08 12:49:30.000000000","message":"Pffff sorry. This should be deleted.","commit_id":"fb25ea9e3342448b501fa1419a689d0071e85ca7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2deea314194f299f23e68f7ef1481c84117bb4cc","unresolved":false,"context_lines":[{"line_number":171,"context_line":""},{"line_number":172,"context_line":"* To create a new member in Neutron ``port``, containing the feature"},{"line_number":173,"context_line":"  information as a list of strings. However, this change doesn\u0027t add any value"},{"line_number":174,"context_line":"  because currently   there is a place, ``binding:profile``, to define and"},{"line_number":175,"context_line":"  store this information."},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a30ddce_15e8eae1","line":174,"range":{"start_line":174,"start_character":20,"end_line":174,"end_character":22},"updated":"2017-03-08 11:48:02.000000000","message":"nit: extra spaces","commit_id":"fb25ea9e3342448b501fa1419a689d0071e85ca7"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"cff421081738c33bb1a2f61f82ceab0f2a595bbc","unresolved":false,"context_lines":[{"line_number":171,"context_line":""},{"line_number":172,"context_line":"* To create a new member in Neutron ``port``, containing the feature"},{"line_number":173,"context_line":"  information as a list of strings. However, this change doesn\u0027t add any value"},{"line_number":174,"context_line":"  because currently   there is a place, ``binding:profile``, to define and"},{"line_number":175,"context_line":"  store this information."},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a30ddce_fba8a5dd","line":174,"range":{"start_line":174,"start_character":20,"end_line":174,"end_character":22},"in_reply_to":"9a30ddce_15e8eae1","updated":"2017-03-08 12:49:30.000000000","message":"Done","commit_id":"fb25ea9e3342448b501fa1419a689d0071e85ca7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2deea314194f299f23e68f7ef1481c84117bb4cc","unresolved":false,"context_lines":[{"line_number":247,"context_line":"Few unittest needs to be adjusted to work correctly. All the unittest and"},{"line_number":248,"context_line":"functional should be passed after the change."},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"Once the CI with specific harware is added to Jenkins, new fullstack tests"},{"line_number":251,"context_line":"will be added."},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"Documentation Impact"},{"line_number":254,"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":5,"id":"9a30ddce_75eda6ee","line":251,"range":{"start_line":250,"start_character":55,"end_line":251,"end_character":14},"updated":"2017-03-08 11:48:02.000000000","message":"fullstack? Do you mean third-party CI or...?","commit_id":"fb25ea9e3342448b501fa1419a689d0071e85ca7"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"cff421081738c33bb1a2f61f82ceab0f2a595bbc","unresolved":false,"context_lines":[{"line_number":247,"context_line":"Few unittest needs to be adjusted to work correctly. All the unittest and"},{"line_number":248,"context_line":"functional should be passed after the change."},{"line_number":249,"context_line":""},{"line_number":250,"context_line":"Once the CI with specific harware is added to Jenkins, new fullstack tests"},{"line_number":251,"context_line":"will be added."},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"Documentation Impact"},{"line_number":254,"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":5,"id":"9a30ddce_5b91b198","line":251,"range":{"start_line":250,"start_character":55,"end_line":251,"end_character":14},"in_reply_to":"9a30ddce_75eda6ee","updated":"2017-03-08 12:49:30.000000000","message":"Yes, third-party CI tests, you are right.\n\nThis feature will directly depend on the hardware.","commit_id":"fb25ea9e3342448b501fa1419a689d0071e85ca7"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"2deea314194f299f23e68f7ef1481c84117bb4cc","unresolved":false,"context_lines":[{"line_number":257,"context_line":""},{"line_number":258,"context_line":"* How to define the new parameters in the Nova Flavor extra specs fields."},{"line_number":259,"context_line":"* How to define a new Neutron port with these new parameters."},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"References"},{"line_number":262,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":263,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a30ddce_f5b7d6f2","line":260,"updated":"2017-03-08 11:48:02.000000000","message":"This also needs to be added to the SR-IOV section in openstack-manuals","commit_id":"fb25ea9e3342448b501fa1419a689d0071e85ca7"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"cff421081738c33bb1a2f61f82ceab0f2a595bbc","unresolved":false,"context_lines":[{"line_number":257,"context_line":""},{"line_number":258,"context_line":"* How to define the new parameters in the Nova Flavor extra specs fields."},{"line_number":259,"context_line":"* How to define a new Neutron port with these new parameters."},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"References"},{"line_number":262,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":263,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a30ddce_fbcd05b8","line":260,"in_reply_to":"9a30ddce_f5b7d6f2","updated":"2017-03-08 12:49:30.000000000","message":"Done","commit_id":"fb25ea9e3342448b501fa1419a689d0071e85ca7"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1a3aba38d7e7a24bbc0af7e11c13871adeec1dc0","unresolved":false,"context_lines":[{"line_number":15,"context_line":"some of these functions to dedicated hardware this frees up CPU cycles for"},{"line_number":16,"context_line":"applications running on the system."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"``libvirt`` implemented the SR-IOV NIC offload feature discovery on version"},{"line_number":19,"context_line":"1.2.14 [1]."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a30ddce_43ee15ed","line":18,"updated":"2017-03-09 00:12:52.000000000","message":"s/on/in/","commit_id":"a2c4ea4dd7443268a66c42aa53cefb67b7e567c1"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"19a0eae6a1d2f74f949ac4b6eb616ae51e21d101","unresolved":false,"context_lines":[{"line_number":15,"context_line":"some of these functions to dedicated hardware this frees up CPU cycles for"},{"line_number":16,"context_line":"applications running on the system."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"``libvirt`` implemented the SR-IOV NIC offload feature discovery on version"},{"line_number":19,"context_line":"1.2.14 [1]."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Problem description"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a30ddce_3aa20dfe","line":18,"in_reply_to":"9a30ddce_43ee15ed","updated":"2017-03-09 16:32:59.000000000","message":"Done","commit_id":"a2c4ea4dd7443268a66c42aa53cefb67b7e567c1"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1a3aba38d7e7a24bbc0af7e11c13871adeec1dc0","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Currently, Nova doesn\u0027t retrieve any physical NIC information from the system."},{"line_number":25,"context_line":"In particular, NIC offload features are very useful for network intensive"},{"line_number":26,"context_line":"applications."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"This information could be useful to determine, during the scheduling process,"},{"line_number":29,"context_line":"which host should contain a virtual machine. If a virtual machine, during the"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a30ddce_439c5569","line":26,"updated":"2017-03-09 00:12:52.000000000","message":"The above paragraph reads oddly. Consider reversing the order of the two sentences into something like this:\n\nNIC features, in particular features around various hardware offload, are useful for network-intensive applications. Unfortunately, Nova doesn\u0027t yet retrieve physical NIC information from the system, which means the scheduler cannot filter out compute hosts that contain certain NIC features.","commit_id":"a2c4ea4dd7443268a66c42aa53cefb67b7e567c1"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"19a0eae6a1d2f74f949ac4b6eb616ae51e21d101","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Currently, Nova doesn\u0027t retrieve any physical NIC information from the system."},{"line_number":25,"context_line":"In particular, NIC offload features are very useful for network intensive"},{"line_number":26,"context_line":"applications."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"This information could be useful to determine, during the scheduling process,"},{"line_number":29,"context_line":"which host should contain a virtual machine. If a virtual machine, during the"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a30ddce_7af645fa","line":26,"in_reply_to":"9a30ddce_439c5569","updated":"2017-03-09 16:32:59.000000000","message":"Thanks, I appreciate this feedback. I need to improve my English and my writing skills.","commit_id":"a2c4ea4dd7443268a66c42aa53cefb67b7e567c1"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1a3aba38d7e7a24bbc0af7e11c13871adeec1dc0","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"The aim of this spec is to fill this gap by proposing a method to read this"},{"line_number":34,"context_line":"information, to store this data, to use it during the scheduling process and to"},{"line_number":35,"context_line":"show how Neutron should be updated."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Use Cases"},{"line_number":38,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a30ddce_4373754d","line":35,"range":{"start_line":35,"start_character":9,"end_line":35,"end_character":16},"updated":"2017-03-09 00:12:52.000000000","message":"how Neutron should be updated or how Nova should be updated? (Or both?)","commit_id":"a2c4ea4dd7443268a66c42aa53cefb67b7e567c1"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"19a0eae6a1d2f74f949ac4b6eb616ae51e21d101","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"The aim of this spec is to fill this gap by proposing a method to read this"},{"line_number":34,"context_line":"information, to store this data, to use it during the scheduling process and to"},{"line_number":35,"context_line":"show how Neutron should be updated."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Use Cases"},{"line_number":38,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a30ddce_3a65adb4","line":35,"range":{"start_line":35,"start_character":9,"end_line":35,"end_character":16},"in_reply_to":"9a30ddce_4373754d","updated":"2017-03-09 16:32:59.000000000","message":"This is not accurate: Neutron should be informed, by adding the port_binding information (\"Proposed change\", section 4 \"Neutron port ``binding:profile``\")","commit_id":"a2c4ea4dd7443268a66c42aa53cefb67b7e567c1"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1a3aba38d7e7a24bbc0af7e11c13871adeec1dc0","unresolved":false,"context_lines":[{"line_number":41,"context_line":"  using SR-IOV. The administrator creates a port to be used as a SR-IOV port"},{"line_number":42,"context_line":"  (vnic-type: direct, physical-direct). Besides the current information stored"},{"line_number":43,"context_line":"  in Neutron, a list of NIC offload features is added to this port in the"},{"line_number":44,"context_line":"  \"profile\" parameter. When the administrator request a virtual machine along"},{"line_number":45,"context_line":"  with this port, Nova Scheduler will search for a host with a PCI device and"},{"line_number":46,"context_line":"  this set of NIC offload features."},{"line_number":47,"context_line":"* Using the same example, a network intensive application is going to be run"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a30ddce_43c1b52d","line":44,"range":{"start_line":44,"start_character":32,"end_line":44,"end_character":53},"updated":"2017-03-09 00:12:52.000000000","message":"The administrator doesn\u0027t request a VM, typically a normal user does. I understand that in telco installations, there typically is little to no distinction between an admin/operator and a normal user, though.\n\nIn any case, I\u0027d change this to \"user requests\" instead of \"adminstrator request\".","commit_id":"a2c4ea4dd7443268a66c42aa53cefb67b7e567c1"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"19a0eae6a1d2f74f949ac4b6eb616ae51e21d101","unresolved":false,"context_lines":[{"line_number":41,"context_line":"  using SR-IOV. The administrator creates a port to be used as a SR-IOV port"},{"line_number":42,"context_line":"  (vnic-type: direct, physical-direct). Besides the current information stored"},{"line_number":43,"context_line":"  in Neutron, a list of NIC offload features is added to this port in the"},{"line_number":44,"context_line":"  \"profile\" parameter. When the administrator request a virtual machine along"},{"line_number":45,"context_line":"  with this port, Nova Scheduler will search for a host with a PCI device and"},{"line_number":46,"context_line":"  this set of NIC offload features."},{"line_number":47,"context_line":"* Using the same example, a network intensive application is going to be run"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a30ddce_ba719d78","line":44,"range":{"start_line":44,"start_character":32,"end_line":44,"end_character":53},"in_reply_to":"9a30ddce_43c1b52d","updated":"2017-03-09 16:32:59.000000000","message":"Done","commit_id":"a2c4ea4dd7443268a66c42aa53cefb67b7e567c1"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1a3aba38d7e7a24bbc0af7e11c13871adeec1dc0","unresolved":false,"context_lines":[{"line_number":48,"context_line":"  in a virtual machine, using SR-IOV. This time, the administrator can improve"},{"line_number":49,"context_line":"  the PCI alias definition by adding the NIC feature list to the \"pci_alias\""},{"line_number":50,"context_line":"  configuration variable. The requested instance will require a PCI device with"},{"line_number":51,"context_line":"  the defined NIC features."},{"line_number":52,"context_line":""},{"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"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a30ddce_631319b9","line":51,"updated":"2017-03-09 00:12:52.000000000","message":"The above three bullet points aren\u0027t really use cases; instead, they are more of a proposed user workflow.\n\nA use case would be something more like the following:\n\nAn NFV MANO/VNFM system needs to ensure that a particular network I/O-intensive workload is launched on a compute host with SR-IOV NIC hardware that has TSO and checksumming hardware offloads enabled.","commit_id":"a2c4ea4dd7443268a66c42aa53cefb67b7e567c1"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"19a0eae6a1d2f74f949ac4b6eb616ae51e21d101","unresolved":false,"context_lines":[{"line_number":48,"context_line":"  in a virtual machine, using SR-IOV. This time, the administrator can improve"},{"line_number":49,"context_line":"  the PCI alias definition by adding the NIC feature list to the \"pci_alias\""},{"line_number":50,"context_line":"  configuration variable. The requested instance will require a PCI device with"},{"line_number":51,"context_line":"  the defined NIC features."},{"line_number":52,"context_line":""},{"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"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a30ddce_abdf9167","line":51,"in_reply_to":"9a30ddce_631319b9","updated":"2017-03-09 16:32:59.000000000","message":"Done","commit_id":"a2c4ea4dd7443268a66c42aa53cefb67b7e567c1"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1a3aba38d7e7a24bbc0af7e11c13871adeec1dc0","unresolved":false,"context_lines":[{"line_number":58,"context_line":"* A method to read the NIC feature information."},{"line_number":59,"context_line":"* A method to store this information in the Nova DB."},{"line_number":60,"context_line":"* An addition to \"pci_alias\" definition to include the NIC features."},{"line_number":61,"context_line":"* How to define a Neutron port definition to include the NIC features."},{"line_number":62,"context_line":"* How Nova Scheduler PCI filter will match this new information."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"NIC feature information"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a30ddce_e36e292e","line":61,"updated":"2017-03-09 00:12:52.000000000","message":"I\u0027m actually a little confused why the Neutron port definition needs to change at all? It\u0027s the *workload* -- i.e. the virtual machine / VNF -- that needs to indicate a preference for certain hardware offloads to be enabled on the NIC, right? So, the only place that should need to be modified is the flavor and image metadata in Nova.\n\nAm I missing something?","commit_id":"a2c4ea4dd7443268a66c42aa53cefb67b7e567c1"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"19a0eae6a1d2f74f949ac4b6eb616ae51e21d101","unresolved":false,"context_lines":[{"line_number":58,"context_line":"* A method to read the NIC feature information."},{"line_number":59,"context_line":"* A method to store this information in the Nova DB."},{"line_number":60,"context_line":"* An addition to \"pci_alias\" definition to include the NIC features."},{"line_number":61,"context_line":"* How to define a Neutron port definition to include the NIC features."},{"line_number":62,"context_line":"* How Nova Scheduler PCI filter will match this new information."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"NIC feature information"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a30ddce_eb9d0967","line":61,"in_reply_to":"9a30ddce_e36e292e","updated":"2017-03-09 16:32:59.000000000","message":"You are right. I\u0027ll take out this bullet from this list (\"changes in Nova\").\n\nBut I\u0027ll put this point also in the proposed change for documentation purposes. This will be added to in the OpenStack manuals and the devref.","commit_id":"a2c4ea4dd7443268a66c42aa53cefb67b7e567c1"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1a3aba38d7e7a24bbc0af7e11c13871adeec1dc0","unresolved":false,"context_lines":[{"line_number":64,"context_line":"NIC feature information"},{"line_number":65,"context_line":"-----------------------"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"The libvirt API currently provides the feature list of a NIC device. Using the"},{"line_number":68,"context_line":"command line utility we can retrieve the following information ::"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    $ virsh nodedev-dumpxml net_ens785_68_05_ca_34_83_60"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a30ddce_83648d49","line":67,"updated":"2017-03-09 00:12:52.000000000","message":"What about non-libvirt hypervisors? Do we care?","commit_id":"a2c4ea4dd7443268a66c42aa53cefb67b7e567c1"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"19a0eae6a1d2f74f949ac4b6eb616ae51e21d101","unresolved":false,"context_lines":[{"line_number":64,"context_line":"NIC feature information"},{"line_number":65,"context_line":"-----------------------"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"The libvirt API currently provides the feature list of a NIC device. Using the"},{"line_number":68,"context_line":"command line utility we can retrieve the following information ::"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"    $ virsh nodedev-dumpxml net_ens785_68_05_ca_34_83_60"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a30ddce_3a8f6d2b","line":67,"in_reply_to":"9a30ddce_83648d49","updated":"2017-03-09 16:32:59.000000000","message":"I don\u0027t have information about other hypervisor managers. The scope of this spec is reduced to libvirt. To implement this feature in others hypervisor managers could be a technical debt.","commit_id":"a2c4ea4dd7443268a66c42aa53cefb67b7e567c1"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1a3aba38d7e7a24bbc0af7e11c13871adeec1dc0","unresolved":false,"context_lines":[{"line_number":97,"context_line":"``nova.virt.libvirt.config.LibvirtConfigNodeDevicePciCap`` class, called"},{"line_number":98,"context_line":"\u0027nic_features\u0027. This member will be a list of strings, i.e., \u0027rx\u0027, \u0027tso\u0027 or"},{"line_number":99,"context_line":"\u0027rxhash\u0027. This list is empty by default. If a PCI device is not a NIC interface"},{"line_number":100,"context_line":"or doesn\u0027t have any feature, the list will remain empty."},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"Store the NIC features information"},{"line_number":103,"context_line":"----------------------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a30ddce_03d89dee","line":100,"updated":"2017-03-09 00:12:52.000000000","message":"Why does the libvirt XML config need to change? These are hardware features on the host, right? The guest libvirt.xml won\u0027t change regardless of what features the flavor and image metadata request of the host hardware.","commit_id":"a2c4ea4dd7443268a66c42aa53cefb67b7e567c1"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"19a0eae6a1d2f74f949ac4b6eb616ae51e21d101","unresolved":false,"context_lines":[{"line_number":97,"context_line":"``nova.virt.libvirt.config.LibvirtConfigNodeDevicePciCap`` class, called"},{"line_number":98,"context_line":"\u0027nic_features\u0027. This member will be a list of strings, i.e., \u0027rx\u0027, \u0027tso\u0027 or"},{"line_number":99,"context_line":"\u0027rxhash\u0027. This list is empty by default. If a PCI device is not a NIC interface"},{"line_number":100,"context_line":"or doesn\u0027t have any feature, the list will remain empty."},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"Store the NIC features information"},{"line_number":103,"context_line":"----------------------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a30ddce_fabf95a7","line":100,"in_reply_to":"9a30ddce_03d89dee","updated":"2017-03-09 16:32:59.000000000","message":"Of course no, libvirt.xml won\u0027t change because of the requested features. But I need to modify virt.libvirt.config to add a parser for this new fields. Furthermore this parser library doesn\u0027t recognize now a \u003ccapability type\u003dnet\u003e device.","commit_id":"a2c4ea4dd7443268a66c42aa53cefb67b7e567c1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"85bd775dcd89358245eec18efc7064484795c206","unresolved":false,"context_lines":[{"line_number":103,"context_line":"----------------------------------"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"No changes are needed in the database. The NIC information per PCI device will"},{"line_number":106,"context_line":"be stored in ``pci_devices.extra_info`` under a key labeled ``nic_features``."},{"line_number":107,"context_line":"The list of features will be stored as a string of comma separated values ::"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    extra_info: {\u0027nic_features\u0027: \u0027gso,sg,tso,tx\u0027}"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a30ddce_9f64e749","line":106,"range":{"start_line":106,"start_character":62,"end_line":106,"end_character":74},"updated":"2017-03-08 18:51:05.000000000","message":"nit: i would suggest dropping nic an just use features.\nthat would allow it to be reused for feature based scheduling of other types of pci devices in the future. if the traits api is not commpleted in pike/queens.","commit_id":"a2c4ea4dd7443268a66c42aa53cefb67b7e567c1"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"19a0eae6a1d2f74f949ac4b6eb616ae51e21d101","unresolved":false,"context_lines":[{"line_number":103,"context_line":"----------------------------------"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"No changes are needed in the database. The NIC information per PCI device will"},{"line_number":106,"context_line":"be stored in ``pci_devices.extra_info`` under a key labeled ``nic_features``."},{"line_number":107,"context_line":"The list of features will be stored as a string of comma separated values ::"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    extra_info: {\u0027nic_features\u0027: \u0027gso,sg,tso,tx\u0027}"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a30ddce_c06ca437","line":106,"range":{"start_line":106,"start_character":62,"end_line":106,"end_character":74},"in_reply_to":"9a30ddce_63bdd967","updated":"2017-03-09 16:32:59.000000000","message":"I agree with the idea of Jay Pipes.","commit_id":"a2c4ea4dd7443268a66c42aa53cefb67b7e567c1"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1a3aba38d7e7a24bbc0af7e11c13871adeec1dc0","unresolved":false,"context_lines":[{"line_number":103,"context_line":"----------------------------------"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"No changes are needed in the database. The NIC information per PCI device will"},{"line_number":106,"context_line":"be stored in ``pci_devices.extra_info`` under a key labeled ``nic_features``."},{"line_number":107,"context_line":"The list of features will be stored as a string of comma separated values ::"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    extra_info: {\u0027nic_features\u0027: \u0027gso,sg,tso,tx\u0027}"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a30ddce_63bdd967","line":106,"range":{"start_line":106,"start_character":62,"end_line":106,"end_character":74},"in_reply_to":"9a30ddce_9f64e749","updated":"2017-03-09 00:12:52.000000000","message":"Or optionally structure things like so:\n\n \u0027capabilities\u0027: {\n   \u0027network\u0027: [\n     \u0027tx\u0027, \u0027tso\u0027\n   ],\n }","commit_id":"a2c4ea4dd7443268a66c42aa53cefb67b7e567c1"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1a3aba38d7e7a24bbc0af7e11c13871adeec1dc0","unresolved":false,"context_lines":[{"line_number":106,"context_line":"be stored in ``pci_devices.extra_info`` under a key labeled ``nic_features``."},{"line_number":107,"context_line":"The list of features will be stored as a string of comma separated values ::"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    extra_info: {\u0027nic_features\u0027: \u0027gso,sg,tso,tx\u0027}"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"The NIC feature strings will be ordered."}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a30ddce_e3b1c990","line":109,"updated":"2017-03-09 00:12:52.000000000","message":"See above. Recommend just serializing an actual list instead of a comma-delimited string.","commit_id":"a2c4ea4dd7443268a66c42aa53cefb67b7e567c1"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"19a0eae6a1d2f74f949ac4b6eb616ae51e21d101","unresolved":false,"context_lines":[{"line_number":106,"context_line":"be stored in ``pci_devices.extra_info`` under a key labeled ``nic_features``."},{"line_number":107,"context_line":"The list of features will be stored as a string of comma separated values ::"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"    extra_info: {\u0027nic_features\u0027: \u0027gso,sg,tso,tx\u0027}"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"The NIC feature strings will be ordered."}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a30ddce_e07528fa","line":109,"in_reply_to":"9a30ddce_e3b1c990","updated":"2017-03-09 16:32:59.000000000","message":"Done","commit_id":"a2c4ea4dd7443268a66c42aa53cefb67b7e567c1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"85bd775dcd89358245eec18efc7064484795c206","unresolved":false,"context_lines":[{"line_number":122,"context_line":"    pci_alias \u003d {\"name\": \"fortville\","},{"line_number":123,"context_line":"                 \"product_id\": \"1584\","},{"line_number":124,"context_line":"                 \"vendor_id\": \"8086\","},{"line_number":125,"context_line":"                 \"nic_features\": \"tso,rx,rxhash\"}"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"The \u0027pci_alias\u0027 parameter is used in the flavor extra_specs, by setting"},{"line_number":128,"context_line":"the name of a particular alias in \"pci_passthrough:alias\" extra_spec."}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a30ddce_5f4b4fb0","line":125,"range":{"start_line":125,"start_character":18,"end_line":125,"end_character":30},"updated":"2017-03-08 18:51:05.000000000","message":"same as above also features is shorter to type :)","commit_id":"a2c4ea4dd7443268a66c42aa53cefb67b7e567c1"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1a3aba38d7e7a24bbc0af7e11c13871adeec1dc0","unresolved":false,"context_lines":[{"line_number":122,"context_line":"    pci_alias \u003d {\"name\": \"fortville\","},{"line_number":123,"context_line":"                 \"product_id\": \"1584\","},{"line_number":124,"context_line":"                 \"vendor_id\": \"8086\","},{"line_number":125,"context_line":"                 \"nic_features\": \"tso,rx,rxhash\"}"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"The \u0027pci_alias\u0027 parameter is used in the flavor extra_specs, by setting"},{"line_number":128,"context_line":"the name of a particular alias in \"pci_passthrough:alias\" extra_spec."}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a30ddce_6364f921","line":125,"range":{"start_line":125,"start_character":18,"end_line":125,"end_character":30},"in_reply_to":"9a30ddce_5f4b4fb0","updated":"2017-03-09 00:12:52.000000000","message":"I actually don\u0027t understand why the features would be included in the pci_alias at all? The features are discovered on start of the nova-compute worker (in the PCI device manager) and stored in the pci_devices.extra_info field. What is the need to also specify them in the config file?","commit_id":"a2c4ea4dd7443268a66c42aa53cefb67b7e567c1"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"19a0eae6a1d2f74f949ac4b6eb616ae51e21d101","unresolved":false,"context_lines":[{"line_number":122,"context_line":"    pci_alias \u003d {\"name\": \"fortville\","},{"line_number":123,"context_line":"                 \"product_id\": \"1584\","},{"line_number":124,"context_line":"                 \"vendor_id\": \"8086\","},{"line_number":125,"context_line":"                 \"nic_features\": \"tso,rx,rxhash\"}"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"The \u0027pci_alias\u0027 parameter is used in the flavor extra_specs, by setting"},{"line_number":128,"context_line":"the name of a particular alias in \"pci_passthrough:alias\" extra_spec."}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a30ddce_39069286","line":125,"range":{"start_line":125,"start_character":18,"end_line":125,"end_character":30},"in_reply_to":"9a30ddce_6364f921","updated":"2017-03-09 16:32:59.000000000","message":"The pci_device.extra_info field, as you said, will contain the information of the discovered NIC features.\n\nBut pci_alias will contain the *wanted* features. You can have two flavors, one with pci_alias without nic features and other with these features. If you spawn a VM with flavor_no_features, this VM can be boot in any host; on the other side if you spawn a VM with flavor_features, this VM must be booted in a host with a NIC having these features.\n\nI will rewrite this paragraph to make this idea more understandable.","commit_id":"a2c4ea4dd7443268a66c42aa53cefb67b7e567c1"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1a3aba38d7e7a24bbc0af7e11c13871adeec1dc0","unresolved":false,"context_lines":[{"line_number":125,"context_line":"                 \"nic_features\": \"tso,rx,rxhash\"}"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"The \u0027pci_alias\u0027 parameter is used in the flavor extra_specs, by setting"},{"line_number":128,"context_line":"the name of a particular alias in \"pci_passthrough:alias\" extra_spec."},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"Neutron port ``binding:profile``"},{"line_number":131,"context_line":"--------------------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a30ddce_23312106","line":128,"updated":"2017-03-09 00:12:52.000000000","message":"Why not add a \"capabilities.network\" extra spec key that contains the list of required network capabilities? That way we don\u0027t further complicate the whole pci_alias mess.","commit_id":"a2c4ea4dd7443268a66c42aa53cefb67b7e567c1"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"19a0eae6a1d2f74f949ac4b6eb616ae51e21d101","unresolved":false,"context_lines":[{"line_number":125,"context_line":"                 \"nic_features\": \"tso,rx,rxhash\"}"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"The \u0027pci_alias\u0027 parameter is used in the flavor extra_specs, by setting"},{"line_number":128,"context_line":"the name of a particular alias in \"pci_passthrough:alias\" extra_spec."},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"Neutron port ``binding:profile``"},{"line_number":131,"context_line":"--------------------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a30ddce_7433b1ab","line":128,"in_reply_to":"9a30ddce_23312106","updated":"2017-03-09 16:32:59.000000000","message":"I\u0027ll add this explanation/justification to the spec.\n\nAdding a new extra_spec parameter is no as flexible as modifying pci_alias. If you add a unique extra_spec parameter you will force all PCI devices used in this VM to have this features.\n\nBy using pci_alias (in the flavor), we can tell to the scheduler, for example, we want 3 devices of \"pci_alias_type_1\" and 2 devices of \"pci_alias_type_2\"; in this case, the first alias can have some nic features and the second one other features. This way is more flexible.\n\nEven more, we can also add Neutron ports to the boot call which won\u0027t be affected by the requirements included in the pci_alias.","commit_id":"a2c4ea4dd7443268a66c42aa53cefb67b7e567c1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"85bd775dcd89358245eec18efc7064484795c206","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"E.g.: how to define a Neutron port with NIC features information ::"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"    $ openstack port create --binding-profile \u0027{\"nic_features\": \"rx,tso\"}\u0027 \\"},{"line_number":139,"context_line":"        --network private port1"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a30ddce_9fcb071e","line":138,"range":{"start_line":138,"start_character":49,"end_line":138,"end_character":61},"updated":"2017-03-08 18:51:05.000000000","message":"ditto","commit_id":"a2c4ea4dd7443268a66c42aa53cefb67b7e567c1"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"19a0eae6a1d2f74f949ac4b6eb616ae51e21d101","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"E.g.: how to define a Neutron port with NIC features information ::"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"    $ openstack port create --binding-profile \u0027{\"nic_features\": \"rx,tso\"}\u0027 \\"},{"line_number":139,"context_line":"        --network private port1"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a30ddce_b4b7e9f3","line":138,"range":{"start_line":138,"start_character":49,"end_line":138,"end_character":61},"in_reply_to":"9a30ddce_9fcb071e","updated":"2017-03-09 16:32:59.000000000","message":"Done","commit_id":"a2c4ea4dd7443268a66c42aa53cefb67b7e567c1"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1a3aba38d7e7a24bbc0af7e11c13871adeec1dc0","unresolved":false,"context_lines":[{"line_number":136,"context_line":"E.g.: how to define a Neutron port with NIC features information ::"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"    $ openstack port create --binding-profile \u0027{\"nic_features\": \"rx,tso\"}\u0027 \\"},{"line_number":139,"context_line":"        --network private port1"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"Nova Scheduler filter ``PciPassthroughFilter``"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a30ddce_432c55ab","line":139,"updated":"2017-03-09 00:12:52.000000000","message":"See note above. I don\u0027t see a reason to involve Neutron at all in this.","commit_id":"a2c4ea4dd7443268a66c42aa53cefb67b7e567c1"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"19a0eae6a1d2f74f949ac4b6eb616ae51e21d101","unresolved":false,"context_lines":[{"line_number":136,"context_line":"E.g.: how to define a Neutron port with NIC features information ::"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"    $ openstack port create --binding-profile \u0027{\"nic_features\": \"rx,tso\"}\u0027 \\"},{"line_number":139,"context_line":"        --network private port1"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"Nova Scheduler filter ``PciPassthroughFilter``"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a30ddce_d497fd45","line":139,"in_reply_to":"9a30ddce_432c55ab","updated":"2017-03-09 16:32:59.000000000","message":"My reply in L61: this is for information/documentation purposes.","commit_id":"a2c4ea4dd7443268a66c42aa53cefb67b7e567c1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"85bd775dcd89358245eec18efc7064484795c206","unresolved":false,"context_lines":[{"line_number":153,"context_line":"features."},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"If the PCI request spec, both from a Neutron port or the aliases, has a"},{"line_number":156,"context_line":"\u0027nic_features\u0027 parameter, the filter will try to match this value with the one"},{"line_number":157,"context_line":"stored in the pools."},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"No code modifications are needed in this Scheduler filter."},{"line_number":160,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a30ddce_ff0de33e","line":157,"range":{"start_line":156,"start_character":26,"end_line":157,"end_character":20},"updated":"2017-03-08 18:51:05.000000000","message":"just to clarify not to go to much into the implementation details we should probably say here that this is not a direct string comparison.\n\nthe comma seperated list stored in the pci_devices.extra_info[\u0027features\u0027] will be split into an array of strings. the comma seperated list of feature names requested in bining-profile or alais will also be similarly split into an array of stings and then we will assert that the requested features are a subset of the available features on the pci device. \n\norder,case and extra feature not requested should be ignored.\n\nthat said this could just go into a devref later if we dont want that level of detail in the spec.","commit_id":"a2c4ea4dd7443268a66c42aa53cefb67b7e567c1"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"19a0eae6a1d2f74f949ac4b6eb616ae51e21d101","unresolved":false,"context_lines":[{"line_number":153,"context_line":"features."},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"If the PCI request spec, both from a Neutron port or the aliases, has a"},{"line_number":156,"context_line":"\u0027nic_features\u0027 parameter, the filter will try to match this value with the one"},{"line_number":157,"context_line":"stored in the pools."},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"No code modifications are needed in this Scheduler filter."},{"line_number":160,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a30ddce_608138c3","line":157,"range":{"start_line":156,"start_character":26,"end_line":157,"end_character":20},"in_reply_to":"9a30ddce_7e03ac0d","updated":"2017-03-09 16:32:59.000000000","message":"@Sean Mooney: you are right. That means some modifications are needed in the filter.\nIn pci.utils.pci_device_prop_match each spec item (key,value) is compared directly with the pci attributes. I\u0027m going to propose to modify this in the following way:\n- If the spec value is a string, direct comparison (like now)\n- If the spec value is a list, all elements must be contained in the same pci list attribute:\n     spec_value in pci_dev.\u003cattribute\u003e\n\n@Jay Pipes: there are you ways of requesting PCI specs:\n- Adding this information in the pci_alias and using this information in the flavor.\n- Adding a SR-IOV Neutron port in the boot request. That\u0027s why I\u0027m talking about Neutron, but no modifications are needed in Neutron project.","commit_id":"a2c4ea4dd7443268a66c42aa53cefb67b7e567c1"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"1a3aba38d7e7a24bbc0af7e11c13871adeec1dc0","unresolved":false,"context_lines":[{"line_number":153,"context_line":"features."},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"If the PCI request spec, both from a Neutron port or the aliases, has a"},{"line_number":156,"context_line":"\u0027nic_features\u0027 parameter, the filter will try to match this value with the one"},{"line_number":157,"context_line":"stored in the pools."},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"No code modifications are needed in this Scheduler filter."},{"line_number":160,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a30ddce_7e03ac0d","line":157,"range":{"start_line":156,"start_character":26,"end_line":157,"end_character":20},"in_reply_to":"9a30ddce_ff0de33e","updated":"2017-03-09 00:12:52.000000000","message":"I\u0027m still unclear why Neutron has anything to do with this... it\u0027s the workload that is requesting a particular piece of host hardware have a certain feature enabled, not the Neutron port.","commit_id":"a2c4ea4dd7443268a66c42aa53cefb67b7e567c1"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"b9b8053f6f47feb365191e27077498b0171d8f2e","unresolved":false,"context_lines":[{"line_number":92,"context_line":"``nova.virt.libvirt.config.LibvirtConfigNodeDevicePciCap`` class, called"},{"line_number":93,"context_line":"\u0027net_features\u0027. This member will be a list of strings, i.e., \u0027rx\u0027, \u0027tso\u0027 or"},{"line_number":94,"context_line":"\u0027rxhash\u0027. This list is empty by default. If a PCI device is not a NIC interface"},{"line_number":95,"context_line":"or doesn\u0027t have any feature, the list will remain empty."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"Store the NIC features information"},{"line_number":98,"context_line":"----------------------------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a30ddce_12999bc4","line":95,"updated":"2017-03-09 20:33:15.000000000","message":"This is fine. I still don\u0027t think you need to create a new config XML class just to parse the output of the nodedev-dumpxml command, but I\u0027ll leave it up to you :)","commit_id":"939f8d7fd2b76b8c765216d1a3f2b2a4d5a834ca"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"18c62f1b7a13e39300f0ce4ee70eb6ed02efb0f5","unresolved":false,"context_lines":[{"line_number":92,"context_line":"``nova.virt.libvirt.config.LibvirtConfigNodeDevicePciCap`` class, called"},{"line_number":93,"context_line":"\u0027net_features\u0027. This member will be a list of strings, i.e., \u0027rx\u0027, \u0027tso\u0027 or"},{"line_number":94,"context_line":"\u0027rxhash\u0027. This list is empty by default. If a PCI device is not a NIC interface"},{"line_number":95,"context_line":"or doesn\u0027t have any feature, the list will remain empty."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"Store the NIC features information"},{"line_number":98,"context_line":"----------------------------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a30ddce_a12ce902","line":95,"in_reply_to":"9a30ddce_12999bc4","updated":"2017-03-10 09:37:21.000000000","message":"This is going to be the first patch of this feature. This particular implementation could be discussed during this phase.","commit_id":"939f8d7fd2b76b8c765216d1a3f2b2a4d5a834ca"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"b9b8053f6f47feb365191e27077498b0171d8f2e","unresolved":false,"context_lines":[{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    extra_info: {\u0027capabilities\u0027:"},{"line_number":108,"context_line":"                    {\u0027network\u0027: [\u0027gso\u0027, \u0027sg\u0027, \u0027tso\u0027, \u0027tx\u0027]}"},{"line_number":109,"context_line":"                }"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"The NIC feature strings will be ordered."}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a30ddce_f2f6c7f7","line":109,"updated":"2017-03-09 20:33:15.000000000","message":"++","commit_id":"939f8d7fd2b76b8c765216d1a3f2b2a4d5a834ca"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"b9b8053f6f47feb365191e27077498b0171d8f2e","unresolved":false,"context_lines":[{"line_number":109,"context_line":"                }"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"The NIC feature strings will be ordered."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"Neutron port ``binding:profile``"},{"line_number":115,"context_line":"--------------------------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a30ddce_72e3b733","line":112,"updated":"2017-03-09 20:33:15.000000000","message":"Sure, if you want, but there\u0027s no requirement to do that.","commit_id":"939f8d7fd2b76b8c765216d1a3f2b2a4d5a834ca"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"18c62f1b7a13e39300f0ce4ee70eb6ed02efb0f5","unresolved":false,"context_lines":[{"line_number":109,"context_line":"                }"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"The NIC feature strings will be ordered."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"Neutron port ``binding:profile``"},{"line_number":115,"context_line":"--------------------------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a30ddce_0185b505","line":112,"in_reply_to":"9a30ddce_72e3b733","updated":"2017-03-10 09:37:21.000000000","message":"You are right, there is no reason now (this is a legacy comment).","commit_id":"939f8d7fd2b76b8c765216d1a3f2b2a4d5a834ca"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"b9b8053f6f47feb365191e27077498b0171d8f2e","unresolved":false,"context_lines":[{"line_number":120,"context_line":"E.g.: how to define a Neutron port with NIC features information ::"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    $ openstack port create --binding-profile"},{"line_number":123,"context_line":"        \u0027{\"capabilities\": \"rx,tso\"}\u0027 --network private port1"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"Nova Scheduler filter ``PciPassthroughFilter``"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a30ddce_324bff2b","line":123,"updated":"2017-03-09 20:33:15.000000000","message":"If it\u0027s possible to use a JSON-serialized list instead of a comma-delimited string, that would be cool.","commit_id":"939f8d7fd2b76b8c765216d1a3f2b2a4d5a834ca"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"18c62f1b7a13e39300f0ce4ee70eb6ed02efb0f5","unresolved":false,"context_lines":[{"line_number":120,"context_line":"E.g.: how to define a Neutron port with NIC features information ::"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    $ openstack port create --binding-profile"},{"line_number":123,"context_line":"        \u0027{\"capabilities\": \"rx,tso\"}\u0027 --network private port1"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"Nova Scheduler filter ``PciPassthroughFilter``"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a30ddce_c1bc7dbd","line":123,"in_reply_to":"9a30ddce_324bff2b","updated":"2017-03-10 09:37:21.000000000","message":"Done","commit_id":"939f8d7fd2b76b8c765216d1a3f2b2a4d5a834ca"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"b9b8053f6f47feb365191e27077498b0171d8f2e","unresolved":false,"context_lines":[{"line_number":132,"context_line":"the Neutron port would be able to contain a list of NIC features."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"To add this new parameter to the filter, ``PciDeviceStats`` PCI device pools"},{"line_number":135,"context_line":"will contain a new tag key (\u0027capabilities_network\u0027). Because every virtual"},{"line_number":136,"context_line":"function in the pool belongs to the same PCI device, all of them have the same"},{"line_number":137,"context_line":"NIC features."},{"line_number":138,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a30ddce_72681788","line":135,"updated":"2017-03-09 20:33:15.000000000","message":"prefer capabilities.network :)","commit_id":"939f8d7fd2b76b8c765216d1a3f2b2a4d5a834ca"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"18c62f1b7a13e39300f0ce4ee70eb6ed02efb0f5","unresolved":false,"context_lines":[{"line_number":132,"context_line":"the Neutron port would be able to contain a list of NIC features."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"To add this new parameter to the filter, ``PciDeviceStats`` PCI device pools"},{"line_number":135,"context_line":"will contain a new tag key (\u0027capabilities_network\u0027). Because every virtual"},{"line_number":136,"context_line":"function in the pool belongs to the same PCI device, all of them have the same"},{"line_number":137,"context_line":"NIC features."},{"line_number":138,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a30ddce_811b65c9","line":135,"in_reply_to":"9a30ddce_72681788","updated":"2017-03-10 09:37:21.000000000","message":"Done","commit_id":"939f8d7fd2b76b8c765216d1a3f2b2a4d5a834ca"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"b9b8053f6f47feb365191e27077498b0171d8f2e","unresolved":false,"context_lines":[{"line_number":134,"context_line":"To add this new parameter to the filter, ``PciDeviceStats`` PCI device pools"},{"line_number":135,"context_line":"will contain a new tag key (\u0027capabilities_network\u0027). Because every virtual"},{"line_number":136,"context_line":"function in the pool belongs to the same PCI device, all of them have the same"},{"line_number":137,"context_line":"NIC features."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"If the PCI request spec from a Neutron port has a \u0027capabilities_network\u0027"},{"line_number":140,"context_line":"parameter, the filter will try to match this value with the one stored in the"}],"source_content_type":"text/x-rst","patch_set":8,"id":"9a30ddce_12751b63","line":137,"updated":"2017-03-09 20:33:15.000000000","message":"Just noting that the PCI devices can also include the physical function, which would also have the capabilities.network tags.","commit_id":"939f8d7fd2b76b8c765216d1a3f2b2a4d5a834ca"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7d762b71f9bc2fd78c6be2e50d0ee7757259f0cb","unresolved":false,"context_lines":[{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/enable-sriov-nic-features"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Today, most networking hardware vendors implement some of the TCP/IP stack,"},{"line_number":14,"context_line":"traditionally done by the host operating system, in the NIC. By offloading"},{"line_number":15,"context_line":"some of these functions to dedicated hardware this frees up CPU cycles for"},{"line_number":16,"context_line":"applications running on the system."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a30ddce_510f7187","line":14,"range":{"start_line":14,"start_character":61,"end_line":14,"end_character":63},"updated":"2017-03-10 13:46:01.000000000","message":"Drop this","commit_id":"4c5cc075dc670c7c981beb7b5de52c36b6829321"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"69092a8e5c6ca71f0365c5e5d302ea38e39d8266","unresolved":false,"context_lines":[{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/enable-sriov-nic-features"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Today, most networking hardware vendors implement some of the TCP/IP stack,"},{"line_number":14,"context_line":"traditionally done by the host operating system, in the NIC. By offloading"},{"line_number":15,"context_line":"some of these functions to dedicated hardware this frees up CPU cycles for"},{"line_number":16,"context_line":"applications running on the system."},{"line_number":17,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a30ddce_c21551e5","line":14,"range":{"start_line":14,"start_character":61,"end_line":14,"end_character":63},"in_reply_to":"9a30ddce_510f7187","updated":"2017-03-10 14:44:55.000000000","message":"Done","commit_id":"4c5cc075dc670c7c981beb7b5de52c36b6829321"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7d762b71f9bc2fd78c6be2e50d0ee7757259f0cb","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Today, most networking hardware vendors implement some of the TCP/IP stack,"},{"line_number":14,"context_line":"traditionally done by the host operating system, in the NIC. By offloading"},{"line_number":15,"context_line":"some of these functions to dedicated hardware this frees up CPU cycles for"},{"line_number":16,"context_line":"applications running on the system."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"``libvirt`` implemented the SR-IOV NIC offload feature discovery in version"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a30ddce_b11eedb8","line":15,"range":{"start_line":15,"start_character":46,"end_line":15,"end_character":50},"updated":"2017-03-10 13:46:01.000000000","message":"and this","commit_id":"4c5cc075dc670c7c981beb7b5de52c36b6829321"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"69092a8e5c6ca71f0365c5e5d302ea38e39d8266","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Today, most networking hardware vendors implement some of the TCP/IP stack,"},{"line_number":14,"context_line":"traditionally done by the host operating system, in the NIC. By offloading"},{"line_number":15,"context_line":"some of these functions to dedicated hardware this frees up CPU cycles for"},{"line_number":16,"context_line":"applications running on the system."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"``libvirt`` implemented the SR-IOV NIC offload feature discovery in version"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a30ddce_22db8d50","line":15,"range":{"start_line":15,"start_character":46,"end_line":15,"end_character":50},"in_reply_to":"9a30ddce_b11eedb8","updated":"2017-03-10 14:44:55.000000000","message":"Done","commit_id":"4c5cc075dc670c7c981beb7b5de52c36b6829321"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7d762b71f9bc2fd78c6be2e50d0ee7757259f0cb","unresolved":false,"context_lines":[{"line_number":32,"context_line":"filter those hosts with PCI devices having this feature."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"The aim of this spec is to fill this gap by proposing a method to read this"},{"line_number":35,"context_line":"information, to store this data, to use it during the scheduling process and to"},{"line_number":36,"context_line":"show how Neutron should be informed."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a30ddce_31583d8a","line":35,"range":{"start_line":35,"start_character":33,"end_line":35,"end_character":35},"updated":"2017-03-10 13:46:01.000000000","message":"drop this","commit_id":"4c5cc075dc670c7c981beb7b5de52c36b6829321"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7d762b71f9bc2fd78c6be2e50d0ee7757259f0cb","unresolved":false,"context_lines":[{"line_number":32,"context_line":"filter those hosts with PCI devices having this feature."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"The aim of this spec is to fill this gap by proposing a method to read this"},{"line_number":35,"context_line":"information, to store this data, to use it during the scheduling process and to"},{"line_number":36,"context_line":"show how Neutron should be informed."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a30ddce_d1728110","line":35,"range":{"start_line":35,"start_character":12,"end_line":35,"end_character":31},"updated":"2017-03-10 13:46:01.000000000","message":"store it","commit_id":"4c5cc075dc670c7c981beb7b5de52c36b6829321"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"69092a8e5c6ca71f0365c5e5d302ea38e39d8266","unresolved":false,"context_lines":[{"line_number":32,"context_line":"filter those hosts with PCI devices having this feature."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"The aim of this spec is to fill this gap by proposing a method to read this"},{"line_number":35,"context_line":"information, to store this data, to use it during the scheduling process and to"},{"line_number":36,"context_line":"show how Neutron should be informed."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a30ddce_82e6f912","line":35,"range":{"start_line":35,"start_character":33,"end_line":35,"end_character":35},"in_reply_to":"9a30ddce_31583d8a","updated":"2017-03-10 14:44:55.000000000","message":"Done","commit_id":"4c5cc075dc670c7c981beb7b5de52c36b6829321"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"69092a8e5c6ca71f0365c5e5d302ea38e39d8266","unresolved":false,"context_lines":[{"line_number":32,"context_line":"filter those hosts with PCI devices having this feature."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"The aim of this spec is to fill this gap by proposing a method to read this"},{"line_number":35,"context_line":"information, to store this data, to use it during the scheduling process and to"},{"line_number":36,"context_line":"show how Neutron should be informed."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Use Cases"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a30ddce_82a27997","line":35,"range":{"start_line":35,"start_character":12,"end_line":35,"end_character":31},"in_reply_to":"9a30ddce_d1728110","updated":"2017-03-10 14:44:55.000000000","message":"Done","commit_id":"4c5cc075dc670c7c981beb7b5de52c36b6829321"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7d762b71f9bc2fd78c6be2e50d0ee7757259f0cb","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"The aim of this spec is to fill this gap by proposing a method to read this"},{"line_number":35,"context_line":"information, to store this data, to use it during the scheduling process and to"},{"line_number":36,"context_line":"show how Neutron should be informed."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Use Cases"},{"line_number":39,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a30ddce_31e67db0","line":36,"range":{"start_line":36,"start_character":0,"end_line":36,"end_character":36},"updated":"2017-03-10 13:46:01.000000000","message":"could you clarify this? Perhaps \"provide a way to share this information with neutron\"?","commit_id":"4c5cc075dc670c7c981beb7b5de52c36b6829321"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"69092a8e5c6ca71f0365c5e5d302ea38e39d8266","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"The aim of this spec is to fill this gap by proposing a method to read this"},{"line_number":35,"context_line":"information, to store this data, to use it during the scheduling process and to"},{"line_number":36,"context_line":"show how Neutron should be informed."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Use Cases"},{"line_number":39,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a30ddce_22ae2d81","line":36,"range":{"start_line":36,"start_character":0,"end_line":36,"end_character":36},"in_reply_to":"9a30ddce_31e67db0","updated":"2017-03-10 14:44:55.000000000","message":"Yes, that\u0027s better","commit_id":"4c5cc075dc670c7c981beb7b5de52c36b6829321"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7d762b71f9bc2fd78c6be2e50d0ee7757259f0cb","unresolved":false,"context_lines":[{"line_number":134,"context_line":"function in the pool belongs to the same PCI device, all of them have the same"},{"line_number":135,"context_line":"NIC features."},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"If the PCI request spec from a Neutron port has a \u0027capabilities_network\u0027"},{"line_number":138,"context_line":"parameter, the filter will try to match this value with the one stored in the"},{"line_number":139,"context_line":"PCI device pools."},{"line_number":140,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a30ddce_643cb5c8","line":137,"range":{"start_line":137,"start_character":51,"end_line":137,"end_character":71},"updated":"2017-03-10 13:46:01.000000000","message":"capabilities.network. Also, this might make sense formatted as ``code``?","commit_id":"4c5cc075dc670c7c981beb7b5de52c36b6829321"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"69092a8e5c6ca71f0365c5e5d302ea38e39d8266","unresolved":false,"context_lines":[{"line_number":134,"context_line":"function in the pool belongs to the same PCI device, all of them have the same"},{"line_number":135,"context_line":"NIC features."},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"If the PCI request spec from a Neutron port has a \u0027capabilities_network\u0027"},{"line_number":138,"context_line":"parameter, the filter will try to match this value with the one stored in the"},{"line_number":139,"context_line":"PCI device pools."},{"line_number":140,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a30ddce_82c9995b","line":137,"range":{"start_line":137,"start_character":51,"end_line":137,"end_character":71},"in_reply_to":"9a30ddce_643cb5c8","updated":"2017-03-10 14:44:55.000000000","message":"It\u0027s a class member, I can\u0027t use a dot in the name","commit_id":"4c5cc075dc670c7c981beb7b5de52c36b6829321"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7d762b71f9bc2fd78c6be2e50d0ee7757259f0cb","unresolved":false,"context_lines":[{"line_number":138,"context_line":"parameter, the filter will try to match this value with the one stored in the"},{"line_number":139,"context_line":"PCI device pools."},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"\u0027capabilities_network\u0027 paremeter in both the request spec and the PCI device"},{"line_number":142,"context_line":"stats are lists. Currently the PCI passthrough filter only matches string"},{"line_number":143,"context_line":"parameters [2]. This spec proposes to change this matching function to accept"},{"line_number":144,"context_line":"both strings and lists:"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a30ddce_6443d542","line":141,"range":{"start_line":141,"start_character":1,"end_line":141,"end_character":21},"updated":"2017-03-10 13:46:01.000000000","message":"capabilities.network?","commit_id":"4c5cc075dc670c7c981beb7b5de52c36b6829321"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7d762b71f9bc2fd78c6be2e50d0ee7757259f0cb","unresolved":false,"context_lines":[{"line_number":138,"context_line":"parameter, the filter will try to match this value with the one stored in the"},{"line_number":139,"context_line":"PCI device pools."},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"\u0027capabilities_network\u0027 paremeter in both the request spec and the PCI device"},{"line_number":142,"context_line":"stats are lists. Currently the PCI passthrough filter only matches string"},{"line_number":143,"context_line":"parameters [2]. This spec proposes to change this matching function to accept"},{"line_number":144,"context_line":"both strings and lists:"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a30ddce_0454d9fc","line":141,"range":{"start_line":141,"start_character":23,"end_line":141,"end_character":32},"updated":"2017-03-10 13:46:01.000000000","message":"parameter","commit_id":"4c5cc075dc670c7c981beb7b5de52c36b6829321"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"69092a8e5c6ca71f0365c5e5d302ea38e39d8266","unresolved":false,"context_lines":[{"line_number":138,"context_line":"parameter, the filter will try to match this value with the one stored in the"},{"line_number":139,"context_line":"PCI device pools."},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"\u0027capabilities_network\u0027 paremeter in both the request spec and the PCI device"},{"line_number":142,"context_line":"stats are lists. Currently the PCI passthrough filter only matches string"},{"line_number":143,"context_line":"parameters [2]. This spec proposes to change this matching function to accept"},{"line_number":144,"context_line":"both strings and lists:"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a30ddce_42016169","line":141,"range":{"start_line":141,"start_character":23,"end_line":141,"end_character":32},"in_reply_to":"9a30ddce_0454d9fc","updated":"2017-03-10 14:44:55.000000000","message":"Done","commit_id":"4c5cc075dc670c7c981beb7b5de52c36b6829321"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"69092a8e5c6ca71f0365c5e5d302ea38e39d8266","unresolved":false,"context_lines":[{"line_number":138,"context_line":"parameter, the filter will try to match this value with the one stored in the"},{"line_number":139,"context_line":"PCI device pools."},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"\u0027capabilities_network\u0027 paremeter in both the request spec and the PCI device"},{"line_number":142,"context_line":"stats are lists. Currently the PCI passthrough filter only matches string"},{"line_number":143,"context_line":"parameters [2]. This spec proposes to change this matching function to accept"},{"line_number":144,"context_line":"both strings and lists:"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a30ddce_22fc6d71","line":141,"range":{"start_line":141,"start_character":1,"end_line":141,"end_character":21},"in_reply_to":"9a30ddce_6443d542","updated":"2017-03-10 14:44:55.000000000","message":"ditto","commit_id":"4c5cc075dc670c7c981beb7b5de52c36b6829321"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7d762b71f9bc2fd78c6be2e50d0ee7757259f0cb","unresolved":false,"context_lines":[{"line_number":215,"context_line":""},{"line_number":216,"context_line":"1. Add query parameter white list for server index/detail API."},{"line_number":217,"context_line":"2. Add sort parameter white list for sort_keys."},{"line_number":218,"context_line":"3. Add doc illustrate how to correctly use filter and sort params"},{"line_number":219,"context_line":"   when list servers."},{"line_number":220,"context_line":"4. Add enough documentation to NFV MANO manuals and devref."},{"line_number":221,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a30ddce_a48ead76","line":218,"range":{"start_line":218,"start_character":7,"end_line":218,"end_character":21},"updated":"2017-03-10 13:46:01.000000000","message":"documentation illustrating","commit_id":"4c5cc075dc670c7c981beb7b5de52c36b6829321"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"69092a8e5c6ca71f0365c5e5d302ea38e39d8266","unresolved":false,"context_lines":[{"line_number":215,"context_line":""},{"line_number":216,"context_line":"1. Add query parameter white list for server index/detail API."},{"line_number":217,"context_line":"2. Add sort parameter white list for sort_keys."},{"line_number":218,"context_line":"3. Add doc illustrate how to correctly use filter and sort params"},{"line_number":219,"context_line":"   when list servers."},{"line_number":220,"context_line":"4. Add enough documentation to NFV MANO manuals and devref."},{"line_number":221,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a30ddce_a2f05d92","line":218,"range":{"start_line":218,"start_character":7,"end_line":218,"end_character":21},"in_reply_to":"9a30ddce_a48ead76","updated":"2017-03-10 14:44:55.000000000","message":"Done","commit_id":"4c5cc075dc670c7c981beb7b5de52c36b6829321"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7d762b71f9bc2fd78c6be2e50d0ee7757259f0cb","unresolved":false,"context_lines":[{"line_number":216,"context_line":"1. Add query parameter white list for server index/detail API."},{"line_number":217,"context_line":"2. Add sort parameter white list for sort_keys."},{"line_number":218,"context_line":"3. Add doc illustrate how to correctly use filter and sort params"},{"line_number":219,"context_line":"   when list servers."},{"line_number":220,"context_line":"4. Add enough documentation to NFV MANO manuals and devref."},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a30ddce_c48ba166","line":219,"range":{"start_line":219,"start_character":8,"end_line":219,"end_character":21},"updated":"2017-03-10 13:46:01.000000000","message":"listing servers","commit_id":"4c5cc075dc670c7c981beb7b5de52c36b6829321"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"69092a8e5c6ca71f0365c5e5d302ea38e39d8266","unresolved":false,"context_lines":[{"line_number":216,"context_line":"1. Add query parameter white list for server index/detail API."},{"line_number":217,"context_line":"2. Add sort parameter white list for sort_keys."},{"line_number":218,"context_line":"3. Add doc illustrate how to correctly use filter and sort params"},{"line_number":219,"context_line":"   when list servers."},{"line_number":220,"context_line":"4. Add enough documentation to NFV MANO manuals and devref."},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"Dependencies"}],"source_content_type":"text/x-rst","patch_set":9,"id":"9a30ddce_22338d63","line":219,"range":{"start_line":219,"start_character":8,"end_line":219,"end_character":21},"in_reply_to":"9a30ddce_c48ba166","updated":"2017-03-10 14:44:55.000000000","message":"Done","commit_id":"4c5cc075dc670c7c981beb7b5de52c36b6829321"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"28ad2a2e76407ae83e9c39cab3f7aeb221f52511","unresolved":false,"context_lines":[{"line_number":105,"context_line":"::"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    extra_info: {\u0027capabilities\u0027:"},{"line_number":108,"context_line":"                    {\u0027network\u0027: [\u0027gso\u0027, \u0027sg\u0027, \u0027tso\u0027, \u0027tx\u0027]}"},{"line_number":109,"context_line":"                }"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a30ddce_22db881c","line":108,"updated":"2017-03-10 16:50:33.000000000","message":"++","commit_id":"5ce1a2be1fa89784604e5803821e26689601a3d2"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"1296154149bd84f3025b2c303ffbba97f189be43","unresolved":false,"context_lines":[{"line_number":105,"context_line":"::"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    extra_info: {\u0027capabilities\u0027:"},{"line_number":108,"context_line":"                    {\u0027network\u0027: [\u0027gso\u0027, \u0027sg\u0027, \u0027tso\u0027, \u0027tx\u0027]}"},{"line_number":109,"context_line":"                }"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a1ced50_6c8cfd7f","line":108,"in_reply_to":"3a1ff146_da7deae8","updated":"2017-03-20 10:23:16.000000000","message":"This feature could be implemented months earlier not using now resource providers. The purpose is, as soon as resource providers are fully implemented, to migrate this feature.\n\nI will add this in the work items.","commit_id":"5ce1a2be1fa89784604e5803821e26689601a3d2"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"6de198fb8e89b894ae41afa6cfd931eba18e8a78","unresolved":false,"context_lines":[{"line_number":105,"context_line":"::"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    extra_info: {\u0027capabilities\u0027:"},{"line_number":108,"context_line":"                    {\u0027network\u0027: [\u0027gso\u0027, \u0027sg\u0027, \u0027tso\u0027, \u0027tx\u0027]}"},{"line_number":109,"context_line":"                }"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a30ddce_ca753f32","line":108,"in_reply_to":"9a30ddce_22db881c","updated":"2017-03-13 08:22:57.000000000","message":"Is it worth to define those capabilities in the os-traits from now? Just thinking if that is helpful when we move to traits.","commit_id":"5ce1a2be1fa89784604e5803821e26689601a3d2"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"d20b9a3838af84374d8934e2e5fd58bbe2d37f92","unresolved":false,"context_lines":[{"line_number":105,"context_line":"::"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    extra_info: {\u0027capabilities\u0027:"},{"line_number":108,"context_line":"                    {\u0027network\u0027: [\u0027gso\u0027, \u0027sg\u0027, \u0027tso\u0027, \u0027tx\u0027]}"},{"line_number":109,"context_line":"                }"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":""}],"source_content_type":"text/x-rst","patch_set":10,"id":"3a1ff146_da7deae8","line":108,"in_reply_to":"9a30ddce_ca753f32","updated":"2017-03-14 18:27:31.000000000","message":"+1 why can\u0027t we just use os-traits for this from the start?","commit_id":"5ce1a2be1fa89784604e5803821e26689601a3d2"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"6de198fb8e89b894ae41afa6cfd931eba18e8a78","unresolved":false,"context_lines":[{"line_number":213,"context_line":"Work Items"},{"line_number":214,"context_line":"----------"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"1. Add query parameter white list for server index/detail API."},{"line_number":217,"context_line":"2. Add sort parameter white list for sort_keys."},{"line_number":218,"context_line":"3. Add documentation illustrating how to correctly use filter and sort params"},{"line_number":219,"context_line":"   when listing servers."},{"line_number":220,"context_line":"4. Add enough documentation to NFV MANO manuals and devref."}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a30ddce_af665dea","line":217,"range":{"start_line":216,"start_character":3,"end_line":217,"end_character":47},"updated":"2017-03-13 08:22:57.000000000","message":"I guess this is copy from an existed spec :) But this can be cleanup late.r","commit_id":"5ce1a2be1fa89784604e5803821e26689601a3d2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ac83702ffef34353de90f73d60cd499021b282e8","unresolved":false,"context_lines":[{"line_number":213,"context_line":"Work Items"},{"line_number":214,"context_line":"----------"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"1. Add query parameter white list for server index/detail API."},{"line_number":217,"context_line":"2. Add sort parameter white list for sort_keys."},{"line_number":218,"context_line":"3. Add documentation illustrating how to correctly use filter and sort params"},{"line_number":219,"context_line":"   when listing servers."},{"line_number":220,"context_line":"4. Add enough documentation to NFV MANO manuals and devref."}],"source_content_type":"text/x-rst","patch_set":10,"id":"9a30ddce_fd2ba67f","line":217,"range":{"start_line":216,"start_character":3,"end_line":217,"end_character":47},"in_reply_to":"9a30ddce_af665dea","updated":"2017-03-13 10:50:11.000000000","message":":) Whoever merges this can fix it, I guess","commit_id":"5ce1a2be1fa89784604e5803821e26689601a3d2"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"1296154149bd84f3025b2c303ffbba97f189be43","unresolved":false,"context_lines":[{"line_number":213,"context_line":"Work Items"},{"line_number":214,"context_line":"----------"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"1. Add query parameter white list for server index/detail API."},{"line_number":217,"context_line":"2. Add sort parameter white list for sort_keys."},{"line_number":218,"context_line":"3. Add documentation illustrating how to correctly use filter and sort params"},{"line_number":219,"context_line":"   when listing servers."},{"line_number":220,"context_line":"4. Add enough documentation to NFV MANO manuals and devref."}],"source_content_type":"text/x-rst","patch_set":10,"id":"1a1ced50_6c687d88","line":217,"range":{"start_line":216,"start_character":3,"end_line":217,"end_character":47},"in_reply_to":"9a30ddce_fd2ba67f","updated":"2017-03-20 10:23:16.000000000","message":"I\u0027ll change it. That\u0027s a big mistake.","commit_id":"5ce1a2be1fa89784604e5803821e26689601a3d2"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"b9804c37249be5b46a6b8c94e7c075a62c953aae","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":"This spec proposes to implement the following changes in Nova:"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* A method to read the NIC feature information."},{"line_number":52,"context_line":"* A method to store this information in the Nova DB."},{"line_number":53,"context_line":"* How Nova Scheduler PCI filter will match this new information."},{"line_number":54,"context_line":""}],"source_content_type":"text/x-rst","patch_set":11,"id":"ffe62b97_933fc086","line":51,"range":{"start_line":51,"start_character":14,"end_line":51,"end_character":46},"updated":"2017-03-30 14:57:36.000000000","message":"to read /from the host/ (but that\u0027s a nit, given you explain it further below.","commit_id":"f1075e9497144c053405f09719cbf6b6c4f3f33f"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"b9804c37249be5b46a6b8c94e7c075a62c953aae","unresolved":false,"context_lines":[{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* A method to read the NIC feature information."},{"line_number":52,"context_line":"* A method to store this information in the Nova DB."},{"line_number":53,"context_line":"* How Nova Scheduler PCI filter will match this new information."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"Also in this spec will be described how a Neutron port must be defined to"},{"line_number":56,"context_line":"include these NIC features. This information will be added to the OpenStack"}],"source_content_type":"text/x-rst","patch_set":11,"id":"ffe62b97_b363e4b1","line":53,"updated":"2017-03-30 14:57:36.000000000","message":"I\u0027m missing how an user can express the need for some specific NIC offload capability when booting the instance.","commit_id":"f1075e9497144c053405f09719cbf6b6c4f3f33f"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"b9804c37249be5b46a6b8c94e7c075a62c953aae","unresolved":false,"context_lines":[{"line_number":101,"context_line":"be stored in ``pci_devices.extra_info`` under a dictionary labeled"},{"line_number":102,"context_line":"``capabilities``. This dictionary will contain all discovered PCI capabilities,"},{"line_number":103,"context_line":"grouped in types. In this case, because the features are related with"},{"line_number":104,"context_line":"networking capabilities, these will be contained in a list called ``network``"},{"line_number":105,"context_line":"::"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    extra_info: {\u0027capabilities\u0027:"}],"source_content_type":"text/x-rst","patch_set":11,"id":"ffe62b97_d360a838","line":104,"updated":"2017-03-30 14:57:36.000000000","message":"so old computes not having the right libvirt version or being Ocata won\u0027t provide those capabilities, right? Cool.","commit_id":"f1075e9497144c053405f09719cbf6b6c4f3f33f"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"fc1b018eb55ed53688eaa0bb6cf5ffc9f8e3f6d7","unresolved":false,"context_lines":[{"line_number":118,"context_line":"E.g.: how to define a Neutron port with NIC features information ::"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    $ openstack port create --binding-profile"},{"line_number":121,"context_line":"        \u0027{\"capabilities\": [\"rx\", \"tso\"]}\u0027 --network private port1"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"Nova Scheduler filter ``PciPassthroughFilter``"}],"source_content_type":"text/x-rst","patch_set":11,"id":"ffe62b97_b70e29e3","line":121,"range":{"start_line":121,"start_character":27,"end_line":121,"end_character":38},"updated":"2017-03-24 09:34:06.000000000","message":"Actually, I mean whether we can begin to use the standard traits that are defined in os-traits at here. Also in the report of those capabilities.\n\nIt needn\u0027t depend on the the Resource provider implementation. But looks good we can begin to teach the user to use the standard traits.\n\nI want to hear what Jay say about this.","commit_id":"f1075e9497144c053405f09719cbf6b6c4f3f33f"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"aba424d5dc705ddf81722346b8848ed16389ebbf","unresolved":false,"context_lines":[{"line_number":118,"context_line":"E.g.: how to define a Neutron port with NIC features information ::"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    $ openstack port create --binding-profile"},{"line_number":121,"context_line":"        \u0027{\"capabilities\": [\"rx\", \"tso\"]}\u0027 --network private port1"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"Nova Scheduler filter ``PciPassthroughFilter``"}],"source_content_type":"text/x-rst","patch_set":11,"id":"ffe62b97_cccfbe7d","line":121,"range":{"start_line":121,"start_character":27,"end_line":121,"end_character":38},"in_reply_to":"ffe62b97_9238c8d3","updated":"2017-03-24 23:57:49.000000000","message":"@Rodolfo, Jay, I\u0027m cool with that.","commit_id":"f1075e9497144c053405f09719cbf6b6c4f3f33f"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"de7ca7c211ee83fd404d52cc1a09f9b37350c47b","unresolved":false,"context_lines":[{"line_number":118,"context_line":"E.g.: how to define a Neutron port with NIC features information ::"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    $ openstack port create --binding-profile"},{"line_number":121,"context_line":"        \u0027{\"capabilities\": [\"rx\", \"tso\"]}\u0027 --network private port1"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"Nova Scheduler filter ``PciPassthroughFilter``"}],"source_content_type":"text/x-rst","patch_set":11,"id":"ffe62b97_e198646b","line":121,"range":{"start_line":121,"start_character":27,"end_line":121,"end_character":38},"in_reply_to":"ffe62b97_b70e29e3","updated":"2017-03-24 12:59:30.000000000","message":"As mentioned on IRC, I\u0027m cool pushing this spec forward as-is. The os-traits changes that add NIC-specific traits is here:\n\nhttps://review.openstack.org/#/c/448283/\n\nWe can ask the code authors to use those traits on the patches that would implement this spec, if the os-traits stuff has been merged by that time.\n\nBest,\n\n-jay","commit_id":"f1075e9497144c053405f09719cbf6b6c4f3f33f"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"b9968acb5f9a127e915b2c3dde60e7ca015fbc8a","unresolved":false,"context_lines":[{"line_number":118,"context_line":"E.g.: how to define a Neutron port with NIC features information ::"},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"    $ openstack port create --binding-profile"},{"line_number":121,"context_line":"        \u0027{\"capabilities\": [\"rx\", \"tso\"]}\u0027 --network private port1"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"Nova Scheduler filter ``PciPassthroughFilter``"}],"source_content_type":"text/x-rst","patch_set":11,"id":"ffe62b97_9238c8d3","line":121,"range":{"start_line":121,"start_character":27,"end_line":121,"end_character":38},"in_reply_to":"ffe62b97_e198646b","updated":"2017-03-24 13:59:38.000000000","message":"This change (os-traits integration) is easy to do.\n\nAs part of the work item #6, I\u0027ll follow the patch submitted by Jay and I\u0027ll make the change as soon as [1] gets merged.\n\n@Alex: do you agree with this?\n\n[1] https://review.openstack.org/#/c/448283/","commit_id":"f1075e9497144c053405f09719cbf6b6c4f3f33f"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"b9804c37249be5b46a6b8c94e7c075a62c953aae","unresolved":false,"context_lines":[{"line_number":125,"context_line":"----------------------------------------------"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"As it works now, the PCI request information during the boot of a virtual"},{"line_number":128,"context_line":"machine will come both from the PCI alias information provided in the flavor"},{"line_number":129,"context_line":"and the Neutron port definition passed in the boot command. With this feature,"},{"line_number":130,"context_line":"the Neutron port would be able to contain a list of NIC features."},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"To add this new parameter to the filter, ``PciDeviceStats`` PCI device pools"}],"source_content_type":"text/x-rst","patch_set":11,"id":"ffe62b97_f6727a49","line":129,"range":{"start_line":128,"start_character":18,"end_line":129,"end_character":59},"updated":"2017-03-30 14:57:36.000000000","message":"Okay, nevermind my comment L53, I now see how to express that in the request. I\u0027d have preferred that being explicitely mentioned way earlier in the spec, but fair enough.","commit_id":"f1075e9497144c053405f09719cbf6b6c4f3f33f"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"b9804c37249be5b46a6b8c94e7c075a62c953aae","unresolved":false,"context_lines":[{"line_number":132,"context_line":"To add this new parameter to the filter, ``PciDeviceStats`` PCI device pools"},{"line_number":133,"context_line":"will contain a new tag key (\u0027capabilities.network\u0027). Because every virtual"},{"line_number":134,"context_line":"function in the pool belongs to the same PCI device, all of them have the same"},{"line_number":135,"context_line":"NIC features."},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"If the PCI request spec from a Neutron port has a ``capabilities_network``"},{"line_number":138,"context_line":"parameter, the filter will try to match this value with the one stored in the"}],"source_content_type":"text/x-rst","patch_set":11,"id":"ffe62b97_7611caac","line":135,"updated":"2017-03-30 14:57:36.000000000","message":"FWIW, I\u0027m not super happy with the PCIDeviceStats object model, and I\u0027d love it to be deprecated soon, but meh.","commit_id":"f1075e9497144c053405f09719cbf6b6c4f3f33f"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"b9804c37249be5b46a6b8c94e7c075a62c953aae","unresolved":false,"context_lines":[{"line_number":220,"context_line":"   when listing servers."},{"line_number":221,"context_line":"5. Add enough documentation to NFV MANO manuals and devref."},{"line_number":222,"context_line":"6. When Resource Provider project is fully implemented, migrate this feature"},{"line_number":223,"context_line":"   and add all NIC features to os-traits."},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"Dependencies"},{"line_number":226,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":11,"id":"ffe62b97_96444e76","line":223,"updated":"2017-03-30 14:57:36.000000000","message":"Yuuuuuuup.","commit_id":"f1075e9497144c053405f09719cbf6b6c4f3f33f"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"b9804c37249be5b46a6b8c94e7c075a62c953aae","unresolved":false,"context_lines":[{"line_number":233,"context_line":"Few unittest needs to be adjusted to work correctly. All the unittest and"},{"line_number":234,"context_line":"functional should be passed after the change."},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"Once the third-party CI with specific hardware is added to Jenkins, new tests"},{"line_number":237,"context_line":"will be added."},{"line_number":238,"context_line":""},{"line_number":239,"context_line":"Documentation Impact"}],"source_content_type":"text/x-rst","patch_set":11,"id":"ffe62b97_d6189685","line":236,"range":{"start_line":236,"start_character":0,"end_line":236,"end_character":66},"updated":"2017-03-30 14:57:36.000000000","message":"Any ideas whether it could be there before end of Pike ?","commit_id":"f1075e9497144c053405f09719cbf6b6c4f3f33f"}]}
