)]}'
{"specs/stein/approved/vgpu-stein.rst":[{"author":{"_account_id":4690,"name":"melanie witt","display_name":"melwitt","email":"melwittt@gmail.com","username":"melwitt"},"change_message_id":"3c44995af3bcd0ac8188be4998c5ef18e4e904ca","unresolved":false,"context_lines":[{"line_number":8,"context_line":"libvirt: Supporting multiple vGPU types for a single pGPU"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/vgpu-rocky"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"`Virtual GPUs in Nova`_ was implemented in Queens but only with one supported"},{"line_number":14,"context_line":"GPU type per compute node. Now that `Nested Resource Providers`_ is a thing,"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_ac5bde52","line":11,"range":{"start_line":11,"start_character":44,"end_line":11,"end_character":54},"updated":"2018-10-24 16:34:56.000000000","message":"Urgh, just noticed this should be vgpu-stein","commit_id":"0453887bd40c3693b09df644b70a28c74d0380d2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ddcc741c373f0440af110d07bc9466586a0a086f","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"`Virtual GPUs in Nova`_ was implemented in Queens but only with one supported"},{"line_number":14,"context_line":"GPU type per compute node. Now that `Nested Resource Providers`_ is a thing,"},{"line_number":15,"context_line":"this spec is discussing about how to have one supported vGPU type *per physical"},{"line_number":16,"context_line":"GPU* (given a GPU card can have multiple physical GPUs)."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":".. note::"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_90829351","line":15,"range":{"start_line":15,"start_character":10,"end_line":15,"end_character":29},"updated":"2018-09-19 09:13:09.000000000","message":"addresses?","commit_id":"0453887bd40c3693b09df644b70a28c74d0380d2"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"2c4311846b6117c0872a888346c8ccbc1adca26a","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"`Virtual GPUs in Nova`_ was implemented in Queens but only with one supported"},{"line_number":14,"context_line":"GPU type per compute node. Now that `Nested Resource Providers`_ is a thing,"},{"line_number":15,"context_line":"this spec is discussing about how to have one supported vGPU type *per physical"},{"line_number":16,"context_line":"GPU* (given a GPU card can have multiple physical GPUs)."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":".. note::"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_7614b342","line":15,"range":{"start_line":15,"start_character":10,"end_line":15,"end_character":29},"in_reply_to":"3f79a3b5_5eaa05d3","updated":"2018-10-24 15:01:43.000000000","message":"Yup, I want to minimize the changes for an already approved spec and address nits in a follow-up","commit_id":"0453887bd40c3693b09df644b70a28c74d0380d2"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2006882276ab73078529a445707a0fc49d3da117","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"`Virtual GPUs in Nova`_ was implemented in Queens but only with one supported"},{"line_number":14,"context_line":"GPU type per compute node. Now that `Nested Resource Providers`_ is a thing,"},{"line_number":15,"context_line":"this spec is discussing about how to have one supported vGPU type *per physical"},{"line_number":16,"context_line":"GPU* (given a GPU card can have multiple physical GPUs)."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":".. note::"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_5eaa05d3","line":15,"range":{"start_line":15,"start_character":10,"end_line":15,"end_character":29},"in_reply_to":"3f79a3b5_90829351","updated":"2018-10-23 19:26:23.000000000","message":"that is more correct but i also am not too pushed on that chagne. so yes this is responce but this is a minor nit from my perspective.","commit_id":"0453887bd40c3693b09df644b70a28c74d0380d2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ddcc741c373f0440af110d07bc9466586a0a086f","unresolved":false,"context_lines":[{"line_number":16,"context_line":"GPU* (given a GPU card can have multiple physical GPUs)."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":".. note::"},{"line_number":19,"context_line":"   As Xen provides a specific feature where physical GPUs supporting same vGPU"},{"line_number":20,"context_line":"   type are within a single pGPU group, that virt driver doesn\u0027t need to know"},{"line_number":21,"context_line":"   which exact pGPUs need to support a specific type, hence this spec only"},{"line_number":22,"context_line":"   targets the libvirt driver."},{"line_number":23,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_50eddb21","line":20,"range":{"start_line":19,"start_character":38,"end_line":20,"end_character":38},"updated":"2018-09-19 09:13:09.000000000","message":"where all physical GPUs supporting a given vGPU type are grouped together\n\nright?","commit_id":"0453887bd40c3693b09df644b70a28c74d0380d2"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"2c4311846b6117c0872a888346c8ccbc1adca26a","unresolved":false,"context_lines":[{"line_number":16,"context_line":"GPU* (given a GPU card can have multiple physical GPUs)."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":".. note::"},{"line_number":19,"context_line":"   As Xen provides a specific feature where physical GPUs supporting same vGPU"},{"line_number":20,"context_line":"   type are within a single pGPU group, that virt driver doesn\u0027t need to know"},{"line_number":21,"context_line":"   which exact pGPUs need to support a specific type, hence this spec only"},{"line_number":22,"context_line":"   targets the libvirt driver."},{"line_number":23,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_d634a7e1","line":20,"range":{"start_line":19,"start_character":38,"end_line":20,"end_character":38},"in_reply_to":"3f79a3b5_1e424d3d","updated":"2018-10-24 15:01:43.000000000","message":"Xen doesn\u0027t really care AFAIK for the moment about NUMA. Let\u0027s address this point when they come.","commit_id":"0453887bd40c3693b09df644b70a28c74d0380d2"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2006882276ab73078529a445707a0fc49d3da117","unresolved":false,"context_lines":[{"line_number":16,"context_line":"GPU* (given a GPU card can have multiple physical GPUs)."},{"line_number":17,"context_line":""},{"line_number":18,"context_line":".. note::"},{"line_number":19,"context_line":"   As Xen provides a specific feature where physical GPUs supporting same vGPU"},{"line_number":20,"context_line":"   type are within a single pGPU group, that virt driver doesn\u0027t need to know"},{"line_number":21,"context_line":"   which exact pGPUs need to support a specific type, hence this spec only"},{"line_number":22,"context_line":"   targets the libvirt driver."},{"line_number":23,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_1e424d3d","line":20,"range":{"start_line":19,"start_character":38,"end_line":20,"end_character":38},"in_reply_to":"3f79a3b5_50eddb21","updated":"2018-10-23 19:26:23.000000000","message":"if they were on different numa nodes they should not be.","commit_id":"0453887bd40c3693b09df644b70a28c74d0380d2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ddcc741c373f0440af110d07bc9466586a0a086f","unresolved":false,"context_lines":[{"line_number":31,"context_line":"That said, Intel (to be confirmed) and NVidia vendor drivers only accept one"},{"line_number":32,"context_line":"type for all the virtual devices *per graphical processing unit*."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"For example, NVidia GRID physical cards can accept a list of different GPU"},{"line_number":35,"context_line":"types, but the driver can only support `one type per physical GPU`_."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":".. figure:: http://docs.nvidia.com/grid/5.0/grid-vgpu-user-guide/graphics/sample-vgpu-configurations-grid-2gpus-on-card.png"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_b03a2f95","line":35,"range":{"start_line":34,"start_character":0,"end_line":35,"end_character":68},"updated":"2018-09-19 09:13:09.000000000","message":"(Unrelated) I thought the whole reason for the mdev framework was that it would allow different types of virtual device on the same physical device, unlike SR-IOV where everything is equal?","commit_id":"0453887bd40c3693b09df644b70a28c74d0380d2"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2006882276ab73078529a445707a0fc49d3da117","unresolved":false,"context_lines":[{"line_number":31,"context_line":"That said, Intel (to be confirmed) and NVidia vendor drivers only accept one"},{"line_number":32,"context_line":"type for all the virtual devices *per graphical processing unit*."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"For example, NVidia GRID physical cards can accept a list of different GPU"},{"line_number":35,"context_line":"types, but the driver can only support `one type per physical GPU`_."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":".. figure:: http://docs.nvidia.com/grid/5.0/grid-vgpu-user-guide/graphics/sample-vgpu-configurations-grid-2gpus-on-card.png"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_9e517dd8","line":35,"range":{"start_line":34,"start_character":0,"end_line":35,"end_character":68},"in_reply_to":"3f79a3b5_b03a2f95","updated":"2018-10-23 19:26:23.000000000","message":"yes that is part of it.\n\nthe vifio mediated device framework\nalso makes it siplier to support live migration in\na more generic way as it was part of its design critiria.\n\nthe nvidia driver does not support heterogeneous deployments yet on a single card.\n \nhttps://docs.nvidia.com/grid/latest/grid-vgpu-user-guide/index.html#homogeneous-grid-vgpus\n\nso you can subdevied the card in many ways but currently once you allocate one vgpu type on the cared you cant mix it with other vgpu types.","commit_id":"0453887bd40c3693b09df644b70a28c74d0380d2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ddcc741c373f0440af110d07bc9466586a0a086f","unresolved":false,"context_lines":[{"line_number":53,"context_line":"We already have ``[devices]/enabled_vgpu_types`` that define which types the"},{"line_number":54,"context_line":"Nova compute node can use:"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":".. code::"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"  [devices]"},{"line_number":59,"context_line":"  enabled_vgpu_types \u003d [str_vgpu_type_1, str_vgpu_type_2, ...]"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_70401707","line":56,"range":{"start_line":56,"start_character":0,"end_line":56,"end_character":9},"updated":"2018-09-19 09:13:09.000000000","message":"nit:\n\n  .. code-block:: ini","commit_id":"0453887bd40c3693b09df644b70a28c74d0380d2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ddcc741c373f0440af110d07bc9466586a0a086f","unresolved":false,"context_lines":[{"line_number":88,"context_line":""},{"line_number":89,"context_line":"For example, it would be set in nova.conf:"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":".. code::"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"  [devices]"},{"line_number":94,"context_line":"  enabled_vgpu_types \u003d nvidia-35,nvidia-36"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_1049a330","line":91,"range":{"start_line":91,"start_character":0,"end_line":91,"end_character":9},"updated":"2018-09-19 09:13:09.000000000","message":"nit:\n\n  .. code-block:: ini","commit_id":"0453887bd40c3693b09df644b70a28c74d0380d2"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7119f1e0c11a89d3ee2be31b06cc34d316216884","unresolved":false,"context_lines":[{"line_number":90,"context_line":""},{"line_number":91,"context_line":".. code::"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"  [devices]"},{"line_number":94,"context_line":"  enabled_vgpu_types \u003d nvidia-35,nvidia-36"},{"line_number":95,"context_line":"  [vgpu_nvidia-35]"},{"line_number":96,"context_line":"  device_addresses \u003d 0000:84:00.0,0000:85:00.0"},{"line_number":97,"context_line":"  [vgpu_nvidia-36]"},{"line_number":98,"context_line":"  device_addresses \u003d 0000:86:00.0"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"In that case, the ``nvidia-35`` vGPU type would be supported by the physical"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_77c53409","line":98,"range":{"start_line":93,"start_character":2,"end_line":98,"end_character":33},"updated":"2018-10-04 10:04:35.000000000","message":"this is really important as vgpus are not the only devices that support mdevs\n\nnics acclerators and even tty charater devices can all provided mdevs so we need to be able to assocaige mdev types to pci addresses and use those address to limit what pcidevices we treat as gpus.\n\nif we dont we could endup exposing a smartnic or QAT device to a guest instead of a gpu.","commit_id":"0453887bd40c3693b09df644b70a28c74d0380d2"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"65465a6326b7e22adcb52eb8f24e7d0df6c7e8c2","unresolved":false,"context_lines":[{"line_number":90,"context_line":""},{"line_number":91,"context_line":".. code::"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"  [devices]"},{"line_number":94,"context_line":"  enabled_vgpu_types \u003d nvidia-35,nvidia-36"},{"line_number":95,"context_line":"  [vgpu_nvidia-35]"},{"line_number":96,"context_line":"  device_addresses \u003d 0000:84:00.0,0000:85:00.0"},{"line_number":97,"context_line":"  [vgpu_nvidia-36]"},{"line_number":98,"context_line":"  device_addresses \u003d 0000:86:00.0"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"In that case, the ``nvidia-35`` vGPU type would be supported by the physical"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_a39e0f04","line":98,"range":{"start_line":93,"start_character":2,"end_line":98,"end_character":33},"in_reply_to":"3f79a3b5_77c53409","updated":"2018-10-05 14:59:56.000000000","message":"Sure, but given we check the mdev supported types for each PCI devices already, we don\u0027t really create inventories for things like smart NICs ;)","commit_id":"0453887bd40c3693b09df644b70a28c74d0380d2"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"01c1830228d28c6c4ffda20f0d7e1008229c11bc","unresolved":false,"context_lines":[{"line_number":100,"context_line":""},{"line_number":101,"context_line":"In that case, the ``nvidia-35`` vGPU type would be supported by the physical"},{"line_number":102,"context_line":"GPUs that are in the PCI addresses ``0000:84:00.0`` and ``0000:85:00.0``, while"},{"line_number":103,"context_line":"``nvidia-36`` vGPU would only be supported by ``0000:86:00.0``."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"If some operator messes up and provides two types for the same pGPU, an"},{"line_number":106,"context_line":"InvalidLibvirtGPUConfig exception will be raised. If the operator forgets to"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_790b5b21","line":103,"updated":"2018-10-23 19:57:14.000000000","message":"It would be neat to describe how this will translate into placement. I\u0027m assuming the PCI addresses will be irrelevant and we\u0027ll just have a count. So this example will translate to something like:\n\n                       $COMPUTE_RP\n                        /       \\\n $COMPUTE_RP__GPU_NVIDIA_35   $COMPUTE_RP__GPU_NVIDIA_36\n   VGPU: 2                      VGPU: 1\n\nThe first time the virt driver\u0027s spawn method sees an allocation of VGPU:1 from NVIDIA_35, it will arbitrarily pick :84: or :85:. The second time it\u0027ll have to know that one is in use and pick up the other one.","commit_id":"0453887bd40c3693b09df644b70a28c74d0380d2"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"2c4311846b6117c0872a888346c8ccbc1adca26a","unresolved":false,"context_lines":[{"line_number":100,"context_line":""},{"line_number":101,"context_line":"In that case, the ``nvidia-35`` vGPU type would be supported by the physical"},{"line_number":102,"context_line":"GPUs that are in the PCI addresses ``0000:84:00.0`` and ``0000:85:00.0``, while"},{"line_number":103,"context_line":"``nvidia-36`` vGPU would only be supported by ``0000:86:00.0``."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"If some operator messes up and provides two types for the same pGPU, an"},{"line_number":106,"context_line":"InvalidLibvirtGPUConfig exception will be raised. If the operator forgets to"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_96586f25","line":103,"in_reply_to":"3f79a3b5_790b5b21","updated":"2018-10-24 15:01:43.000000000","message":"I\u0027ll write a follow-up change describing this.","commit_id":"0453887bd40c3693b09df644b70a28c74d0380d2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ddcc741c373f0440af110d07bc9466586a0a086f","unresolved":false,"context_lines":[{"line_number":103,"context_line":"``nvidia-36`` vGPU would only be supported by ``0000:86:00.0``."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"If some operator messes up and provides two types for the same pGPU, an"},{"line_number":106,"context_line":"InvalidLibvirtGPUConfig exception will be raised. If the operator forgets to"},{"line_number":107,"context_line":"provide a type for a specific pGPU, then the first type given in"},{"line_number":108,"context_line":"``enabled_vgpu_types`` will be supported, like the existing situation."},{"line_number":109,"context_line":"If the operator fat-fingers the PCI IDs, then when creating the inventory, it"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_b0630fb1","line":106,"range":{"start_line":106,"start_character":0,"end_line":106,"end_character":23},"updated":"2018-09-19 09:13:09.000000000","message":"Oh, Sylvain. So close...\n\n``literal``","commit_id":"0453887bd40c3693b09df644b70a28c74d0380d2"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"64eb07636685d5821d8273d2b763778f994a1385","unresolved":false,"context_lines":[{"line_number":103,"context_line":"``nvidia-36`` vGPU would only be supported by ``0000:86:00.0``."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"If some operator messes up and provides two types for the same pGPU, an"},{"line_number":106,"context_line":"InvalidLibvirtGPUConfig exception will be raised. If the operator forgets to"},{"line_number":107,"context_line":"provide a type for a specific pGPU, then the first type given in"},{"line_number":108,"context_line":"``enabled_vgpu_types`` will be supported, like the existing situation."},{"line_number":109,"context_line":"If the operator fat-fingers the PCI IDs, then when creating the inventory, it"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_ac651ee4","line":106,"range":{"start_line":106,"start_character":24,"end_line":106,"end_character":48},"updated":"2018-10-24 16:03:36.000000000","message":"raised...on compute startup? Maybe throw this into the errata patch to follow","commit_id":"0453887bd40c3693b09df644b70a28c74d0380d2"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"abcc65619aa8965f25dadc3fe413aa38fc54a1ac","unresolved":false,"context_lines":[{"line_number":117,"context_line":"just randomly pick one of the available vGPU types."},{"line_number":118,"context_line":"For this, we propose to standardize GPU capabilities that are unfortunately"},{"line_number":119,"context_line":"very vendor specific (eg. a CUDA library version support) by having a"},{"line_number":120,"context_line":"nova.virt.vgpu_capabilities module that would translate a vendor-specific vGPU"},{"line_number":121,"context_line":"type into a set of os-traits traits."},{"line_number":122,"context_line":"If operators want vendor-specific traits, it\u0027s their responsibility to provide"},{"line_number":123,"context_line":"custom traits on the resource providers or ask the community to find a standard"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_d9a5c5b5","line":120,"range":{"start_line":120,"start_character":0,"end_line":120,"end_character":27},"updated":"2018-09-17 15:26:02.000000000","message":"or put this in os-traits exactly like I\u0027ve proposed for the NVIDIA Compute Capability -\u003e CUDA version matrix:\n\nhttps://review.openstack.org/#/c/597170/5/os_traits/hw/gpu/cuda.py@152","commit_id":"0453887bd40c3693b09df644b70a28c74d0380d2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ddcc741c373f0440af110d07bc9466586a0a086f","unresolved":false,"context_lines":[{"line_number":127,"context_line":"Alternatives"},{"line_number":128,"context_line":"------------"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"Instead of creating only one inventory per pGPU, we could try to have children"},{"line_number":131,"context_line":"resource providers for a pGPU being GPU types. But then, once an instance"},{"line_number":132,"context_line":"would create a vGPU, all the other inventories but the one related to the used"},{"line_number":133,"context_line":"type would be having a total\u003d0."},{"line_number":134,"context_line":""},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_70dc9744","line":133,"range":{"start_line":130,"start_character":0,"end_line":133,"end_character":31},"updated":"2018-09-19 09:13:09.000000000","message":"I know there\u0027s a reason _not_ to do this, but could you state it for the record? /me has already forgotten","commit_id":"0453887bd40c3693b09df644b70a28c74d0380d2"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2006882276ab73078529a445707a0fc49d3da117","unresolved":false,"context_lines":[{"line_number":127,"context_line":"Alternatives"},{"line_number":128,"context_line":"------------"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"Instead of creating only one inventory per pGPU, we could try to have children"},{"line_number":131,"context_line":"resource providers for a pGPU being GPU types. But then, once an instance"},{"line_number":132,"context_line":"would create a vGPU, all the other inventories but the one related to the used"},{"line_number":133,"context_line":"type would be having a total\u003d0."},{"line_number":134,"context_line":""},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_9eadfda5","line":133,"range":{"start_line":130,"start_character":0,"end_line":133,"end_character":31},"in_reply_to":"3f79a3b5_34d6f3f3","updated":"2018-10-23 19:26:23.000000000","message":"well decrement or set reserved \u003d totol but ya it would need to be attomic.\n\nsome why of saying \"these set of resouce must be allcoated to getter\" nativly in placemnt will likely be retuire in the future for smart nics where you can allocate a mdev with different amount  of tx/rx queue paris based on the mdev-type  from a shared pool of queue pairs provided by the vf\nbut that is out os scope of this spec.","commit_id":"0453887bd40c3693b09df644b70a28c74d0380d2"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"dc63d3aaf95598c3fb7d53eee9c1aace69c04173","unresolved":false,"context_lines":[{"line_number":127,"context_line":"Alternatives"},{"line_number":128,"context_line":"------------"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"Instead of creating only one inventory per pGPU, we could try to have children"},{"line_number":131,"context_line":"resource providers for a pGPU being GPU types. But then, once an instance"},{"line_number":132,"context_line":"would create a vGPU, all the other inventories but the one related to the used"},{"line_number":133,"context_line":"type would be having a total\u003d0."},{"line_number":134,"context_line":""},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_34d6f3f3","line":133,"range":{"start_line":130,"start_character":0,"end_line":133,"end_character":31},"in_reply_to":"3f79a3b5_70dc9744","updated":"2018-09-20 13:41:02.000000000","message":"I think the second sentence is the reason. It would require an atomic allocation and decrement of the inventories of the other providers. That would mean placement would have to bake in the tie between them, which isn\u0027t going to happen.","commit_id":"0453887bd40c3693b09df644b70a28c74d0380d2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ddcc741c373f0440af110d07bc9466586a0a086f","unresolved":false,"context_lines":[{"line_number":166,"context_line":"Other deployer impact"},{"line_number":167,"context_line":"---------------------"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"Operators need to either look at the sysfs (for libvirt) for knowing the"},{"line_number":170,"context_line":"existing pGPUs and which types are supported."},{"line_number":171,"context_line":""},{"line_number":172,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_f0e7470e","line":169,"range":{"start_line":169,"start_character":18,"end_line":169,"end_character":24},"updated":"2018-09-19 09:13:09.000000000","message":"drop (given that you only mention one way to do this)","commit_id":"0453887bd40c3693b09df644b70a28c74d0380d2"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2006882276ab73078529a445707a0fc49d3da117","unresolved":false,"context_lines":[{"line_number":166,"context_line":"Other deployer impact"},{"line_number":167,"context_line":"---------------------"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"Operators need to either look at the sysfs (for libvirt) for knowing the"},{"line_number":170,"context_line":"existing pGPUs and which types are supported."},{"line_number":171,"context_line":""},{"line_number":172,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_5e79a52d","line":169,"range":{"start_line":169,"start_character":18,"end_line":169,"end_character":24},"in_reply_to":"3f79a3b5_f0e7470e","updated":"2018-10-23 19:26:23.000000000","message":"or use the xen xe tools\n\nxe pgpu-list\n\nand \n\nxe vgpu-type-list\n\ncommands\nhttps://docs.nvidia.com/grid/latest/grid-vgpu-user-guide/index.html#manage-vgpu-citrix-xenserver","commit_id":"0453887bd40c3693b09df644b70a28c74d0380d2"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"01c1830228d28c6c4ffda20f0d7e1008229c11bc","unresolved":false,"context_lines":[{"line_number":179,"context_line":"--------------"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"Support for multiple types won\u0027t be supported by the libvirt driver until"},{"line_number":182,"context_line":"reshaping existing single vGPU type into separate nested provider is fully"},{"line_number":183,"context_line":"done."},{"line_number":184,"context_line":"Consequently, the recommended upgrade path is to first upgrade to Stein with a"},{"line_number":185,"context_line":"single supported vGPU type and only later modify the nova-compute service for"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_1989076f","line":182,"range":{"start_line":182,"start_character":0,"end_line":182,"end_character":65},"updated":"2018-10-23 19:57:14.000000000","message":"Is that work part of this spec?\n\nIf so, it needs to be described in more detail. I can guess at most of it, but some details ought to be spelled out, like the naming convention for the child providers.\n\nOtherwise, provide a reference to whatever spec/patch is covering that aspect.\n\nIn any case, it would be good to link/reference the reshaper spec.","commit_id":"0453887bd40c3693b09df644b70a28c74d0380d2"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ddcc741c373f0440af110d07bc9466586a0a086f","unresolved":false,"context_lines":[{"line_number":178,"context_line":"Upgrade impact"},{"line_number":179,"context_line":"--------------"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"Support for multiple types won\u0027t be supported by the libvirt driver until"},{"line_number":182,"context_line":"reshaping existing single vGPU type into separate nested provider is fully"},{"line_number":183,"context_line":"done."},{"line_number":184,"context_line":"Consequently, the recommended upgrade path is to first upgrade to Stein with a"},{"line_number":185,"context_line":"single supported vGPU type and only later modify the nova-compute service for"},{"line_number":186,"context_line":"asking for more types."},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"Implementation"},{"line_number":189,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_d0c32b57","line":186,"range":{"start_line":181,"start_character":0,"end_line":186,"end_character":22},"updated":"2018-09-19 09:13:09.000000000","message":"So I\u0027m clear, this is to ward off someone interested in using this feature directly from master and before 19.0.0 is released, right?\n\nAlso, does this mean we\u0027re going to need two reshapes: one to separate vGPUs and another to move them under NUMA resource providers?","commit_id":"0453887bd40c3693b09df644b70a28c74d0380d2"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"dc63d3aaf95598c3fb7d53eee9c1aace69c04173","unresolved":false,"context_lines":[{"line_number":178,"context_line":"Upgrade impact"},{"line_number":179,"context_line":"--------------"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"Support for multiple types won\u0027t be supported by the libvirt driver until"},{"line_number":182,"context_line":"reshaping existing single vGPU type into separate nested provider is fully"},{"line_number":183,"context_line":"done."},{"line_number":184,"context_line":"Consequently, the recommended upgrade path is to first upgrade to Stein with a"},{"line_number":185,"context_line":"single supported vGPU type and only later modify the nova-compute service for"},{"line_number":186,"context_line":"asking for more types."},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"Implementation"},{"line_number":189,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_f4dcfb18","line":186,"range":{"start_line":181,"start_character":0,"end_line":186,"end_character":22},"in_reply_to":"3f79a3b5_d0c32b57","updated":"2018-09-20 13:41:02.000000000","message":"That\u0027s what we said on the ptg etherpad. It\u0027s unfortunate, but I think  it\u0027s likely that trying to squash both efforts together could end up with both being delayed. It\u0027s possible that a system not upgraded until the second could get away with doing both at the same time (against provider tree and then a commit to placement or whatever) but I don\u0027t have my head wrapped around it enough to say for sure.","commit_id":"0453887bd40c3693b09df644b70a28c74d0380d2"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"2006882276ab73078529a445707a0fc49d3da117","unresolved":false,"context_lines":[{"line_number":178,"context_line":"Upgrade impact"},{"line_number":179,"context_line":"--------------"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"Support for multiple types won\u0027t be supported by the libvirt driver until"},{"line_number":182,"context_line":"reshaping existing single vGPU type into separate nested provider is fully"},{"line_number":183,"context_line":"done."},{"line_number":184,"context_line":"Consequently, the recommended upgrade path is to first upgrade to Stein with a"},{"line_number":185,"context_line":"single supported vGPU type and only later modify the nova-compute service for"},{"line_number":186,"context_line":"asking for more types."},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"Implementation"},{"line_number":189,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3f79a3b5_deb375eb","line":186,"range":{"start_line":181,"start_character":0,"end_line":186,"end_character":22},"in_reply_to":"3f79a3b5_f4dcfb18","updated":"2018-10-23 19:26:23.000000000","message":"i think this is the normal advice anyway.\n\nfirst upgrade to lates version then modify config after upgrade.\n\nwe normally advice seperation config chagnes form upgraes as two different steps.","commit_id":"0453887bd40c3693b09df644b70a28c74d0380d2"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"01c1830228d28c6c4ffda20f0d7e1008229c11bc","unresolved":false,"context_lines":[{"line_number":213,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"Classic unittests and functional tests."},{"line_number":216,"context_line":""},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"Documentation Impact"},{"line_number":219,"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":2,"id":"3f79a3b5_39116351","line":216,"updated":"2018-10-23 19:57:14.000000000","message":"any special upgrade testing?","commit_id":"0453887bd40c3693b09df644b70a28c74d0380d2"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"2c4311846b6117c0872a888346c8ccbc1adca26a","unresolved":false,"context_lines":[{"line_number":213,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"Classic unittests and functional tests."},{"line_number":216,"context_line":""},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"Documentation Impact"},{"line_number":219,"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":2,"id":"3f79a3b5_167bff79","line":216,"in_reply_to":"3f79a3b5_39116351","updated":"2018-10-24 15:01:43.000000000","message":"Given we don\u0027t have ways (as of now) to have hardware CI for it, all the tests are done on my local environment so I can\u0027t really comment this out loud, but yeah, I\u0027m doing some integration tests.","commit_id":"0453887bd40c3693b09df644b70a28c74d0380d2"}]}
