)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"4478992a19daefcd8c58bdeab4c9b9818d3ee151","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"docs: Update the PCI passthrough guides"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This is mostly an exercise in refactoring with some nice usability"},{"line_number":10,"context_line":"improvements."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"- Remove use of bullet points in favour of more descriptive steps"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9fdfeff1_b2caa84c","line":9,"range":{"start_line":9,"start_character":8,"end_line":9,"end_character":41},"updated":"2019-02-06 20:54:16.000000000","message":"It\u0027s closer to a rewrite.","commit_id":"c61794df6fc03b628d82665f7a6169b97c0a9548"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"39329c9936a43b7fc2193907bc14ac04bec09053","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"docs: Update the PCI passthrough guides"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This is mostly an exercise in refactoring with some nice usability"},{"line_number":10,"context_line":"improvements."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"- Remove use of bullet points in favour of more descriptive steps"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"9fdfeff1_26cbcb53","line":9,"range":{"start_line":9,"start_character":8,"end_line":9,"end_character":41},"in_reply_to":"9fdfeff1_b2caa84c","updated":"2019-02-07 17:23:42.000000000","message":"Good point. Done.","commit_id":"c61794df6fc03b628d82665f7a6169b97c0a9548"}],"doc/source/admin/pci-passthrough.rst":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"4478992a19daefcd8c58bdeab4c9b9818d3ee151","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"To enable PCI passthrough, follow the steps below:"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"#. Configure :program:`nova-scheduler` (Controller)"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"#. Configure :program:`nova-api` (Controller)"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fdfeff1_f26ef0c7","line":27,"updated":"2019-02-06 20:54:16.000000000","message":"Is this list adding any value? The steps correspond to the titles of the sections, which already appear in list form (and as links) as the TOC of the page.","commit_id":"c61794df6fc03b628d82665f7a6169b97c0a9548"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"39329c9936a43b7fc2193907bc14ac04bec09053","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"To enable PCI passthrough, follow the steps below:"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"#. Configure :program:`nova-scheduler` (Controller)"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"#. Configure :program:`nova-api` (Controller)"},{"line_number":30,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fdfeff1_86b877e5","line":27,"in_reply_to":"9fdfeff1_f26ef0c7","updated":"2019-02-07 17:23:42.000000000","message":"Good point. I guess I can drop this entire thing","commit_id":"c61794df6fc03b628d82665f7a6169b97c0a9548"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"68982add3e458c1a4713879b300b1d3114190837","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"#. Configure :program:`nova-api` (Controller)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"#. Configure a flavor (Controller)"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"#. Configure host (Compute)"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fdfeff1_b1494a33","line":31,"range":{"start_line":31,"start_character":23,"end_line":31,"end_character":33},"updated":"2019-02-06 18:40:02.000000000","message":"It\u0027s not part of your patch, but wouldn\u0027t \u0027API\u0027 be more appropriate here?","commit_id":"c61794df6fc03b628d82665f7a6169b97c0a9548"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"39329c9936a43b7fc2193907bc14ac04bec09053","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"#. Configure :program:`nova-api` (Controller)"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"#. Configure a flavor (Controller)"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"#. Configure host (Compute)"},{"line_number":34,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fdfeff1_46c60f4c","line":31,"range":{"start_line":31,"start_character":23,"end_line":31,"end_character":33},"in_reply_to":"9fdfeff1_b1494a33","updated":"2019-02-07 17:23:42.000000000","message":"Done","commit_id":"c61794df6fc03b628d82665f7a6169b97c0a9548"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"4478992a19daefcd8c58bdeab4c9b9818d3ee151","unresolved":false,"context_lines":[{"line_number":64,"context_line":"Configure ``nova-api`` (Controller)"},{"line_number":65,"context_line":"-----------------------------------"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"PCI devices are requested through flavors extra specs, specifically via the"},{"line_number":68,"context_line":"``pci_passthrough:alias`` flavor extra spec. However, the aliases themselves"},{"line_number":69,"context_line":"must be configured. This done via the :oslo.config:option:`pci.alias`"},{"line_number":70,"context_line":"configuration option. For example, to configure a PCI alias ``a1`` to request"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fdfeff1_d2464c22","line":67,"range":{"start_line":67,"start_character":34,"end_line":67,"end_character":41},"updated":"2019-02-06 20:54:16.000000000","message":"flavor\n\nor\n\nflavors\u0027","commit_id":"c61794df6fc03b628d82665f7a6169b97c0a9548"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"39329c9936a43b7fc2193907bc14ac04bec09053","unresolved":false,"context_lines":[{"line_number":64,"context_line":"Configure ``nova-api`` (Controller)"},{"line_number":65,"context_line":"-----------------------------------"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"PCI devices are requested through flavors extra specs, specifically via the"},{"line_number":68,"context_line":"``pci_passthrough:alias`` flavor extra spec. However, the aliases themselves"},{"line_number":69,"context_line":"must be configured. This done via the :oslo.config:option:`pci.alias`"},{"line_number":70,"context_line":"configuration option. For example, to configure a PCI alias ``a1`` to request"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fdfeff1_468fef2d","line":67,"range":{"start_line":67,"start_character":34,"end_line":67,"end_character":41},"in_reply_to":"9fdfeff1_d2464c22","updated":"2019-02-07 17:23:42.000000000","message":"Done","commit_id":"c61794df6fc03b628d82665f7a6169b97c0a9548"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"68982add3e458c1a4713879b300b1d3114190837","unresolved":false,"context_lines":[{"line_number":85,"context_line":"   in this document."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"Configure a flavor (Controller)"},{"line_number":89,"context_line":"-------------------------------"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Once the alias has been configured, it can be used for an image extra spec. For"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fdfeff1_51649eb9","line":88,"range":{"start_line":88,"start_character":20,"end_line":88,"end_character":30},"updated":"2019-02-06 18:40:02.000000000","message":"ditto","commit_id":"c61794df6fc03b628d82665f7a6169b97c0a9548"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"39329c9936a43b7fc2193907bc14ac04bec09053","unresolved":false,"context_lines":[{"line_number":85,"context_line":"   in this document."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"Configure a flavor (Controller)"},{"line_number":89,"context_line":"-------------------------------"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Once the alias has been configured, it can be used for an image extra spec. For"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fdfeff1_e676233f","line":88,"range":{"start_line":88,"start_character":20,"end_line":88,"end_character":30},"in_reply_to":"9fdfeff1_51649eb9","updated":"2019-02-07 17:23:42.000000000","message":"Done","commit_id":"c61794df6fc03b628d82665f7a6169b97c0a9548"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"68982add3e458c1a4713879b300b1d3114190837","unresolved":false,"context_lines":[{"line_number":88,"context_line":"Configure a flavor (Controller)"},{"line_number":89,"context_line":"-------------------------------"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Once the alias has been configured, it can be used for an image extra spec. For"},{"line_number":92,"context_line":"example, to request two of the PCI devices referenced by alias ``a1``, run:"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":".. code-block:: console"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fdfeff1_b172aa7b","line":91,"range":{"start_line":91,"start_character":58,"end_line":91,"end_character":74},"updated":"2019-02-06 18:40:02.000000000","message":"flavor extra spec or image property, don\u0027t mix and match ;)","commit_id":"c61794df6fc03b628d82665f7a6169b97c0a9548"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"39329c9936a43b7fc2193907bc14ac04bec09053","unresolved":false,"context_lines":[{"line_number":88,"context_line":"Configure a flavor (Controller)"},{"line_number":89,"context_line":"-------------------------------"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Once the alias has been configured, it can be used for an image extra spec. For"},{"line_number":92,"context_line":"example, to request two of the PCI devices referenced by alias ``a1``, run:"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":".. code-block:: console"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fdfeff1_c6919f48","line":91,"range":{"start_line":91,"start_character":58,"end_line":91,"end_character":74},"in_reply_to":"9fdfeff1_52649cb9","updated":"2019-02-07 17:23:42.000000000","message":"Whoops, done.","commit_id":"c61794df6fc03b628d82665f7a6169b97c0a9548"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"4478992a19daefcd8c58bdeab4c9b9818d3ee151","unresolved":false,"context_lines":[{"line_number":88,"context_line":"Configure a flavor (Controller)"},{"line_number":89,"context_line":"-------------------------------"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Once the alias has been configured, it can be used for an image extra spec. For"},{"line_number":92,"context_line":"example, to request two of the PCI devices referenced by alias ``a1``, run:"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":".. code-block:: console"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fdfeff1_52649cb9","line":91,"range":{"start_line":91,"start_character":58,"end_line":91,"end_character":74},"in_reply_to":"9fdfeff1_b172aa7b","updated":"2019-02-06 20:54:16.000000000","message":"You can\u0027t request PCI devices through an image property at all, can you? In which case this should definitely be s/image/flavor/","commit_id":"c61794df6fc03b628d82665f7a6169b97c0a9548"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"4478992a19daefcd8c58bdeab4c9b9818d3ee151","unresolved":false,"context_lines":[{"line_number":111,"context_line":"To enable VT-d and IOMMU, refer to steps one and two in :neutron-doc:`Create"},{"line_number":112,"context_line":"Virtual Functions \u003cadmin/config-sriov.html#create-virtual-functions-compute\u003e`."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"To enable PCI passthrough on a Hyper-V compute nodes, the following are"},{"line_number":115,"context_line":"required:"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"* Windows 10 or Windows / Hyper-V Server 2016 or newer"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fdfeff1_122cd445","line":114,"range":{"start_line":114,"start_character":47,"end_line":114,"end_character":52},"updated":"2019-02-06 20:54:16.000000000","message":"node","commit_id":"c61794df6fc03b628d82665f7a6169b97c0a9548"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"39329c9936a43b7fc2193907bc14ac04bec09053","unresolved":false,"context_lines":[{"line_number":111,"context_line":"To enable VT-d and IOMMU, refer to steps one and two in :neutron-doc:`Create"},{"line_number":112,"context_line":"Virtual Functions \u003cadmin/config-sriov.html#create-virtual-functions-compute\u003e`."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"To enable PCI passthrough on a Hyper-V compute nodes, the following are"},{"line_number":115,"context_line":"required:"},{"line_number":116,"context_line":""},{"line_number":117,"context_line":"* Windows 10 or Windows / Hyper-V Server 2016 or newer"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fdfeff1_869b9764","line":114,"range":{"start_line":114,"start_character":47,"end_line":114,"end_character":52},"in_reply_to":"9fdfeff1_122cd445","updated":"2019-02-07 17:23:42.000000000","message":"Done","commit_id":"c61794df6fc03b628d82665f7a6169b97c0a9548"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"4478992a19daefcd8c58bdeab4c9b9818d3ee151","unresolved":false,"context_lines":[{"line_number":161,"context_line":"``product_id`` are added to the pool of PCI devices available for passthrough"},{"line_number":162,"context_line":"to VMs."},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"In addition, it is also necessary to configure the"},{"line_number":165,"context_line":":oslo.config:option:`pci.alias` option on the compute node too. This is"},{"line_number":166,"context_line":"required, allow resizes of guests with PCI device. This should be identical to"},{"line_number":167,"context_line":"the alias configured :ref:`previously \u003cpci-passthrough-alias\u003e`. For example:"},{"line_number":168,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fdfeff1_52a57cb4","line":165,"range":{"start_line":164,"start_character":19,"end_line":165,"end_character":62},"updated":"2019-02-06 20:54:16.000000000","message":"pick one of \u0027also\u0027 or \u0027too\u0027","commit_id":"c61794df6fc03b628d82665f7a6169b97c0a9548"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"39329c9936a43b7fc2193907bc14ac04bec09053","unresolved":false,"context_lines":[{"line_number":161,"context_line":"``product_id`` are added to the pool of PCI devices available for passthrough"},{"line_number":162,"context_line":"to VMs."},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"In addition, it is also necessary to configure the"},{"line_number":165,"context_line":":oslo.config:option:`pci.alias` option on the compute node too. This is"},{"line_number":166,"context_line":"required, allow resizes of guests with PCI device. This should be identical to"},{"line_number":167,"context_line":"the alias configured :ref:`previously \u003cpci-passthrough-alias\u003e`. For example:"},{"line_number":168,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fdfeff1_26a2eb9b","line":165,"range":{"start_line":164,"start_character":19,"end_line":165,"end_character":62},"in_reply_to":"9fdfeff1_52a57cb4","updated":"2019-02-07 17:23:42.000000000","message":"Done","commit_id":"c61794df6fc03b628d82665f7a6169b97c0a9548"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"4478992a19daefcd8c58bdeab4c9b9818d3ee151","unresolved":false,"context_lines":[{"line_number":163,"context_line":""},{"line_number":164,"context_line":"In addition, it is also necessary to configure the"},{"line_number":165,"context_line":":oslo.config:option:`pci.alias` option on the compute node too. This is"},{"line_number":166,"context_line":"required, allow resizes of guests with PCI device. This should be identical to"},{"line_number":167,"context_line":"the alias configured :ref:`previously \u003cpci-passthrough-alias\u003e`. For example:"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":".. code-block:: ini"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fdfeff1_d2908c51","line":166,"range":{"start_line":166,"start_character":43,"end_line":166,"end_character":49},"updated":"2019-02-06 20:54:16.000000000","message":"devices","commit_id":"c61794df6fc03b628d82665f7a6169b97c0a9548"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"68982add3e458c1a4713879b300b1d3114190837","unresolved":false,"context_lines":[{"line_number":163,"context_line":""},{"line_number":164,"context_line":"In addition, it is also necessary to configure the"},{"line_number":165,"context_line":":oslo.config:option:`pci.alias` option on the compute node too. This is"},{"line_number":166,"context_line":"required, allow resizes of guests with PCI device. This should be identical to"},{"line_number":167,"context_line":"the alias configured :ref:`previously \u003cpci-passthrough-alias\u003e`. For example:"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":".. code-block:: ini"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fdfeff1_7101a2af","line":166,"range":{"start_line":166,"start_character":0,"end_line":166,"end_character":15},"updated":"2019-02-06 18:40:02.000000000","message":"required to allow ?","commit_id":"c61794df6fc03b628d82665f7a6169b97c0a9548"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"39329c9936a43b7fc2193907bc14ac04bec09053","unresolved":false,"context_lines":[{"line_number":163,"context_line":""},{"line_number":164,"context_line":"In addition, it is also necessary to configure the"},{"line_number":165,"context_line":":oslo.config:option:`pci.alias` option on the compute node too. This is"},{"line_number":166,"context_line":"required, allow resizes of guests with PCI device. This should be identical to"},{"line_number":167,"context_line":"the alias configured :ref:`previously \u003cpci-passthrough-alias\u003e`. For example:"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":".. code-block:: ini"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fdfeff1_06a7a7a9","line":166,"range":{"start_line":166,"start_character":0,"end_line":166,"end_character":15},"in_reply_to":"9fdfeff1_7101a2af","updated":"2019-02-07 17:23:42.000000000","message":"Done","commit_id":"c61794df6fc03b628d82665f7a6169b97c0a9548"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"39329c9936a43b7fc2193907bc14ac04bec09053","unresolved":false,"context_lines":[{"line_number":163,"context_line":""},{"line_number":164,"context_line":"In addition, it is also necessary to configure the"},{"line_number":165,"context_line":":oslo.config:option:`pci.alias` option on the compute node too. This is"},{"line_number":166,"context_line":"required, allow resizes of guests with PCI device. This should be identical to"},{"line_number":167,"context_line":"the alias configured :ref:`previously \u003cpci-passthrough-alias\u003e`. For example:"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":".. code-block:: ini"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fdfeff1_e6ab8372","line":166,"range":{"start_line":166,"start_character":43,"end_line":166,"end_character":49},"in_reply_to":"9fdfeff1_d2908c51","updated":"2019-02-07 17:23:42.000000000","message":"Done","commit_id":"c61794df6fc03b628d82665f7a6169b97c0a9548"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"4478992a19daefcd8c58bdeab4c9b9818d3ee151","unresolved":false,"context_lines":[{"line_number":179,"context_line":"---------------------------------------------"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"The :program:`nova-scheduler` service selects a destination host that has PCI"},{"line_number":182,"context_line":"devices available that matches the ``alias`` specified in the flavor."},{"line_number":183,"context_line":""},{"line_number":184,"context_line":".. code-block:: console"},{"line_number":185,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fdfeff1_b2a14898","line":182,"range":{"start_line":182,"start_character":23,"end_line":182,"end_character":30},"updated":"2019-02-06 20:54:16.000000000","message":"match","commit_id":"c61794df6fc03b628d82665f7a6169b97c0a9548"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"39329c9936a43b7fc2193907bc14ac04bec09053","unresolved":false,"context_lines":[{"line_number":179,"context_line":"---------------------------------------------"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"The :program:`nova-scheduler` service selects a destination host that has PCI"},{"line_number":182,"context_line":"devices available that matches the ``alias`` specified in the flavor."},{"line_number":183,"context_line":""},{"line_number":184,"context_line":".. code-block:: console"},{"line_number":185,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fdfeff1_66b1d3e1","line":182,"range":{"start_line":182,"start_character":23,"end_line":182,"end_character":30},"in_reply_to":"9fdfeff1_b2a14898","updated":"2019-02-07 17:23:42.000000000","message":"Done","commit_id":"c61794df6fc03b628d82665f7a6169b97c0a9548"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"98d2080c8c9d1bc8d208049f5a96cfe7e706d643","unresolved":false,"context_lines":[{"line_number":27,"context_line":".. note::"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"   The PCI device with address ``0000:41:00.0``, the vendor ID of ``8086`` and"},{"line_number":30,"context_line":"   the product ID of ``154d`` is used as an example. This will differ between"},{"line_number":31,"context_line":"   environments."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9fdfeff1_d2f4de89","line":30,"range":{"start_line":30,"start_character":30,"end_line":30,"end_character":32},"updated":"2019-02-09 00:42:26.000000000","message":"s/is/are/","commit_id":"e7663b2ce3e642ad535ed9b685b14660f4526e9f"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"232398f9520153d9e0fa7413ddbbd3fc978e4b7c","unresolved":false,"context_lines":[{"line_number":27,"context_line":".. note::"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"   The PCI device with address ``0000:41:00.0``, the vendor ID of ``8086`` and"},{"line_number":30,"context_line":"   the product ID of ``154d`` is used as an example. This will differ between"},{"line_number":31,"context_line":"   environments."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9fdfeff1_775ca818","line":30,"range":{"start_line":30,"start_character":30,"end_line":30,"end_character":32},"in_reply_to":"9fdfeff1_d2f4de89","updated":"2019-02-14 10:38:17.000000000","message":"\u0027is\u0027 is correct here - I\u0027m talking about the PCI device (singular) that\u0027s identified by those three attributes (address, vendor ID, product ID)","commit_id":"e7663b2ce3e642ad535ed9b685b14660f4526e9f"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"98d2080c8c9d1bc8d208049f5a96cfe7e706d643","unresolved":false,"context_lines":[{"line_number":72,"context_line":""},{"line_number":73,"context_line":".. important::"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"   This option must also be configured on compute nodes. This is dicussed later"},{"line_number":76,"context_line":"   in this document."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9fdfeff1_52178ea4","line":75,"range":{"start_line":75,"start_character":3,"end_line":75,"end_character":55},"updated":"2019-02-09 00:42:26.000000000","message":"I was a little confused here.\nDoes this mean we should restart nova-api service on a controller node after configuring the option on the controller node. And we need to configure the same option value on all compute nodes, right?","commit_id":"e7663b2ce3e642ad535ed9b685b14660f4526e9f"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"232398f9520153d9e0fa7413ddbbd3fc978e4b7c","unresolved":false,"context_lines":[{"line_number":72,"context_line":""},{"line_number":73,"context_line":".. important::"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"   This option must also be configured on compute nodes. This is dicussed later"},{"line_number":76,"context_line":"   in this document."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9fdfeff1_d7a234fc","line":75,"range":{"start_line":75,"start_character":3,"end_line":75,"end_character":55},"in_reply_to":"9fdfeff1_52178ea4","updated":"2019-02-14 10:38:17.000000000","message":"Correct. I can reword if that\u0027s not clear.","commit_id":"e7663b2ce3e642ad535ed9b685b14660f4526e9f"},{"author":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"change_message_id":"c424cb707681c459869c601d4df2c392fd2d6bac","unresolved":false,"context_lines":[{"line_number":69,"context_line":"of ``0x154d``:"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":".. code-block:: ini"},{"line_number":72,"context_line":"   :caption: nova.conf"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"   [pci]"},{"line_number":75,"context_line":"   alias \u003d { \"vendor_id\":\"8086\", \"product_id\":\"154d\", \"device_type\":\"type-PF\", \"name\":\"a1\" }"}],"source_content_type":"text/x-rst","patch_set":3,"id":"dfbec78f_e3671b25","line":72,"range":{"start_line":72,"start_character":3,"end_line":72,"end_character":22},"updated":"2019-05-03 23:18:51.000000000","message":"looks like the \"caption\" bit here really messes up rendering the block (at least in my browser)\n\nhttp://logs.openstack.org/43/635243/3/check/openstack-tox-docs/ea2e7ab/html/admin/pci-passthrough.html#configure-nova-scheduler-controller (ephemeral link)","commit_id":"734620b8f0ca9c01353389464055a8a99fd3210e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"feca2b83017d5e25a088caf3ab71fc286a2dce6e","unresolved":false,"context_lines":[{"line_number":69,"context_line":"of ``0x154d``:"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":".. code-block:: ini"},{"line_number":72,"context_line":"   :caption: nova.conf"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"   [pci]"},{"line_number":75,"context_line":"   alias \u003d { \"vendor_id\":\"8086\", \"product_id\":\"154d\", \"device_type\":\"type-PF\", \"name\":\"a1\" }"}],"source_content_type":"text/x-rst","patch_set":3,"id":"dfbec78f_a57843f8","line":72,"range":{"start_line":72,"start_character":3,"end_line":72,"end_character":22},"in_reply_to":"dfbec78f_e3671b25","updated":"2019-05-04 17:54:35.000000000","message":"Done","commit_id":"734620b8f0ca9c01353389464055a8a99fd3210e"},{"author":{"_account_id":25733,"name":"Jan Gutter","email":"github@jangutter.com","username":"jangutter"},"change_message_id":"c424cb707681c459869c601d4df2c392fd2d6bac","unresolved":false,"context_lines":[{"line_number":107,"context_line":"* VT-d and IOMMU enabled on the host"},{"line_number":108,"context_line":"* Assignable PCIe devices"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"To enable VT-d and IOMMU, refer to steps one and two in :neutron-doc:`Create"},{"line_number":111,"context_line":"Virtual Functions \u003cadmin/config-sriov.html#create-virtual-functions-compute\u003e`."},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"To enable PCI passthrough on a Hyper-V compute node, the following are"},{"line_number":114,"context_line":"required:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"dfbec78f_63aecb2f","line":111,"range":{"start_line":110,"start_character":26,"end_line":111,"end_character":78},"updated":"2019-05-03 23:18:51.000000000","message":"Might be a good idea to just copy those two lines over here:\n\n Ensure SR-IOV and VT-d are enabled in BIOS.\n\n Enable IOMMU in Linux by adding intel_iommu\u003don\n to the kernel parameters, for example, using GRUB.\n\n(I think there\u0027s probably also an amd_iommu?)","commit_id":"734620b8f0ca9c01353389464055a8a99fd3210e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"feca2b83017d5e25a088caf3ab71fc286a2dce6e","unresolved":false,"context_lines":[{"line_number":107,"context_line":"* VT-d and IOMMU enabled on the host"},{"line_number":108,"context_line":"* Assignable PCIe devices"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"To enable VT-d and IOMMU, refer to steps one and two in :neutron-doc:`Create"},{"line_number":111,"context_line":"Virtual Functions \u003cadmin/config-sriov.html#create-virtual-functions-compute\u003e`."},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"To enable PCI passthrough on a Hyper-V compute node, the following are"},{"line_number":114,"context_line":"required:"}],"source_content_type":"text/x-rst","patch_set":3,"id":"dfbec78f_85d5ffbb","line":111,"range":{"start_line":110,"start_character":26,"end_line":111,"end_character":78},"in_reply_to":"dfbec78f_63aecb2f","updated":"2019-05-04 17:54:35.000000000","message":"Good idea :) Done","commit_id":"734620b8f0ca9c01353389464055a8a99fd3210e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"870d89abb1674d77884bfb73a20523e9b2d6bddc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"dfbec78f_dabaeddc","updated":"2019-05-05 13:03:49.000000000","message":"This doc linked twice to the admin landing page. Once under Advanced Configuration and once directly to the page.  Do we need both links?","commit_id":"6fada82dfd8704e3891a6bebf408923275fdaa35"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7d4875ca8a5ecd87534b5ad3e3d62c38d5c1c006","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"3fa7e38b_cf3f27b2","in_reply_to":"dfbec78f_dabaeddc","updated":"2019-09-24 16:40:20.000000000","message":"Let me tackle that separately.","commit_id":"6fada82dfd8704e3891a6bebf408923275fdaa35"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"870d89abb1674d77884bfb73a20523e9b2d6bddc","unresolved":false,"context_lines":[{"line_number":23,"context_line":"   **Limitations**"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"   * Attaching SR-IOV ports to existing servers is not currently supported, see"},{"line_number":26,"context_line":"     `bug 1708433 \u003chttps://bugs.launchpad.net/nova/+bug/1708433\u003e`_ for details."},{"line_number":27,"context_line":"   * Cold migration (resize) of servers with SR-IOV devices attached was not"},{"line_number":28,"context_line":"     supported until the 14.0.0 Newton release, see"},{"line_number":29,"context_line":"     `bug 1512800 \u003chttps://bugs.launchpad.net/nova/+bug/1512880\u003e`_ for details."}],"source_content_type":"text/x-rst","patch_set":4,"id":"dfbec78f_3a0229b6","line":26,"updated":"2019-05-05 13:03:49.000000000","message":"It can be confusing that this bug is marked as Fix Released but the fix only made the failure explicit instead of implicit.","commit_id":"6fada82dfd8704e3891a6bebf408923275fdaa35"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7d4875ca8a5ecd87534b5ad3e3d62c38d5c1c006","unresolved":false,"context_lines":[{"line_number":23,"context_line":"   **Limitations**"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"   * Attaching SR-IOV ports to existing servers is not currently supported, see"},{"line_number":26,"context_line":"     `bug 1708433 \u003chttps://bugs.launchpad.net/nova/+bug/1708433\u003e`_ for details."},{"line_number":27,"context_line":"   * Cold migration (resize) of servers with SR-IOV devices attached was not"},{"line_number":28,"context_line":"     supported until the 14.0.0 Newton release, see"},{"line_number":29,"context_line":"     `bug 1512800 \u003chttps://bugs.launchpad.net/nova/+bug/1512880\u003e`_ for details."}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_6f1ab36f","line":26,"in_reply_to":"dfbec78f_3a0229b6","updated":"2019-09-24 16:40:20.000000000","message":"Done","commit_id":"6fada82dfd8704e3891a6bebf408923275fdaa35"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"870d89abb1674d77884bfb73a20523e9b2d6bddc","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"The :program:`nova-scheduler` service must be configured to enable the"},{"line_number":44,"context_line":"``PciPassthroughFilter``. To do this, add this filter to the list of filters"},{"line_number":45,"context_line":"specified in :oslo.config:option:`filter_scheduler.available_filters` and set"},{"line_number":46,"context_line":":oslo.config:option:`filter_scheduler.available_filters` to the default of"},{"line_number":47,"context_line":"``nova.scheduler.filters.all_filters``. For example:"},{"line_number":48,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"dfbec78f_fa2d7146","line":45,"range":{"start_line":45,"start_character":0,"end_line":45,"end_character":77},"updated":"2019-05-05 13:03:49.000000000","message":"Should it be `enabled_filters`?","commit_id":"6fada82dfd8704e3891a6bebf408923275fdaa35"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7d4875ca8a5ecd87534b5ad3e3d62c38d5c1c006","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"The :program:`nova-scheduler` service must be configured to enable the"},{"line_number":44,"context_line":"``PciPassthroughFilter``. To do this, add this filter to the list of filters"},{"line_number":45,"context_line":"specified in :oslo.config:option:`filter_scheduler.available_filters` and set"},{"line_number":46,"context_line":":oslo.config:option:`filter_scheduler.available_filters` to the default of"},{"line_number":47,"context_line":"``nova.scheduler.filters.all_filters``. For example:"},{"line_number":48,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_2f2a7b7e","line":45,"range":{"start_line":45,"start_character":0,"end_line":45,"end_character":77},"in_reply_to":"dfbec78f_fa2d7146","updated":"2019-09-24 16:40:20.000000000","message":"It should. Done","commit_id":"6fada82dfd8704e3891a6bebf408923275fdaa35"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"870d89abb1674d77884bfb73a20523e9b2d6bddc","unresolved":false,"context_lines":[{"line_number":64,"context_line":"``pci_passthrough:alias`` flavor extra spec. However, the aliases themselves"},{"line_number":65,"context_line":"must be configured. This done via the :oslo.config:option:`pci.alias`"},{"line_number":66,"context_line":"configuration option. For example, to configure a PCI alias ``a1`` to request"},{"line_number":67,"context_line":"the aforementioned PCI device with a vendor ID of ``0x8086`` and a product ID"},{"line_number":68,"context_line":"of ``0x154d``:"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":".. code-block:: ini"}],"source_content_type":"text/x-rst","patch_set":4,"id":"dfbec78f_3a1b091c","line":67,"range":{"start_line":67,"start_character":4,"end_line":67,"end_character":18},"updated":"2019-05-05 13:03:49.000000000","message":"Was this device already mentioned?","commit_id":"6fada82dfd8704e3891a6bebf408923275fdaa35"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7d4875ca8a5ecd87534b5ad3e3d62c38d5c1c006","unresolved":false,"context_lines":[{"line_number":64,"context_line":"``pci_passthrough:alias`` flavor extra spec. However, the aliases themselves"},{"line_number":65,"context_line":"must be configured. This done via the :oslo.config:option:`pci.alias`"},{"line_number":66,"context_line":"configuration option. For example, to configure a PCI alias ``a1`` to request"},{"line_number":67,"context_line":"the aforementioned PCI device with a vendor ID of ``0x8086`` and a product ID"},{"line_number":68,"context_line":"of ``0x154d``:"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":".. code-block:: ini"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_8f304fea","line":67,"range":{"start_line":67,"start_character":4,"end_line":67,"end_character":18},"in_reply_to":"dfbec78f_3a1b091c","updated":"2019-09-24 16:40:20.000000000","message":"Good spot. Done","commit_id":"6fada82dfd8704e3891a6bebf408923275fdaa35"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"870d89abb1674d77884bfb73a20523e9b2d6bddc","unresolved":false,"context_lines":[{"line_number":151,"context_line":".. code-block:: ini"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"   [pci]"},{"line_number":154,"context_line":"   passthrough_whitelist \u003d { \"vendor_id\": \"8086\", \"product_id\": \"10fb\" }"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"If using vendor and product IDs, all PCI devices matching the ``vendor_id`` and"},{"line_number":157,"context_line":"``product_id`` are added to the pool of PCI devices available for passthrough"}],"source_content_type":"text/x-rst","patch_set":4,"id":"dfbec78f_1ad88551","line":154,"range":{"start_line":154,"start_character":65,"end_line":154,"end_character":69},"updated":"2019-05-05 13:03:49.000000000","message":"I suggest to use \u0027154d\u0027 to keep the example consistent","commit_id":"6fada82dfd8704e3891a6bebf408923275fdaa35"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"7d4875ca8a5ecd87534b5ad3e3d62c38d5c1c006","unresolved":false,"context_lines":[{"line_number":151,"context_line":".. code-block:: ini"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"   [pci]"},{"line_number":154,"context_line":"   passthrough_whitelist \u003d { \"vendor_id\": \"8086\", \"product_id\": \"10fb\" }"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"If using vendor and product IDs, all PCI devices matching the ``vendor_id`` and"},{"line_number":157,"context_line":"``product_id`` are added to the pool of PCI devices available for passthrough"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3fa7e38b_2f4fdb6b","line":154,"range":{"start_line":154,"start_character":65,"end_line":154,"end_character":69},"in_reply_to":"dfbec78f_1ad88551","updated":"2019-09-24 16:40:20.000000000","message":"Done","commit_id":"6fada82dfd8704e3891a6bebf408923275fdaa35"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"62c00492cb1aff719c54a64b49b7244434ee90d3","unresolved":false,"context_lines":[{"line_number":23,"context_line":"   **Limitations**"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"   * Attaching SR-IOV ports to existing servers is not currently supported."},{"line_number":26,"context_line":"     This is now rejected by the API but previously it fail later in the"},{"line_number":27,"context_line":"     process. See `bug 1708433 \u003chttps://bugs.launchpad.net/nova/+bug/1708433\u003e`_"},{"line_number":28,"context_line":"     for details."},{"line_number":29,"context_line":"   * Cold migration (resize) of servers with SR-IOV devices attached was not"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3fa7e38b_4a422940","line":26,"range":{"start_line":26,"start_character":55,"end_line":26,"end_character":59},"updated":"2019-09-25 20:23:08.000000000","message":"failed\n\nor\n\nwould fail","commit_id":"d5259abfe163058b13ad943ad16a5c281c2080e7"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"62c00492cb1aff719c54a64b49b7244434ee90d3","unresolved":false,"context_lines":[{"line_number":86,"context_line":"Configure a flavor (API)"},{"line_number":87,"context_line":"------------------------"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"Once the alias has been configured, it can be used for an flavor extra spec."},{"line_number":90,"context_line":"For example, to request two of the PCI devices referenced by alias ``a1``, run:"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":".. code-block:: console"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3fa7e38b_8a7b4179","line":89,"range":{"start_line":89,"start_character":51,"end_line":89,"end_character":57},"updated":"2019-09-25 20:23:08.000000000","message":"in a","commit_id":"d5259abfe163058b13ad943ad16a5c281c2080e7"}]}
