)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d71c68fa0f49bf98eabc5aee7c3814a65435ad81","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     René Ribaud \u003crribaud@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2024-11-27 20:20:41 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"WIP: Allow vfio gpu support with Vendor-Specific VFIO framework"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ibb16cc3e438e4766efbbe7c443cc439df8f3b9ff"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7aa9f43b_1d8e2be8","line":7,"updated":"2024-12-02 10:42:32.000000000","message":"* please link to the blueprint\n* please include the first paragraph of the spec to the commit message (or similar summary of the spec)","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d71c68fa0f49bf98eabc5aee7c3814a65435ad81","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     René Ribaud \u003crribaud@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2024-11-27 20:20:41 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"WIP: Allow vfio gpu support with Vendor-Specific VFIO framework"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ibb16cc3e438e4766efbbe7c443cc439df8f3b9ff"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"a60bb659_727e9153","line":7,"updated":"2024-12-02 10:42:32.000000000","message":"I\u0027m wondering if nova actually cares about the vendor specific vfio framework happening in the background.","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"e848b53816d6887f5cb8053c391c96bf4afb1026","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     René Ribaud \u003crribaud@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2024-11-27 20:20:41 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"WIP: Allow vfio gpu support with Vendor-Specific VFIO framework"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ibb16cc3e438e4766efbbe7c443cc439df8f3b9ff"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"aeb5c642_35f1f72e","line":7,"in_reply_to":"7aa9f43b_1d8e2be8","updated":"2024-12-11 17:33:19.000000000","message":"Done","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"e848b53816d6887f5cb8053c391c96bf4afb1026","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     René Ribaud \u003crribaud@redhat.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2024-11-27 20:20:41 +0100"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"WIP: Allow vfio gpu support with Vendor-Specific VFIO framework"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ibb16cc3e438e4766efbbe7c443cc439df8f3b9ff"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"3afeb879_07b67922","line":7,"in_reply_to":"a60bb659_727e9153","updated":"2024-12-11 17:33:19.000000000","message":"Done","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d71c68fa0f49bf98eabc5aee7c3814a65435ad81","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"532c35a7_5f329247","updated":"2024-12-02 10:42:32.000000000","message":"My two main concerns are:\n* agree on if pci in placement is a hard dependency of this feature or not\n* decoupling managed\u003dno and migratable at least on the user interface level","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"83b0729518adeb0a3f29a6cb7a001fdc42f45ec1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"3896a672_99a30064","in_reply_to":"532c35a7_5f329247","updated":"2025-01-03 16:09:34.000000000","message":"Done","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7792ff7f566309a831a11fe5c9c23fe184cdc843","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"18722d42_df2f5a70","updated":"2024-12-13 11:05:38.000000000","message":"I suggest to structure the proposed change section a bit better:\n* move all the PCI in Placement related description out of the way when you describe the main change (new tag in device_spec effecting the generated XML)\n* then note that this limits the use of different VF types per product_id within the same host.\n* then give decribe how that can be solved if PCI in Placement is enabled","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"64f8e3d1a168667b96266adaf5f880731e30ace1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"46f70dad_78196ec8","in_reply_to":"13291888_da7f0dc2","updated":"2025-01-07 12:06:02.000000000","message":"Acknowledged","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"83b0729518adeb0a3f29a6cb7a001fdc42f45ec1","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"13291888_da7f0dc2","in_reply_to":"18722d42_df2f5a70","updated":"2025-01-03 16:09:34.000000000","message":"Gibi, I think it is ok and can be closed.","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"23edd9a0292b21c03b1bfcbe4138e84df262caa0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"232c671e_425c8a9f","updated":"2024-12-19 10:37:30.000000000","message":"Getting close. Only a couple of comment remains.","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"c3fd564bfc001cff574b345601f1f8b842ebb94f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"38a1b06b_9c250406","updated":"2025-01-07 16:55:46.000000000","message":"the overall direction looks good to me but we need to do some wording rephrasing.","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"eddee4c7ee6e0e7ddbb2463f86c20bd54898a0d9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"6ed8e0ff_1143b2f4","updated":"2025-01-08 17:56:33.000000000","message":"I have a few styling nits but nothing holding the spec acceptance. Given the deadline, worth +2ing it now and just ask for a nova-specs patch follow-up fixing the nits.","commit_id":"f972c6d8df5f4fbed368109b9035cb0d6a9fd280"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"1961057d165c806a79e9fa4e134a6333d9d0b6ee","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"1ec1de18_9c260d46","updated":"2025-01-09 12:09:51.000000000","message":"Looks good to me. I hold my +W to let @smooney@redhat.com get back to it, but If they cannot then I consider this to be approved and we can handle remaining nits as followup as I think we all agree with the general direction.","commit_id":"f972c6d8df5f4fbed368109b9035cb0d6a9fd280"}],"specs/2025.1/approved/enable-vfio-devices-with-kernel-variant-drivers.rst":[{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7792ff7f566309a831a11fe5c9c23fe184cdc843","unresolved":true,"context_lines":[{"line_number":54,"context_line":"that specifies device attributes and aliases."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Support for multiple types of VFs:"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"SR-IOV devices such as GPUs can be configured to provide VF with various"},{"line_number":60,"context_line":"types of characteristics."}],"source_content_type":"text/x-rst","patch_set":4,"id":"8471da6f_37a98211","line":57,"updated":"2024-12-13 11:05:38.000000000","message":"I would move this section to the end of the proposal as this is not the main change in proposed by the spec","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"0bde15c97ff92f90fa3c07e02831be7f351e14ea","unresolved":false,"context_lines":[{"line_number":54,"context_line":"that specifies device attributes and aliases."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Support for multiple types of VFs:"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"SR-IOV devices such as GPUs can be configured to provide VF with various"},{"line_number":60,"context_line":"types of characteristics."}],"source_content_type":"text/x-rst","patch_set":4,"id":"afdd9839_9efb8af5","line":57,"in_reply_to":"8471da6f_37a98211","updated":"2024-12-18 15:44:17.000000000","message":"Done","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7792ff7f566309a831a11fe5c9c23fe184cdc843","unresolved":true,"context_lines":[{"line_number":65,"context_line":"- Enable PCI in Placement: This is necessary to track PCI devices with"},{"line_number":66,"context_line":"  custom resource classes in the placement service."},{"line_number":67,"context_line":"- Define Device Specifications: Use custom resource classes to match the"},{"line_number":68,"context_line":"  correct VF based on its type."},{"line_number":69,"context_line":"- Specify Type-Specific Flavors: Define flavors with an alias that matches"},{"line_number":70,"context_line":"  the vendor, product, and resource class to ensure proper allocation."},{"line_number":71,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"023c96c7_ca94ead0","line":68,"updated":"2024-12-13 11:05:38.000000000","message":"nit: Use a custom resource class to represent a specific VF type and ensure that the VFs existing on the hypervisor are matched via the VF\u0027s PCI address.","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"0bde15c97ff92f90fa3c07e02831be7f351e14ea","unresolved":false,"context_lines":[{"line_number":65,"context_line":"- Enable PCI in Placement: This is necessary to track PCI devices with"},{"line_number":66,"context_line":"  custom resource classes in the placement service."},{"line_number":67,"context_line":"- Define Device Specifications: Use custom resource classes to match the"},{"line_number":68,"context_line":"  correct VF based on its type."},{"line_number":69,"context_line":"- Specify Type-Specific Flavors: Define flavors with an alias that matches"},{"line_number":70,"context_line":"  the vendor, product, and resource class to ensure proper allocation."},{"line_number":71,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"fd30511b_63901c4f","line":68,"in_reply_to":"023c96c7_ca94ead0","updated":"2024-12-18 15:44:17.000000000","message":"Done","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7792ff7f566309a831a11fe5c9c23fe184cdc843","unresolved":true,"context_lines":[{"line_number":67,"context_line":"- Define Device Specifications: Use custom resource classes to match the"},{"line_number":68,"context_line":"  correct VF based on its type."},{"line_number":69,"context_line":"- Specify Type-Specific Flavors: Define flavors with an alias that matches"},{"line_number":70,"context_line":"  the vendor, product, and resource class to ensure proper allocation."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Configuring managed mode:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3612db4e_9e5059f8","line":70,"updated":"2024-12-13 11:05:38.000000000","message":"resource class is enough in the alias as that already encodes the vgpu type fully","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"83b0729518adeb0a3f29a6cb7a001fdc42f45ec1","unresolved":true,"context_lines":[{"line_number":67,"context_line":"- Define Device Specifications: Use custom resource classes to match the"},{"line_number":68,"context_line":"  correct VF based on its type."},{"line_number":69,"context_line":"- Specify Type-Specific Flavors: Define flavors with an alias that matches"},{"line_number":70,"context_line":"  the vendor, product, and resource class to ensure proper allocation."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Configuring managed mode:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"940fa84e_c2b1f688","line":70,"in_reply_to":"2c31ed6f_1e45ccca","updated":"2025-01-03 16:09:34.000000000","message":"I thought it was mandatory after quickly reading the code and the documentation, which does not specify what is required / optional for aliases.\n\nBut looking at the above comments, it appears that it is not mandatory.\nSo, I\u0027m going to correct the spec. I also propose updating the documentation in a similar way to the device spec to highlight what is required (name) and optional (all other fields).\n\nPlease let me know if you agree on this change.","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"0bde15c97ff92f90fa3c07e02831be7f351e14ea","unresolved":true,"context_lines":[{"line_number":67,"context_line":"- Define Device Specifications: Use custom resource classes to match the"},{"line_number":68,"context_line":"  correct VF based on its type."},{"line_number":69,"context_line":"- Specify Type-Specific Flavors: Define flavors with an alias that matches"},{"line_number":70,"context_line":"  the vendor, product, and resource class to ensure proper allocation."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Configuring managed mode:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"564ab27f_67235854","line":70,"in_reply_to":"3612db4e_9e5059f8","updated":"2024-12-18 15:44:17.000000000","message":"Yes, but the vendor and product fields are mandatory within the definition of PCI alias.\n\nThat\u0027s the reason why I mentioned them.","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"23edd9a0292b21c03b1bfcbe4138e84df262caa0","unresolved":true,"context_lines":[{"line_number":67,"context_line":"- Define Device Specifications: Use custom resource classes to match the"},{"line_number":68,"context_line":"  correct VF based on its type."},{"line_number":69,"context_line":"- Specify Type-Specific Flavors: Define flavors with an alias that matches"},{"line_number":70,"context_line":"  the vendor, product, and resource class to ensure proper allocation."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Configuring managed mode:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"2c31ed6f_1e45ccca","line":70,"in_reply_to":"564ab27f_67235854","updated":"2024-12-19 10:37:30.000000000","message":"Is it mandatory? I just tried an alias like\n\nalias \u003d { \"name\": \"nic-pf\", \"resource_class\": \"CUSTOM_PCI_8086_10C9\", \"device_type\":\"type-PF\" }\n\nand nova happily booted with it:\n\n```\nstack@aio:~$ openstack flavor show m1.pf2-numa-required-aware\n+----------------------------+----------------------------------------------------------------------------------------------------+\n| Field                      | Value                                                                                              |\n+----------------------------+----------------------------------------------------------------------------------------------------+\n| OS-FLV-DISABLED:disabled   | False                                                                                              |\n| OS-FLV-EXT-DATA:ephemeral  | 0                                                                                                  |\n| access_project_ids         | None                                                                                               |\n| description                | None                                                                                               |\n| disk                       | 4                                                                                                  |\n| id                         | 6b82a85a-c6c6-43a6-96f0-285da8b72114                                                               |\n| name                       | m1.pf2-numa-required-aware                                                                         |\n| os-flavor-access:is_public | True                                                                                               |\n| properties                 | hw:mem_page_size\u003d\u0027small\u0027, hw:pci_numa_affinity_policy\u003d\u0027required\u0027, pci_passthrough:alias\u003d\u0027nic-pf:2\u0027 |\n| ram                        | 2048                                                                                               |\n| rxtx_factor                | 1.0                                                                                                |\n| swap                       | 0                                                                                                  |\n| vcpus                      | 1                                                                                                  |\n+----------------------------+----------------------------------------------------------------------------------------------------+\nstack@aio:~$ grep  nic-pf /etc/nova/*\n/etc/nova/nova-cpu.conf:#alias \u003d { \"name\": \"nic-pf\", \"product_id\":\"10c9\", \"vendor_id\":\"8086\", \"device_type\":\"type-PF\" }\n/etc/nova/nova-cpu.conf:alias \u003d { \"name\": \"nic-pf\", \"resource_class\": \"CUSTOM_PCI_8086_10C9\", \"device_type\":\"type-PF\" }\n/etc/nova/nova.conf:#alias \u003d { \"name\": \"nic-pf\", \"product_id\":\"10c9\", \"vendor_id\":\"8086\", \"device_type\":\"type-PF\" }\n/etc/nova/nova.conf:alias \u003d { \"name\": \"nic-pf\", \"resource_class\": \"CUSTOM_PCI_8086_10C9\", \"device_type\":\"type-PF\" }\ngrep: /etc/nova/rootwrap.d: Is a directory\nstack@aio:~$ openstack server create --image cirros-0.6.3-x86_64-disk --flavor m1.pf2-numa-required-aware --nic none vm1 --wait\n\n+-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+\n| Field                               | Value                                                                                                                                                                      |\n+-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+\n| OS-DCF:diskConfig                   | MANUAL                                                                                                                                                                     |\n| OS-EXT-AZ:availability_zone         | nova                                                                                                                                                                       |\n| OS-EXT-SRV-ATTR:host                | aio                                                                                                                                                                        |\n| OS-EXT-SRV-ATTR:hostname            | vm1                                                                                                                                                                        |\n| OS-EXT-SRV-ATTR:hypervisor_hostname | aio                                                                                                                                                                        |\n| OS-EXT-SRV-ATTR:instance_name       | instance-0000000b                                                                                                                                                          |\n| OS-EXT-SRV-ATTR:kernel_id           | None                                                                                                                                                                       |\n| OS-EXT-SRV-ATTR:launch_index        | None                                                                                                                                                                       |\n| OS-EXT-SRV-ATTR:ramdisk_id          | None                                                                                                                                                                       |\n| OS-EXT-SRV-ATTR:reservation_id      | r-eqzv582p                                                                                                                                                                 |\n| OS-EXT-SRV-ATTR:root_device_name    | /dev/vda                                                                                                                                                                   |\n| OS-EXT-SRV-ATTR:user_data           | None                                                                                                                                                                       |\n| OS-EXT-STS:power_state              | Running                                                                                                                                                                    |\n| OS-EXT-STS:task_state               | None                                                                                                                                                                       |\n| OS-EXT-STS:vm_state                 | active                                                                                                                                                                     |\n| OS-SRV-USG:launched_at              | 2024-12-19T10:07:21.000000                                                                                                                                                 |\n| OS-SRV-USG:terminated_at            | None                                                                                                                                                                       |\n| accessIPv4                          | None                                                                                                                                                                       |\n| accessIPv6                          | None                                                                                                                                                                       |\n| addresses                           | N/A                                                                                                                                                                        |\n| adminPass                           | r9xMtrjMp6T2                                                                                                                                                               |\n| config_drive                        | None                                                                                                                                                                       |\n| created                             | 2024-12-19T10:07:05Z                                                                                                                                                       |\n| description                         | None                                                                                                                                                                       |\n| flavor                              | description\u003d, disk\u003d\u00274\u0027, ephemeral\u003d\u00270\u0027, extra_specs.hw:mem_page_size\u003d\u0027small\u0027, extra_specs.hw:pci_numa_affinity_policy\u003d\u0027required\u0027, extra_specs.pci_passthrough:alias\u003d\u0027nic-   |\n|                                     | pf:2\u0027, id\u003d\u0027m1.pf2-numa-required-aware\u0027, is_disabled\u003d, is_public\u003d\u0027True\u0027, location\u003d, name\u003d\u0027m1.pf2-numa-required-aware\u0027, original_name\u003d\u0027m1.pf2-numa-required-aware\u0027,          |\n|                                     | ram\u003d\u00272048\u0027, rxtx_factor\u003d, swap\u003d\u00270\u0027, vcpus\u003d\u00271\u0027                                                                                                                              |\n| hostId                              | 2bb0bc956868f85783c15cfa51f4b3fc7af6b65852d5d0de2101de7f                                                                                                                   |\n| host_status                         | UP                                                                                                                                                                         |\n| id                                  | 516d78ab-d8e5-44d2-87f5-45627075241c                                                                                                                                       |\n| image                               | cirros-0.6.3-x86_64-disk (197c0527-f0f8-4f94-9ccc-82759bf0dc21)                                                                                                            |\n| key_name                            | None                                                                                                                                                                       |\n| locked                              | None                                                                                                                                                                       |\n| locked_reason                       | None                                                                                                                                                                       |\n| name                                | vm1                                                                                                                                                                        |\n| pinned_availability_zone            | None                                                                                                                                                                       |\n| progress                            | None                                                                                                                                                                       |\n| project_id                          | c04af8dfcaac4022bc669c374e2b93e1                                                                                                                                           |\n| properties                          | None                                                                                                                                                                       |\n| security_groups                     | name\u003d\u0027default\u0027                                                                                                                                                             |\n| server_groups                       | None                                                                                                                                                                       |\n| status                              | ACTIVE                                                                                                                                                                     |\n| tags                                |                                                                                                                                                                            |\n| trusted_image_certificates          | None                                                                                                                                                                       |\n| updated                             | 2024-12-19T10:07:22Z                                                                                                                                                       |\n| user_id                             | b7c4a647f3f74ddfa23a9b35573dbb1f                                                                                                                                           |\n| volumes_attached                    |                                                                                                                                                                            |\n+-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+\nstack@aio:~$ \n\n```","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"64f8e3d1a168667b96266adaf5f880731e30ace1","unresolved":true,"context_lines":[{"line_number":67,"context_line":"- Define Device Specifications: Use custom resource classes to match the"},{"line_number":68,"context_line":"  correct VF based on its type."},{"line_number":69,"context_line":"- Specify Type-Specific Flavors: Define flavors with an alias that matches"},{"line_number":70,"context_line":"  the vendor, product, and resource class to ensure proper allocation."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Configuring managed mode:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"d52a3725_0f061a09","line":70,"in_reply_to":"940fa84e_c2b1f688","updated":"2025-01-07 12:06:02.000000000","message":"\u003e So, I\u0027m going to correct the spec.\n\nCool\n\n\u003e I also propose updating the documentation in a similar way to the device spec to highlight what is required (name) and optional (all other fields).\n\nSounds like a good plan, thanks.","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"56e6044a2fe7d514ba89b4b62852027796b81415","unresolved":true,"context_lines":[{"line_number":67,"context_line":"- Define Device Specifications: Use custom resource classes to match the"},{"line_number":68,"context_line":"  correct VF based on its type."},{"line_number":69,"context_line":"- Specify Type-Specific Flavors: Define flavors with an alias that matches"},{"line_number":70,"context_line":"  the vendor, product, and resource class to ensure proper allocation."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Configuring managed mode:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"74bd0f63_6d3341dc","line":70,"in_reply_to":"940fa84e_c2b1f688","updated":"2025-01-07 14:56:46.000000000","message":"it depend on if your using pci in placement or not\n\nyou need to either have the vendor id and product id (no pci in placment) or with pci in placement you can remove them and only use the resouce class.\n\ni belive its allowable ot have both (vendor id and product id) + Resouce class.","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"c3fd564bfc001cff574b345601f1f8b842ebb94f","unresolved":false,"context_lines":[{"line_number":67,"context_line":"- Define Device Specifications: Use custom resource classes to match the"},{"line_number":68,"context_line":"  correct VF based on its type."},{"line_number":69,"context_line":"- Specify Type-Specific Flavors: Define flavors with an alias that matches"},{"line_number":70,"context_line":"  the vendor, product, and resource class to ensure proper allocation."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Configuring managed mode:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fee32b4a_3d37f066","line":70,"in_reply_to":"d52a3725_0f061a09","updated":"2025-01-07 16:55:46.000000000","message":"Acknowledged","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7792ff7f566309a831a11fe5c9c23fe184cdc843","unresolved":true,"context_lines":[{"line_number":73,"context_line":"Configuring managed mode:"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"Users must specify whether the PCI device is managed by libvirt to enable"},{"line_number":76,"context_line":"detachment from the host and assignment to the guest, or vice versa."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"The proposed solution is to add a ``managed`` tag to the device"},{"line_number":79,"context_line":"specification."}],"source_content_type":"text/x-rst","patch_set":4,"id":"7adb802b_f9c1dfc1","line":76,"updated":"2024-12-13 11:05:38.000000000","message":"Lets state that support for managed mode of a device depends on the actual device and the support of the driver of the device.","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"0bde15c97ff92f90fa3c07e02831be7f351e14ea","unresolved":false,"context_lines":[{"line_number":73,"context_line":"Configuring managed mode:"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"Users must specify whether the PCI device is managed by libvirt to enable"},{"line_number":76,"context_line":"detachment from the host and assignment to the guest, or vice versa."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"The proposed solution is to add a ``managed`` tag to the device"},{"line_number":79,"context_line":"specification."}],"source_content_type":"text/x-rst","patch_set":4,"id":"03271633_0fc2e4aa","line":76,"in_reply_to":"7adb802b_f9c1dfc1","updated":"2024-12-18 15:44:17.000000000","message":"Done","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7792ff7f566309a831a11fe5c9c23fe184cdc843","unresolved":true,"context_lines":[{"line_number":78,"context_line":"The proposed solution is to add a ``managed`` tag to the device"},{"line_number":79,"context_line":"specification."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"- ``managed\u003d\u0027yes\u0027`` means that the device is managed by libvirt."},{"line_number":82,"context_line":"- ``managed\u003d\u0027no\u0027`` means that the device is not managed by libvirt."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Warning: Incorrect configuration of this parameter may result in compute"}],"source_content_type":"text/x-rst","patch_set":4,"id":"b7580073_443306d2","line":81,"updated":"2024-12-13 11:05:38.000000000","message":"nit: means that nova will use libvirt to detach the device from the host before attaching it to the guest and re-attach it to the host after the guest is deleted.","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"0bde15c97ff92f90fa3c07e02831be7f351e14ea","unresolved":false,"context_lines":[{"line_number":78,"context_line":"The proposed solution is to add a ``managed`` tag to the device"},{"line_number":79,"context_line":"specification."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"- ``managed\u003d\u0027yes\u0027`` means that the device is managed by libvirt."},{"line_number":82,"context_line":"- ``managed\u003d\u0027no\u0027`` means that the device is not managed by libvirt."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Warning: Incorrect configuration of this parameter may result in compute"}],"source_content_type":"text/x-rst","patch_set":4,"id":"f05b8b02_82334bc3","line":81,"in_reply_to":"b7580073_443306d2","updated":"2024-12-18 15:44:17.000000000","message":"Done","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7792ff7f566309a831a11fe5c9c23fe184cdc843","unresolved":true,"context_lines":[{"line_number":79,"context_line":"specification."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"- ``managed\u003d\u0027yes\u0027`` means that the device is managed by libvirt."},{"line_number":82,"context_line":"- ``managed\u003d\u0027no\u0027`` means that the device is not managed by libvirt."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Warning: Incorrect configuration of this parameter may result in compute"},{"line_number":85,"context_line":"node crashes."}],"source_content_type":"text/x-rst","patch_set":4,"id":"82c87c0d_ea8258fb","line":82,"updated":"2024-12-13 11:05:38.000000000","message":"nit: means that nova will not request libvirt to detach / attach the device from / to the host. In this case nova assumes that the deployer configured the host in a way that these VFs are not attached to the host.","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"0bde15c97ff92f90fa3c07e02831be7f351e14ea","unresolved":false,"context_lines":[{"line_number":79,"context_line":"specification."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"- ``managed\u003d\u0027yes\u0027`` means that the device is managed by libvirt."},{"line_number":82,"context_line":"- ``managed\u003d\u0027no\u0027`` means that the device is not managed by libvirt."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Warning: Incorrect configuration of this parameter may result in compute"},{"line_number":85,"context_line":"node crashes."}],"source_content_type":"text/x-rst","patch_set":4,"id":"7b8fe8c9_3db36508","line":82,"in_reply_to":"82c87c0d_ea8258fb","updated":"2024-12-18 15:44:17.000000000","message":"Done","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7792ff7f566309a831a11fe5c9c23fe184cdc843","unresolved":true,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"Sanitize device specification:"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"As part of the initialization process, checks are performed to ensure the"},{"line_number":101,"context_line":"correctness of the device specification. Given that many devices can be added"},{"line_number":102,"context_line":"to this configuration, these checks will be extended to ensure that PCI"},{"line_number":103,"context_line":"device addresses are not duplicated."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Device specification resource class:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"9f45f25a_40345d8b","line":103,"range":{"start_line":100,"start_character":0,"end_line":103,"end_character":36},"updated":"2024-12-13 11:05:38.000000000","message":"I think this is already handled today. Did you spotted a bug of missing validation during the PoC?","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"dfde2085cd5f50475a3ecefd1e25cb9b5672eacf","unresolved":false,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"Sanitize device specification:"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"As part of the initialization process, checks are performed to ensure the"},{"line_number":101,"context_line":"correctness of the device specification. Given that many devices can be added"},{"line_number":102,"context_line":"to this configuration, these checks will be extended to ensure that PCI"},{"line_number":103,"context_line":"device addresses are not duplicated."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Device specification resource class:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"d5168bfc_f1a8b83d","line":103,"range":{"start_line":100,"start_character":0,"end_line":103,"end_character":36},"in_reply_to":"41b7c005_4a44655c","updated":"2025-01-08 15:28:28.000000000","message":"Done","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"c3fd564bfc001cff574b345601f1f8b842ebb94f","unresolved":true,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"Sanitize device specification:"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"As part of the initialization process, checks are performed to ensure the"},{"line_number":101,"context_line":"correctness of the device specification. Given that many devices can be added"},{"line_number":102,"context_line":"to this configuration, these checks will be extended to ensure that PCI"},{"line_number":103,"context_line":"device addresses are not duplicated."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Device specification resource class:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"826a3aa3_b574b5b9","line":103,"range":{"start_line":100,"start_character":0,"end_line":103,"end_character":36},"in_reply_to":"451d8adb_441e43df","updated":"2025-01-07 16:55:46.000000000","message":"I think we said meh to that","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"56e6044a2fe7d514ba89b4b62852027796b81415","unresolved":true,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"Sanitize device specification:"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"As part of the initialization process, checks are performed to ensure the"},{"line_number":101,"context_line":"correctness of the device specification. Given that many devices can be added"},{"line_number":102,"context_line":"to this configuration, these checks will be extended to ensure that PCI"},{"line_number":103,"context_line":"device addresses are not duplicated."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Device specification resource class:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"73b6c402_2197e9f4","line":103,"range":{"start_line":100,"start_character":0,"end_line":103,"end_character":36},"in_reply_to":"451d8adb_441e43df","updated":"2025-01-07 14:56:46.000000000","message":"i think this is out of scope of the spec.\n\nwe could file a bug for this bug my apporch to this would be to start by issueing a warning if there are duplciates and then condier if we want to make ti a config error.\n\nthis would only be an error however if its an exact match via the adress.\n\ni dont want to see nova extended to merge tags form muliple device_specs that refer to the same device or have to gain addtional logic ot fined the most explcit match if a device is allowed by multipel deveice_specs.\n\nwe can document that only the first match will be used but we shoudl be documentign that listign a device twice is not supproted. today its undefiend behvior but wrong to do so. from an upgrade impact point of view we could add a warning in 2025.1 and make it an error in 2025.1 but i dont think we cna start enforcign this as an error in 2025.1\n\n\none thing to keep in mind is that we do supprot support specifiying adress based devstpec that match a single device and then also usign a regex/wild card match \nbut the first defintion is the one that is used so if you want to do somehting like\n\n```\ndevice_spec \u003d { \"vendor_id\":\"8086\", \"product_id\":\"10c9\", \"address\": \"0000:0d:\", \"trusted\": \"true\"}\ndevice_spec \u003d { \"vendor_id\":\"8086\", \"product_id\":\"10c9\", \"trusted\": \"false\"}\n```\n\nthat is entirly valid.\n\ni dont think this ordering is suprpoted today but we may have supprot for match precidence whre the srictter match wins i cant recall.\n\n\n```\ndevice_spec \u003d { \"vendor_id\":\"8086\", \"product_id\":\"10c9\", \"trusted\": \"false\"}\ndevice_spec \u003d { \"vendor_id\":\"8086\", \"product_id\":\"10c9\", \"address\": \"0000:0d:\", \"trusted\": \"true\"}\n```\n\nthis however is not valid config even if its not an error.\n\n```\ndevice_spec \u003d { \"vendor_id\":\"8086\", \"product_id\":\"10c9\", \"address\": \"0000:0d:\", \"trusted\": \"false\"}\ndevice_spec \u003d { \"vendor_id\":\"8086\", \"product_id\":\"10c9\", \"address\": \"0000:0d:\", \"trusted\": \"true\"}\n```","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"f6916d7fc9a3e7948fef294eaa3e2f033cdc3180","unresolved":true,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"Sanitize device specification:"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"As part of the initialization process, checks are performed to ensure the"},{"line_number":101,"context_line":"correctness of the device specification. Given that many devices can be added"},{"line_number":102,"context_line":"to this configuration, these checks will be extended to ensure that PCI"},{"line_number":103,"context_line":"device addresses are not duplicated."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Device specification resource class:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"41b7c005_4a44655c","line":103,"range":{"start_line":100,"start_character":0,"end_line":103,"end_character":36},"in_reply_to":"826a3aa3_b574b5b9","updated":"2025-01-08 11:09:36.000000000","message":"I\u0027m fine having a separate bug for this that adds a warning.","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"83b0729518adeb0a3f29a6cb7a001fdc42f45ec1","unresolved":true,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"Sanitize device specification:"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"As part of the initialization process, checks are performed to ensure the"},{"line_number":101,"context_line":"correctness of the device specification. Given that many devices can be added"},{"line_number":102,"context_line":"to this configuration, these checks will be extended to ensure that PCI"},{"line_number":103,"context_line":"device addresses are not duplicated."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Device specification resource class:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"451d8adb_441e43df","line":103,"range":{"start_line":100,"start_character":0,"end_line":103,"end_character":36},"in_reply_to":"93159958_4d93b756","updated":"2025-01-03 16:09:34.000000000","message":"I\u0027m running out of steam today. We need to discuss that point, as I have not found the code for this behavior. I just realized I have probably done something bad.\nBecause I reused this exception\nhttps://github.com/openstack/nova/blob/c3250d23a754ac74cf3f445485bb8f16db64e539/nova/pci/manager.py#L136\nto check managed value.","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"0bde15c97ff92f90fa3c07e02831be7f351e14ea","unresolved":true,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"Sanitize device specification:"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"As part of the initialization process, checks are performed to ensure the"},{"line_number":101,"context_line":"correctness of the device specification. Given that many devices can be added"},{"line_number":102,"context_line":"to this configuration, these checks will be extended to ensure that PCI"},{"line_number":103,"context_line":"device addresses are not duplicated."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Device specification resource class:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"fee8540c_4d1f19ee","line":103,"range":{"start_line":100,"start_character":0,"end_line":103,"end_character":36},"in_reply_to":"9f45f25a_40345d8b","updated":"2024-12-18 15:44:17.000000000","message":"Sean mentioned it at the PTG. So far I have not seen that check in the code. But I need to verify again.\nSo, I left this until I know if it is required or not.","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"23edd9a0292b21c03b1bfcbe4138e84df262caa0","unresolved":true,"context_lines":[{"line_number":97,"context_line":""},{"line_number":98,"context_line":"Sanitize device specification:"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"As part of the initialization process, checks are performed to ensure the"},{"line_number":101,"context_line":"correctness of the device specification. Given that many devices can be added"},{"line_number":102,"context_line":"to this configuration, these checks will be extended to ensure that PCI"},{"line_number":103,"context_line":"device addresses are not duplicated."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Device specification resource class:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"93159958_4d93b756","line":103,"range":{"start_line":100,"start_character":0,"end_line":103,"end_character":36},"in_reply_to":"fee8540c_4d1f19ee","updated":"2024-12-19 10:37:30.000000000","message":"I tested couple of scenarios and it seems nova already handles duplicated defs, but not the way we assumed:\n\n1. ```\nstack@aio:~$ grep 0d /etc/nova/nova-cpu.conf\ndevice_spec \u003d { \"vendor_id\":\"8086\", \"product_id\":\"10c9\", \"address\": \"0000:0d:\"}\ndevice_spec \u003d { \"vendor_id\":\"8086\", \"product_id\":\"10c9\", \"address\": \"0000:0d:\", \"physical_network\": \"foobar\"}\n``` Accepted by nova-compute and seems to be ignoring the second definition\n\n2. ```\nstack@aio:~$ grep 0d /etc/nova/nova-cpu.conf\ndevice_spec \u003d { \"vendor_id\":\"8086\", \"product_id\":\"10c9\", \"address\": \"0000:0d:\", \"trusted\": \"true\"}\ndevice_spec \u003d { \"vendor_id\":\"8086\", \"product_id\":\"10c9\", \"address\": \"0000:0d:\", \"trusted\": \"false\"}\n``` Accepted by nova-compute and seems to be ignoring the second definition.\n\n```\nDec 19 10:17:38 aio nova-compute[65039]: DEBUG nova.compute.resource_tracker [None req-8370340f-f26e-4b9b-af2c-a1f67810f4f5 None None] Final resource view: name\u003daio phys_ram\u003d11985MB used_ram\u003d512MB phys_disk\u003d28GB used_disk\u003d0GB total_vcpus\u003d4 used_vcpus\u003d0 pci_stats\u003d[PciDevicePool(count\u003d1,numa_node\u003d0,product_id\u003d\u002710c9\u0027,tags\u003d{address\u003d\u00270000:08:00.0\u0027,dev_type\u003d\u0027type-PF\u0027,remote_managed\u003d\u0027false\u0027},vendor_id\u003d\u00278086\u0027), PciDevicePool(count\u003d1,numa_node\u003d0,product_id\u003d\u002710c9\u0027,tags\u003d{address\u003d\u00270000:09:00.0\u0027,dev_type\u003d\u0027type-PF\u0027,remote_managed\u003d\u0027false\u0027},vendor_id\u003d\u00278086\u0027), PciDevicePool(count\u003d1,numa_node\u003d1,product_id\u003d\u002710c9\u0027,tags\u003d{address\u003d\u00270000:0c:00.0\u0027,dev_type\u003d\u0027type-PF\u0027,remote_managed\u003d\u0027false\u0027},vendor_id\u003d\u00278086\u0027), PciDevicePool(count\u003d6,numa_node\u003d0,product_id\u003d\u002710ca\u0027,tags\u003d{address\u003d\u00270000:07:00.0\u0027,dev_type\u003d\u0027type-VF\u0027,parent_ifname\u003d\u0027enp7s0\u0027,remote_managed\u003d\u0027false\u0027},vendor_id\u003d\u00278086\u0027), PciDevicePool(count\u003d6,numa_node\u003d1,product_id\u003d\u002710ca\u0027,tags\u003d{address\u003d\u00270000:0a:00.0\u0027,dev_type\u003d\u0027type-VF\u0027,parent_ifname\u003d\u0027enp10s0\u0027,remote_managed\u003d\u0027false\u0027},vendor_id\u003d\u00278086\u0027), PciDevicePool(count\u003d6,numa_node\u003d1,product_id\u003d\u002710ca\u0027,tags\u003d{address\u003d\u00270000:0b:00.0\u0027,dev_type\u003d\u0027type-VF\u0027,parent_ifname\u003d\u0027enp11s0\u0027,remote_managed\u003d\u0027false\u0027},vendor_id\u003d\u00278086\u0027), PciDevicePool(count\u003d1,numa_node\u003d1,product_id\u003d\u002710c9\u0027,tags\u003d{address\u003d\u00270000:0d:00.0\u0027,dev_type\u003d\u0027type-PF\u0027,remote_managed\u003d\u0027false\u0027,trusted\u003d\u0027true\u0027},vendor_id\u003d\u00278086\u0027), PciDevicePool(count\u003d6,numa_node\u003d0,product_id\u003d\u002710ca\u0027,tags\u003d{address\u003d\u00270000:06:00.0\u0027,dev_type\u003d\u0027type-VF\u0027,parent_ifname\u003d\u0027enp6s0\u0027,physical_network\u003d\u0027physnet2\u0027,remote_managed\u003d\u0027false\u0027},vendor_id\u003d\u00278086\u0027)] {{(pid\u003d65039) _report_final_resource_view /opt/stack/nova/nova/compute/resource_tracker.py:1138}}\n```\n\nAfter further testing I\u0027m pretty sure that nova only uses the first spec that matching to a device to extend the device definition with the tags from the spec. We probably need to document this in the config option. I\u0027m not sure we want to change it to be a hard nova-compute startup failure as that would mean deployments working today with such config would suddenly stop working during the upgrade. Unfortunately nova-status upgrade checks https://docs.openstack.org/nova/latest/reference/upgrade-checks.html cannot check for such config inconsistencies.\n\nLets describe the current situation in the spec and try to get feedback from other cores about the upgrade impact if we change this behavior.","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7792ff7f566309a831a11fe5c9c23fe184cdc843","unresolved":true,"context_lines":[{"line_number":103,"context_line":"device addresses are not duplicated."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Device specification resource class:"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"This is necessary for users who want to support multiple types of VFs,"},{"line_number":109,"context_line":"requiring the \"device in placement\" feature to be enabled."}],"source_content_type":"text/x-rst","patch_set":4,"id":"398bf732_ba6a0e8f","line":106,"updated":"2024-12-13 11:05:38.000000000","message":"merge this into the section of \"Support for multiple types of VFs:\" and move it to the end of the proposed changes as noted above.","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"0bde15c97ff92f90fa3c07e02831be7f351e14ea","unresolved":false,"context_lines":[{"line_number":103,"context_line":"device addresses are not duplicated."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Device specification resource class:"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"This is necessary for users who want to support multiple types of VFs,"},{"line_number":109,"context_line":"requiring the \"device in placement\" feature to be enabled."}],"source_content_type":"text/x-rst","patch_set":4,"id":"cfcbdf50_c5151034","line":106,"in_reply_to":"398bf732_ba6a0e8f","updated":"2024-12-18 15:44:17.000000000","message":"Done","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7792ff7f566309a831a11fe5c9c23fe184cdc843","unresolved":true,"context_lines":[{"line_number":111,"context_line":"The resource class can be any string, allowing users to specify a name"},{"line_number":112,"context_line":"that reflects the type of device."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"From the API spec:  the string will be normalize to a proper Placement"},{"line_number":115,"context_line":"resource class by making it upper case, replacing any consecutive character"},{"line_number":116,"context_line":"outside of `[A-Z0-9_]`  with a single ‘_’, and prefixing the name with"},{"line_number":117,"context_line":"`CUSTOM_` if not yet prefixed."},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"For example, ``CUSTOM_\u003cTYPE_OF_VF\u003e`` would be a valid resource class."},{"line_number":120,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"02556725_da1f7c2a","line":117,"range":{"start_line":114,"start_character":0,"end_line":117,"end_character":30},"updated":"2024-12-13 11:05:38.000000000","message":"I would probably drop this to reduce the length of the spec. The real information here is that the existing support and format of custom resource is enough for representing a VF type","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"0bde15c97ff92f90fa3c07e02831be7f351e14ea","unresolved":true,"context_lines":[{"line_number":111,"context_line":"The resource class can be any string, allowing users to specify a name"},{"line_number":112,"context_line":"that reflects the type of device."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"From the API spec:  the string will be normalize to a proper Placement"},{"line_number":115,"context_line":"resource class by making it upper case, replacing any consecutive character"},{"line_number":116,"context_line":"outside of `[A-Z0-9_]`  with a single ‘_’, and prefixing the name with"},{"line_number":117,"context_line":"`CUSTOM_` if not yet prefixed."},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"For example, ``CUSTOM_\u003cTYPE_OF_VF\u003e`` would be a valid resource class."},{"line_number":120,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"f824bee9_7c456ab1","line":117,"range":{"start_line":114,"start_character":0,"end_line":117,"end_character":30},"in_reply_to":"02556725_da1f7c2a","updated":"2024-12-18 15:44:17.000000000","message":"The idea is to highlight that it is a CUSTOM resource class.\nAnd that whatever you specify, CUSTOM_ will be prefixed.\n\nSo, if you don\u0027t mind, I would rather keep it.","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"23edd9a0292b21c03b1bfcbe4138e84df262caa0","unresolved":false,"context_lines":[{"line_number":111,"context_line":"The resource class can be any string, allowing users to specify a name"},{"line_number":112,"context_line":"that reflects the type of device."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"From the API spec:  the string will be normalize to a proper Placement"},{"line_number":115,"context_line":"resource class by making it upper case, replacing any consecutive character"},{"line_number":116,"context_line":"outside of `[A-Z0-9_]`  with a single ‘_’, and prefixing the name with"},{"line_number":117,"context_line":"`CUSTOM_` if not yet prefixed."},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"For example, ``CUSTOM_\u003cTYPE_OF_VF\u003e`` would be a valid resource class."},{"line_number":120,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"56893fb3_47fd3165","line":117,"range":{"start_line":114,"start_character":0,"end_line":117,"end_character":30},"in_reply_to":"f824bee9_7c456ab1","updated":"2024-12-19 10:37:30.000000000","message":"Acknowledged","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7792ff7f566309a831a11fe5c9c23fe184cdc843","unresolved":true,"context_lines":[{"line_number":135,"context_line":"if multiple VGUs are attached to a VM."},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"In this initial implementation, we have chosen not to address this constraint"},{"line_number":138,"context_line":"and instead align with the existing mdev implementation."},{"line_number":139,"context_line":""},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"Examples:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"303e89df_23acfd64","line":138,"range":{"start_line":138,"start_character":0,"end_line":138,"end_character":56},"updated":"2024-12-13 11:05:38.000000000","message":"what is the existing implementation? Either say it explicitly that display management is out of scope or specify what will be the supported behavior.","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"0bde15c97ff92f90fa3c07e02831be7f351e14ea","unresolved":false,"context_lines":[{"line_number":135,"context_line":"if multiple VGUs are attached to a VM."},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"In this initial implementation, we have chosen not to address this constraint"},{"line_number":138,"context_line":"and instead align with the existing mdev implementation."},{"line_number":139,"context_line":""},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"Examples:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"5e75f137_24e2e87f","line":138,"range":{"start_line":138,"start_character":0,"end_line":138,"end_character":56},"in_reply_to":"303e89df_23acfd64","updated":"2024-12-18 15:44:17.000000000","message":"Hum, I did not realize it was not explicit, so I rephrased it.","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7792ff7f566309a831a11fe5c9c23fe184cdc843","unresolved":true,"context_lines":[{"line_number":143,"context_line":".. note::"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"  The following example demonstrates device specifications and alias"},{"line_number":146,"context_line":"  configurations, utilizing resource classes as part of the \"device in"},{"line_number":147,"context_line":"  placement\" feature."},{"line_number":148,"context_line":""},{"line_number":149,"context_line":".. code-block:: shell"},{"line_number":150,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"20b8485c_9efa60de","line":147,"range":{"start_line":146,"start_character":60,"end_line":147,"end_character":12},"updated":"2024-12-13 11:05:38.000000000","message":"* I would call that PCI in placement.\n* I would move all the PCI in placement related description (multiple VF type, resource classes, etc) to a separate section at the end of the proposed changes so that the main proposal could be kept in the focus of the text.","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"0bde15c97ff92f90fa3c07e02831be7f351e14ea","unresolved":false,"context_lines":[{"line_number":143,"context_line":".. note::"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"  The following example demonstrates device specifications and alias"},{"line_number":146,"context_line":"  configurations, utilizing resource classes as part of the \"device in"},{"line_number":147,"context_line":"  placement\" feature."},{"line_number":148,"context_line":""},{"line_number":149,"context_line":".. code-block:: shell"},{"line_number":150,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"f08c7217_674fa28d","line":147,"range":{"start_line":146,"start_character":60,"end_line":147,"end_character":12},"in_reply_to":"20b8485c_9efa60de","updated":"2024-12-18 15:44:17.000000000","message":"Done","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7792ff7f566309a831a11fe5c9c23fe184cdc843","unresolved":true,"context_lines":[{"line_number":149,"context_line":".. code-block:: shell"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"  [pci]"},{"line_number":152,"context_line":"  device_spec \u003d { \"vendor_id\": \"10de\", \"product_id\": \"25b6\", \"address\": \"0000:25:00.4\", resource_class: \"CUSTOM_A16_16A\", managed: \"no\" }"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"  alias \u003d { \"vendor_id\": \"10de\", \"product_id\": \"25b6\", \"device_type\": \"type-VF\", resource_class: \"CUSTOM_A16_16A\", \"name\": \"A16_16A\" }"},{"line_number":155,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"95caa828_f49f5f1a","line":152,"updated":"2024-12-13 11:05:38.000000000","message":"I would create a non PCI in Placement specific example for the main proposal of the spec as PCI in Placement is not required to use the new feature proposed here.","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"0bde15c97ff92f90fa3c07e02831be7f351e14ea","unresolved":false,"context_lines":[{"line_number":149,"context_line":".. code-block:: shell"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"  [pci]"},{"line_number":152,"context_line":"  device_spec \u003d { \"vendor_id\": \"10de\", \"product_id\": \"25b6\", \"address\": \"0000:25:00.4\", resource_class: \"CUSTOM_A16_16A\", managed: \"no\" }"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"  alias \u003d { \"vendor_id\": \"10de\", \"product_id\": \"25b6\", \"device_type\": \"type-VF\", resource_class: \"CUSTOM_A16_16A\", \"name\": \"A16_16A\" }"},{"line_number":155,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"38487a23_c396efc1","line":152,"in_reply_to":"95caa828_f49f5f1a","updated":"2024-12-18 15:44:17.000000000","message":"Done","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7792ff7f566309a831a11fe5c9c23fe184cdc843","unresolved":true,"context_lines":[{"line_number":151,"context_line":"  [pci]"},{"line_number":152,"context_line":"  device_spec \u003d { \"vendor_id\": \"10de\", \"product_id\": \"25b6\", \"address\": \"0000:25:00.4\", resource_class: \"CUSTOM_A16_16A\", managed: \"no\" }"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"  alias \u003d { \"vendor_id\": \"10de\", \"product_id\": \"25b6\", \"device_type\": \"type-VF\", resource_class: \"CUSTOM_A16_16A\", \"name\": \"A16_16A\" }"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"Creating a VM based on the configuration above will include the following"},{"line_number":157,"context_line":"snippet in the XML definition:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"2ddbf2b9_23b0cfa0","line":154,"updated":"2024-12-13 11:05:38.000000000","message":"resource class is enough in the alias as it is already identify the VF type unambiguously.","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"1961057d165c806a79e9fa4e134a6333d9d0b6ee","unresolved":false,"context_lines":[{"line_number":151,"context_line":"  [pci]"},{"line_number":152,"context_line":"  device_spec \u003d { \"vendor_id\": \"10de\", \"product_id\": \"25b6\", \"address\": \"0000:25:00.4\", resource_class: \"CUSTOM_A16_16A\", managed: \"no\" }"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"  alias \u003d { \"vendor_id\": \"10de\", \"product_id\": \"25b6\", \"device_type\": \"type-VF\", resource_class: \"CUSTOM_A16_16A\", \"name\": \"A16_16A\" }"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"Creating a VM based on the configuration above will include the following"},{"line_number":157,"context_line":"snippet in the XML definition:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"01d96212_497e2afc","line":154,"in_reply_to":"2326f7fd_80b231f3","updated":"2025-01-09 12:09:51.000000000","message":"Done","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"0bde15c97ff92f90fa3c07e02831be7f351e14ea","unresolved":true,"context_lines":[{"line_number":151,"context_line":"  [pci]"},{"line_number":152,"context_line":"  device_spec \u003d { \"vendor_id\": \"10de\", \"product_id\": \"25b6\", \"address\": \"0000:25:00.4\", resource_class: \"CUSTOM_A16_16A\", managed: \"no\" }"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"  alias \u003d { \"vendor_id\": \"10de\", \"product_id\": \"25b6\", \"device_type\": \"type-VF\", resource_class: \"CUSTOM_A16_16A\", \"name\": \"A16_16A\" }"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"Creating a VM based on the configuration above will include the following"},{"line_number":157,"context_line":"snippet in the XML definition:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"aa0e3d81_c44babec","line":154,"in_reply_to":"2ddbf2b9_23b0cfa0","updated":"2024-12-18 15:44:17.000000000","message":"As explained in the comments above, vendor_id and product_id are mandatory fields.\nWe can discuss if this is something we need to change.","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"83b0729518adeb0a3f29a6cb7a001fdc42f45ec1","unresolved":true,"context_lines":[{"line_number":151,"context_line":"  [pci]"},{"line_number":152,"context_line":"  device_spec \u003d { \"vendor_id\": \"10de\", \"product_id\": \"25b6\", \"address\": \"0000:25:00.4\", resource_class: \"CUSTOM_A16_16A\", managed: \"no\" }"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"  alias \u003d { \"vendor_id\": \"10de\", \"product_id\": \"25b6\", \"device_type\": \"type-VF\", resource_class: \"CUSTOM_A16_16A\", \"name\": \"A16_16A\" }"},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"Creating a VM based on the configuration above will include the following"},{"line_number":157,"context_line":"snippet in the XML definition:"}],"source_content_type":"text/x-rst","patch_set":4,"id":"2326f7fd_80b231f3","line":154,"in_reply_to":"aa0e3d81_c44babec","updated":"2025-01-03 16:09:34.000000000","message":"You are right, I will update the example and doc accordingly.","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7792ff7f566309a831a11fe5c9c23fe184cdc843","unresolved":true,"context_lines":[{"line_number":175,"context_line":"------------"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"Instead of using a tag in the device specification, it may be possible to"},{"line_number":178,"context_line":"detect live migratability in a generic way through sysfs or libvirt. This"},{"line_number":179,"context_line":"capability could then be added to the pci_passthrough_devices JSON returned"},{"line_number":180,"context_line":"by the libvirt driver to the compute manager, and subsequently stored in"},{"line_number":181,"context_line":"the PciDevice object\u0027s extra_info field."}],"source_content_type":"text/x-rst","patch_set":4,"id":"37009b8b_ccba2101","line":178,"range":{"start_line":178,"start_character":0,"end_line":178,"end_character":25},"updated":"2024-12-13 11:05:38.000000000","message":"this does not belong to this spec any more.","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"0bde15c97ff92f90fa3c07e02831be7f351e14ea","unresolved":false,"context_lines":[{"line_number":175,"context_line":"------------"},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"Instead of using a tag in the device specification, it may be possible to"},{"line_number":178,"context_line":"detect live migratability in a generic way through sysfs or libvirt. This"},{"line_number":179,"context_line":"capability could then be added to the pci_passthrough_devices JSON returned"},{"line_number":180,"context_line":"by the libvirt driver to the compute manager, and subsequently stored in"},{"line_number":181,"context_line":"the PciDevice object\u0027s extra_info field."}],"source_content_type":"text/x-rst","patch_set":4,"id":"f1e391ba_a7429b8f","line":178,"range":{"start_line":178,"start_character":0,"end_line":178,"end_character":25},"in_reply_to":"37009b8b_ccba2101","updated":"2024-12-18 15:44:17.000000000","message":"Done","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7792ff7f566309a831a11fe5c9c23fe184cdc843","unresolved":true,"context_lines":[{"line_number":206,"context_line":"---------------------"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"The user is fully responsible for configuring the following:"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"- vGPU types."},{"line_number":211,"context_line":"- Device specifications and aliases."},{"line_number":212,"context_line":"- Flavors: Major impact. If users need to support multiple types of"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7e7d766d_45ea7bb4","line":209,"updated":"2024-12-13 11:05:38.000000000","message":"The deployer need to decide if the device / driver support managed\u003dtrue or not and configure nova and the compute host accordingly.","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"0bde15c97ff92f90fa3c07e02831be7f351e14ea","unresolved":false,"context_lines":[{"line_number":206,"context_line":"---------------------"},{"line_number":207,"context_line":""},{"line_number":208,"context_line":"The user is fully responsible for configuring the following:"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"- vGPU types."},{"line_number":211,"context_line":"- Device specifications and aliases."},{"line_number":212,"context_line":"- Flavors: Major impact. If users need to support multiple types of"}],"source_content_type":"text/x-rst","patch_set":4,"id":"e0d83b37_722b4a6f","line":209,"in_reply_to":"7e7d766d_45ea7bb4","updated":"2024-12-18 15:44:17.000000000","message":"Done","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7792ff7f566309a831a11fe5c9c23fe184cdc843","unresolved":true,"context_lines":[{"line_number":274,"context_line":"Work Items"},{"line_number":275,"context_line":"----------"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"- Parse managed parameter from whitelist."},{"line_number":278,"context_line":"- Sanitize device specification."},{"line_number":279,"context_line":"- Change XML generation to deal with managed parameter."},{"line_number":280,"context_line":"- Documentation updates."}],"source_content_type":"text/x-rst","patch_set":4,"id":"edbebe6f_5cdb90cf","line":277,"range":{"start_line":277,"start_character":31,"end_line":277,"end_character":40},"updated":"2024-12-13 11:05:38.000000000","message":"[pci]device_spec","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"0bde15c97ff92f90fa3c07e02831be7f351e14ea","unresolved":false,"context_lines":[{"line_number":274,"context_line":"Work Items"},{"line_number":275,"context_line":"----------"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"- Parse managed parameter from whitelist."},{"line_number":278,"context_line":"- Sanitize device specification."},{"line_number":279,"context_line":"- Change XML generation to deal with managed parameter."},{"line_number":280,"context_line":"- Documentation updates."}],"source_content_type":"text/x-rst","patch_set":4,"id":"115ba06c_44d1fc98","line":277,"range":{"start_line":277,"start_character":31,"end_line":277,"end_character":40},"in_reply_to":"edbebe6f_5cdb90cf","updated":"2024-12-18 15:44:17.000000000","message":"Done","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"7792ff7f566309a831a11fe5c9c23fe184cdc843","unresolved":true,"context_lines":[{"line_number":283,"context_line":"Dependencies"},{"line_number":284,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"- Kernel bug"},{"line_number":287,"context_line":"- Performance impact bug."},{"line_number":288,"context_line":"- PCI in placement features for multiple types of VFs."},{"line_number":289,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"6587da24_7a4590da","line":286,"updated":"2024-12-13 11:05:38.000000000","message":"Do we have a link to it?","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"64f8e3d1a168667b96266adaf5f880731e30ace1","unresolved":true,"context_lines":[{"line_number":283,"context_line":"Dependencies"},{"line_number":284,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"- Kernel bug"},{"line_number":287,"context_line":"- Performance impact bug."},{"line_number":288,"context_line":"- PCI in placement features for multiple types of VFs."},{"line_number":289,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"45ca053c_56b89a51","line":286,"in_reply_to":"0eb9d4d2_dfedcc09","updated":"2025-01-07 12:06:02.000000000","message":"+1 on figuring out exactly what is broken and let the responsible maintainer know about the problem.","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"56e6044a2fe7d514ba89b4b62852027796b81415","unresolved":true,"context_lines":[{"line_number":283,"context_line":"Dependencies"},{"line_number":284,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"- Kernel bug"},{"line_number":287,"context_line":"- Performance impact bug."},{"line_number":288,"context_line":"- PCI in placement features for multiple types of VFs."},{"line_number":289,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"771fc4e8_f58f23e8","line":286,"in_reply_to":"0eb9d4d2_dfedcc09","updated":"2025-01-07 14:56:46.000000000","message":"ya that out of scope.\n\nits also pretty common for this to happen when new ways of doing passthoug are added. the same thing happend with the mdev and vdpa busses initally.\n\nto be clear any issue related to reattaching the device to the host after stopign a vm or detacign the device form the vm woudl be a kernel bug that woudl prevent any sort of support for this featture downstream and should be fixed in the kernel driver. but it would not ba a nova bug.\n\ni would want to see that bug fixed in the kernel before we add supprot in nova however or at least i would want use to provide evidance that we can uspprot the end to end workfow including rebooting vms or attaacht/detaching devices before we merge the code.\n\nif there are no devices with a working driver that can support that then i think the integration is too early to complete at the nova level.","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"83b0729518adeb0a3f29a6cb7a001fdc42f45ec1","unresolved":true,"context_lines":[{"line_number":283,"context_line":"Dependencies"},{"line_number":284,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"- Kernel bug"},{"line_number":287,"context_line":"- Performance impact bug."},{"line_number":288,"context_line":"- PCI in placement features for multiple types of VFs."},{"line_number":289,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"0eb9d4d2_dfedcc09","line":286,"in_reply_to":"4409e344_3f025336","updated":"2025-01-03 16:09:34.000000000","message":"Oh. I agree that it is not good and that kernel should handle this properly and never crash.\nI think this is not entirely \"related\" to this specification, so I removed it (probably a bit quickly :) ).\nHowever, I have no problem keeping it here. If so, maybe we need to make sure it is a real kernel crash, then probably talk to the vfio-virt team about it and open a ticket.","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"c3fd564bfc001cff574b345601f1f8b842ebb94f","unresolved":true,"context_lines":[{"line_number":283,"context_line":"Dependencies"},{"line_number":284,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"- Kernel bug"},{"line_number":287,"context_line":"- Performance impact bug."},{"line_number":288,"context_line":"- PCI in placement features for multiple types of VFs."},{"line_number":289,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"46054ce1_4000e9fe","line":286,"in_reply_to":"45ca053c_56b89a51","updated":"2025-01-07 16:55:46.000000000","message":"This is a nvidia driver bug (which is already tracked from 6 months) but we can\u0027t really document it unless it\u0027s public (which is not the case for now).","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"0bde15c97ff92f90fa3c07e02831be7f351e14ea","unresolved":false,"context_lines":[{"line_number":283,"context_line":"Dependencies"},{"line_number":284,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"- Kernel bug"},{"line_number":287,"context_line":"- Performance impact bug."},{"line_number":288,"context_line":"- PCI in placement features for multiple types of VFs."},{"line_number":289,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"d5d2af15_61234640","line":286,"in_reply_to":"6587da24_7a4590da","updated":"2024-12-18 15:44:17.000000000","message":"Remove it, as this is not a kernel bug but an inappropriate configuration resulting in a compute crash.","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"23edd9a0292b21c03b1bfcbe4138e84df262caa0","unresolved":true,"context_lines":[{"line_number":283,"context_line":"Dependencies"},{"line_number":284,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"- Kernel bug"},{"line_number":287,"context_line":"- Performance impact bug."},{"line_number":288,"context_line":"- PCI in placement features for multiple types of VFs."},{"line_number":289,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"4409e344_3f025336","line":286,"in_reply_to":"d5d2af15_61234640","updated":"2024-12-19 10:37:30.000000000","message":"I heavily disagree. A device driver that causes a kernel crash when the device is attached / detached is a faulty device driver. It either needs to reject the request with an error or attach / detach the device. A kernel crash is never an acceptable outcome in my book.","commit_id":"8d66fcf0b05b6cdf2e116c93f7c4e3aba9ff0a88"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"c3fd564bfc001cff574b345601f1f8b842ebb94f","unresolved":true,"context_lines":[{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/enable-vfio-devices-with-kernel-variant-drivers"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This spec outlines the necessary steps to enable support for SR-IOV devices"},{"line_number":14,"context_line":"using the new kernel variant driver interface."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Problem description"},{"line_number":17,"context_line":"\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":"2d1e5310_f09c162b","line":14,"range":{"start_line":14,"start_character":14,"end_line":14,"end_character":21},"updated":"2025-01-07 16:55:46.000000000","message":"kernel *VFIO* SR-IOV variant driver.","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"dfde2085cd5f50475a3ecefd1e25cb9b5672eacf","unresolved":false,"context_lines":[{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/enable-vfio-devices-with-kernel-variant-drivers"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This spec outlines the necessary steps to enable support for SR-IOV devices"},{"line_number":14,"context_line":"using the new kernel variant driver interface."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Problem description"},{"line_number":17,"context_line":"\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":"9fd59977_002f96f3","line":14,"range":{"start_line":14,"start_character":14,"end_line":14,"end_character":21},"in_reply_to":"2d1e5310_f09c162b","updated":"2025-01-08 15:28:28.000000000","message":"Done","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"56e6044a2fe7d514ba89b4b62852027796b81415","unresolved":true,"context_lines":[{"line_number":20,"context_line":"those in Ubuntu 24.04 (Noble Numbat) and future RHEL 10 releases, the SR-IOV"},{"line_number":21,"context_line":"mechanism for sharing Virtual Functions (VFs) with a guest has evolved."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"While the older mediated device (mdev) interface is still supported, a"},{"line_number":24,"context_line":"new interface using `variant drivers`__ has been introduced. Several devices"},{"line_number":25,"context_line":"already leverage this newer variant driver interface."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"As a result, Nova should update its VFIO device support to accommodate"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ea8bb815_219dfc0d","line":24,"range":{"start_line":23,"start_character":0,"end_line":24,"end_character":60},"updated":"2025-01-07 14:56:46.000000000","message":"note that this is somewhat irrelevent.\n\nyou are including this because of vGPUs but that not the focus of the this spec.\n\nif we are mentioning mdevs hwere we shoudl also be mentioning vdpa since that is also an alternitiv bus built on top of vfio but in nova actuly is part of the pci_divice tracker unlike mdevs\n\n\nthe only relation bethween this spec and mdevs or vdpa is the statement that this spec will not impact how either feature is currently implemented.","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"dfde2085cd5f50475a3ecefd1e25cb9b5672eacf","unresolved":false,"context_lines":[{"line_number":20,"context_line":"those in Ubuntu 24.04 (Noble Numbat) and future RHEL 10 releases, the SR-IOV"},{"line_number":21,"context_line":"mechanism for sharing Virtual Functions (VFs) with a guest has evolved."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"While the older mediated device (mdev) interface is still supported, a"},{"line_number":24,"context_line":"new interface using `variant drivers`__ has been introduced. Several devices"},{"line_number":25,"context_line":"already leverage this newer variant driver interface."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"As a result, Nova should update its VFIO device support to accommodate"}],"source_content_type":"text/x-rst","patch_set":5,"id":"6b822f2d_ed9ff7c4","line":24,"range":{"start_line":23,"start_character":0,"end_line":24,"end_character":60},"in_reply_to":"ea8bb815_219dfc0d","updated":"2025-01-08 15:28:28.000000000","message":"You are right.","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"c3fd564bfc001cff574b345601f1f8b842ebb94f","unresolved":true,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"While the older mediated device (mdev) interface is still supported, a"},{"line_number":24,"context_line":"new interface using `variant drivers`__ has been introduced. Several devices"},{"line_number":25,"context_line":"already leverage this newer variant driver interface."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"As a result, Nova should update its VFIO device support to accommodate"},{"line_number":28,"context_line":"this advancement."}],"source_content_type":"text/x-rst","patch_set":5,"id":"08e0d906_b81d4746","line":25,"updated":"2025-01-07 16:55:46.000000000","message":"vfio-pci and vfio-mdev are two different kernel interfaces.\nWhat changed in kernel 5.16 is that vfio-pci was split into two modules, one being vfio-pci-core and the other vfio-pci but where the latter could be replaced by a variant vfio-pci driver that would depend on vfio-pci-core.\n\nNow, Nova needs to support vfio-pci variant driver, as it can\u0027t be done automatically by libvirt as libvirt can\u0027t detect whether it\u0027s a variant VF or a plain one.\n\nYou shouldn\u0027t be commenting on vfio-mdev unless you just add a note precising that nova will continue to support vfio-mdev for hardware that continues to use that interface.","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"dfde2085cd5f50475a3ecefd1e25cb9b5672eacf","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":"While the older mediated device (mdev) interface is still supported, a"},{"line_number":24,"context_line":"new interface using `variant drivers`__ has been introduced. Several devices"},{"line_number":25,"context_line":"already leverage this newer variant driver interface."},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"As a result, Nova should update its VFIO device support to accommodate"},{"line_number":28,"context_line":"this advancement."}],"source_content_type":"text/x-rst","patch_set":5,"id":"1b66ee22_4438a56c","line":25,"in_reply_to":"08e0d906_b81d4746","updated":"2025-01-08 15:28:28.000000000","message":"You are right.","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"c3fd564bfc001cff574b345601f1f8b842ebb94f","unresolved":true,"context_lines":[{"line_number":32,"context_line":"Use Cases"},{"line_number":33,"context_line":"---------"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"- As an operator, I want to use SR-IOV devices on Linux distributions that"},{"line_number":36,"context_line":"  require variant drivers."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"- As an operator, I want legacy SR-IOV devices support to remain compatible"},{"line_number":39,"context_line":"  with the mediated device (mdev) framework."}],"source_content_type":"text/x-rst","patch_set":5,"id":"44e1e26f_2d4e0e70","line":36,"range":{"start_line":35,"start_character":46,"end_line":36,"end_character":26},"updated":"2025-01-07 16:55:46.000000000","message":"that\u0027s not the distros which require the variant drivers, that\u0027s the hardware which requires the variant drivers to be used","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"dfde2085cd5f50475a3ecefd1e25cb9b5672eacf","unresolved":true,"context_lines":[{"line_number":32,"context_line":"Use Cases"},{"line_number":33,"context_line":"---------"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"- As an operator, I want to use SR-IOV devices on Linux distributions that"},{"line_number":36,"context_line":"  require variant drivers."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"- As an operator, I want legacy SR-IOV devices support to remain compatible"},{"line_number":39,"context_line":"  with the mediated device (mdev) framework."}],"source_content_type":"text/x-rst","patch_set":5,"id":"b4e01cee_b728f31f","line":36,"range":{"start_line":35,"start_character":46,"end_line":36,"end_character":26},"in_reply_to":"44e1e26f_2d4e0e70","updated":"2025-01-08 15:28:28.000000000","message":"I disagree. The same hardware can be used as an example on RHEL 9 and RHEL10.\nIt is a combination of a third-party driver and kernel. But to avoid going into too many details, I \"simplified\" by distribution.","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"70295324394cf2f7b52762436f9ce0ded63113e9","unresolved":true,"context_lines":[{"line_number":32,"context_line":"Use Cases"},{"line_number":33,"context_line":"---------"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"- As an operator, I want to use SR-IOV devices on Linux distributions that"},{"line_number":36,"context_line":"  require variant drivers."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"- As an operator, I want legacy SR-IOV devices support to remain compatible"},{"line_number":39,"context_line":"  with the mediated device (mdev) framework."}],"source_content_type":"text/x-rst","patch_set":5,"id":"96fa51ad_c171ad03","line":36,"range":{"start_line":35,"start_character":46,"end_line":36,"end_character":26},"in_reply_to":"b4e01cee_b728f31f","updated":"2025-01-09 14:59:32.000000000","message":"yes and no that not really about the distro, its about the kernel version and drvier version used.","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"56e6044a2fe7d514ba89b4b62852027796b81415","unresolved":true,"context_lines":[{"line_number":35,"context_line":"- As an operator, I want to use SR-IOV devices on Linux distributions that"},{"line_number":36,"context_line":"  require variant drivers."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"- As an operator, I want legacy SR-IOV devices support to remain compatible"},{"line_number":39,"context_line":"  with the mediated device (mdev) framework."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Proposed change"},{"line_number":42,"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":5,"id":"4c815d7f_2e15aaf8","line":39,"range":{"start_line":38,"start_character":0,"end_line":39,"end_character":44},"updated":"2025-01-07 14:56:46.000000000","message":"this is very missleand\n\nwe dont consider mdev supprot in nova ot part of the sriov or pci passthough functionalty because it does tno use oure pci device tracking.\n\nwhile some SRIOV vfs can create mdevs the mdev framework dose not depend on sriov and its not an extention of it.\n\ni woudl delete this.","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"c3fd564bfc001cff574b345601f1f8b842ebb94f","unresolved":true,"context_lines":[{"line_number":36,"context_line":"  require variant drivers."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"- As an operator, I want legacy SR-IOV devices support to remain compatible"},{"line_number":39,"context_line":"  with the mediated device (mdev) framework."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Proposed change"},{"line_number":42,"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":5,"id":"183609b9_7965c850","line":39,"updated":"2025-01-07 16:55:46.000000000","message":"with both vfio-pci standard drivers and vfio-mdev (for devices that do support SR-IOV but uses vfio-mdev to interact with the kernel)","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"dfde2085cd5f50475a3ecefd1e25cb9b5672eacf","unresolved":false,"context_lines":[{"line_number":36,"context_line":"  require variant drivers."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"- As an operator, I want legacy SR-IOV devices support to remain compatible"},{"line_number":39,"context_line":"  with the mediated device (mdev) framework."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Proposed change"},{"line_number":42,"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":5,"id":"65fa3195_1bce126e","line":39,"in_reply_to":"183609b9_7965c850","updated":"2025-01-08 15:28:28.000000000","message":"Done","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"dfde2085cd5f50475a3ecefd1e25cb9b5672eacf","unresolved":false,"context_lines":[{"line_number":35,"context_line":"- As an operator, I want to use SR-IOV devices on Linux distributions that"},{"line_number":36,"context_line":"  require variant drivers."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"- As an operator, I want legacy SR-IOV devices support to remain compatible"},{"line_number":39,"context_line":"  with the mediated device (mdev) framework."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Proposed change"},{"line_number":42,"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":5,"id":"1952f683_133d78bb","line":39,"range":{"start_line":38,"start_character":0,"end_line":39,"end_character":44},"in_reply_to":"4c815d7f_2e15aaf8","updated":"2025-01-08 15:28:28.000000000","message":"Done","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"c3fd564bfc001cff574b345601f1f8b842ebb94f","unresolved":true,"context_lines":[{"line_number":54,"context_line":"that specifies device attributes and aliases."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Configuring managed mode:"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"Users must specify whether the PCI device is managed by libvirt to allow"},{"line_number":60,"context_line":"detachment from the host and assignment to the guest, or vice versa."}],"source_content_type":"text/x-rst","patch_set":5,"id":"644489c7_3b610622","line":57,"updated":"2025-01-07 16:55:46.000000000","message":"see my other comment on L88","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"dfde2085cd5f50475a3ecefd1e25cb9b5672eacf","unresolved":false,"context_lines":[{"line_number":54,"context_line":"that specifies device attributes and aliases."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Configuring managed mode:"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"Users must specify whether the PCI device is managed by libvirt to allow"},{"line_number":60,"context_line":"detachment from the host and assignment to the guest, or vice versa."}],"source_content_type":"text/x-rst","patch_set":5,"id":"d0756fa9_edae73e3","line":57,"in_reply_to":"644489c7_3b610622","updated":"2025-01-08 15:28:28.000000000","message":"Done","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"c3fd564bfc001cff574b345601f1f8b842ebb94f","unresolved":true,"context_lines":[{"line_number":64,"context_line":"The proposed solution is to add a ``managed`` tag to the device"},{"line_number":65,"context_line":"specification."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"- ``managed\u003d\u0027yes\u0027`` means that nova will use libvirt to detach the device"},{"line_number":68,"context_line":"  from the host before attaching it to the guest and re-attach it to the host"},{"line_number":69,"context_line":"  after the guest is deleted."},{"line_number":70,"context_line":"- ``managed\u003d\u0027no\u0027`` means that nova will not request libvirt to detach / attach"}],"source_content_type":"text/x-rst","patch_set":5,"id":"f222a33d_88e875ea","line":67,"range":{"start_line":67,"start_character":41,"end_line":67,"end_character":44},"updated":"2025-01-07 16:55:46.000000000","message":"s/use/let","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"dfde2085cd5f50475a3ecefd1e25cb9b5672eacf","unresolved":false,"context_lines":[{"line_number":64,"context_line":"The proposed solution is to add a ``managed`` tag to the device"},{"line_number":65,"context_line":"specification."},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"- ``managed\u003d\u0027yes\u0027`` means that nova will use libvirt to detach the device"},{"line_number":68,"context_line":"  from the host before attaching it to the guest and re-attach it to the host"},{"line_number":69,"context_line":"  after the guest is deleted."},{"line_number":70,"context_line":"- ``managed\u003d\u0027no\u0027`` means that nova will not request libvirt to detach / attach"}],"source_content_type":"text/x-rst","patch_set":5,"id":"683a8c11_98bbdd48","line":67,"range":{"start_line":67,"start_character":41,"end_line":67,"end_character":44},"in_reply_to":"f222a33d_88e875ea","updated":"2025-01-08 15:28:28.000000000","message":"Done","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"56e6044a2fe7d514ba89b4b62852027796b81415","unresolved":true,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":"- ``managed\u003d\u0027yes\u0027`` means that nova will use libvirt to detach the device"},{"line_number":68,"context_line":"  from the host before attaching it to the guest and re-attach it to the host"},{"line_number":69,"context_line":"  after the guest is deleted."},{"line_number":70,"context_line":"- ``managed\u003d\u0027no\u0027`` means that nova will not request libvirt to detach / attach"},{"line_number":71,"context_line":"  the device from / to the host. In this case nova assumes that the operator"},{"line_number":72,"context_line":"  configured the host in a way that these VFs are not attached to the host."}],"source_content_type":"text/x-rst","patch_set":5,"id":"252fc1dd_ed9925e3","line":69,"updated":"2025-01-07 14:56:46.000000000","message":"note that when not set we need to defautl to the managed\u003d\u0027yes\u0027 behaivor to maintain the eixisting behvior.\n\nwe cannot requrie that this is added to all exisitng device_specs for upgrade reasons.","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"dfde2085cd5f50475a3ecefd1e25cb9b5672eacf","unresolved":false,"context_lines":[{"line_number":66,"context_line":""},{"line_number":67,"context_line":"- ``managed\u003d\u0027yes\u0027`` means that nova will use libvirt to detach the device"},{"line_number":68,"context_line":"  from the host before attaching it to the guest and re-attach it to the host"},{"line_number":69,"context_line":"  after the guest is deleted."},{"line_number":70,"context_line":"- ``managed\u003d\u0027no\u0027`` means that nova will not request libvirt to detach / attach"},{"line_number":71,"context_line":"  the device from / to the host. In this case nova assumes that the operator"},{"line_number":72,"context_line":"  configured the host in a way that these VFs are not attached to the host."}],"source_content_type":"text/x-rst","patch_set":5,"id":"aa59ff71_e4c915b2","line":69,"in_reply_to":"252fc1dd_ed9925e3","updated":"2025-01-08 15:28:28.000000000","message":"Done","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"56e6044a2fe7d514ba89b4b62852027796b81415","unresolved":true,"context_lines":[{"line_number":69,"context_line":"  after the guest is deleted."},{"line_number":70,"context_line":"- ``managed\u003d\u0027no\u0027`` means that nova will not request libvirt to detach / attach"},{"line_number":71,"context_line":"  the device from / to the host. In this case nova assumes that the operator"},{"line_number":72,"context_line":"  configured the host in a way that these VFs are not attached to the host."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"Warning: Incorrect configuration of this parameter may result in compute"},{"line_number":75,"context_line":"node crashes."}],"source_content_type":"text/x-rst","patch_set":5,"id":"776300a6_8d26a45e","line":72,"updated":"2025-01-07 14:56:46.000000000","message":"specificlally nova will assume that the devices are already bound to vfio-pci or the relevent variant driver and usabel direcly without any addtional opertions on the device ot enable passthoguh to qemu.","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"dfde2085cd5f50475a3ecefd1e25cb9b5672eacf","unresolved":false,"context_lines":[{"line_number":69,"context_line":"  after the guest is deleted."},{"line_number":70,"context_line":"- ``managed\u003d\u0027no\u0027`` means that nova will not request libvirt to detach / attach"},{"line_number":71,"context_line":"  the device from / to the host. In this case nova assumes that the operator"},{"line_number":72,"context_line":"  configured the host in a way that these VFs are not attached to the host."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"Warning: Incorrect configuration of this parameter may result in compute"},{"line_number":75,"context_line":"node crashes."}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba2071d5_a15db4e0","line":72,"in_reply_to":"776300a6_8d26a45e","updated":"2025-01-08 15:28:28.000000000","message":"Done","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"c3fd564bfc001cff574b345601f1f8b842ebb94f","unresolved":true,"context_lines":[{"line_number":71,"context_line":"  the device from / to the host. In this case nova assumes that the operator"},{"line_number":72,"context_line":"  configured the host in a way that these VFs are not attached to the host."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"Warning: Incorrect configuration of this parameter may result in compute"},{"line_number":75,"context_line":"node crashes."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"When this tag is encountered by the `PCI resource tracker`__, the"}],"source_content_type":"text/x-rst","patch_set":5,"id":"a9796eb7_cc9e4f0e","line":74,"range":{"start_line":74,"start_character":0,"end_line":74,"end_character":7},"updated":"2025-01-07 16:55:46.000000000","message":"you can add a warning tag  \n`` ..warning::``","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"dfde2085cd5f50475a3ecefd1e25cb9b5672eacf","unresolved":false,"context_lines":[{"line_number":71,"context_line":"  the device from / to the host. In this case nova assumes that the operator"},{"line_number":72,"context_line":"  configured the host in a way that these VFs are not attached to the host."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"Warning: Incorrect configuration of this parameter may result in compute"},{"line_number":75,"context_line":"node crashes."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"When this tag is encountered by the `PCI resource tracker`__, the"}],"source_content_type":"text/x-rst","patch_set":5,"id":"d41f9f89_88a9d1c3","line":74,"range":{"start_line":74,"start_character":0,"end_line":74,"end_character":7},"in_reply_to":"a9796eb7_cc9e4f0e","updated":"2025-01-08 15:28:28.000000000","message":"Done","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"c3fd564bfc001cff574b345601f1f8b842ebb94f","unresolved":true,"context_lines":[{"line_number":71,"context_line":"  the device from / to the host. In this case nova assumes that the operator"},{"line_number":72,"context_line":"  configured the host in a way that these VFs are not attached to the host."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"Warning: Incorrect configuration of this parameter may result in compute"},{"line_number":75,"context_line":"node crashes."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"When this tag is encountered by the `PCI resource tracker`__, the"},{"line_number":78,"context_line":"corresponding information will be stored in the respective PciDevice"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9a2fc713_941eac3b","line":75,"range":{"start_line":74,"start_character":66,"end_line":75,"end_character":4},"updated":"2025-01-07 16:55:46.000000000","message":"s/compute node/host OS/","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"56e6044a2fe7d514ba89b4b62852027796b81415","unresolved":true,"context_lines":[{"line_number":72,"context_line":"  configured the host in a way that these VFs are not attached to the host."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"Warning: Incorrect configuration of this parameter may result in compute"},{"line_number":75,"context_line":"node crashes."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"When this tag is encountered by the `PCI resource tracker`__, the"},{"line_number":78,"context_line":"corresponding information will be stored in the respective PciDevice"}],"source_content_type":"text/x-rst","patch_set":5,"id":"142ed7b1_5d2e753f","line":75,"updated":"2025-01-07 14:56:46.000000000","message":"we should remove this.\nthat is a hardware/kernel bug.\n\nit should never be possible for a user space application like nova to crash a host.\nthat is why we have kernels to mediate hardware access in the first place.","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"f6916d7fc9a3e7948fef294eaa3e2f033cdc3180","unresolved":true,"context_lines":[{"line_number":72,"context_line":"  configured the host in a way that these VFs are not attached to the host."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"Warning: Incorrect configuration of this parameter may result in compute"},{"line_number":75,"context_line":"node crashes."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"When this tag is encountered by the `PCI resource tracker`__, the"},{"line_number":78,"context_line":"corresponding information will be stored in the respective PciDevice"}],"source_content_type":"text/x-rst","patch_set":5,"id":"29b43208_ff7657d3","line":75,"in_reply_to":"142ed7b1_5d2e753f","updated":"2025-01-08 11:09:36.000000000","message":"I disagree. We should keep this warning as we know (even though we cannot point to a public bug report) that there are drivers out there that if nova is not configured with managed\u003dno will cause a crash. So it make sense (to me) to warn the user eventually that this config option is fairly important to set right.","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"dfde2085cd5f50475a3ecefd1e25cb9b5672eacf","unresolved":true,"context_lines":[{"line_number":72,"context_line":"  configured the host in a way that these VFs are not attached to the host."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"Warning: Incorrect configuration of this parameter may result in compute"},{"line_number":75,"context_line":"node crashes."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"When this tag is encountered by the `PCI resource tracker`__, the"},{"line_number":78,"context_line":"corresponding information will be stored in the respective PciDevice"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5de0afed_a89f265c","line":75,"in_reply_to":"29b43208_ff7657d3","updated":"2025-01-08 15:28:28.000000000","message":"Sean I agree that we should not see this kind of behavior and the kernel would manage this properly without crashing.\nHowever, atm we know this is not the case and that\u0027s bad. So I agree Gibi, that we should warn the user that improper configuration might crash his compute node.\nAt least we can document that. Maybe later, this will be fixed, and we can remove it from the documentation.","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"70295324394cf2f7b52762436f9ce0ded63113e9","unresolved":true,"context_lines":[{"line_number":72,"context_line":"  configured the host in a way that these VFs are not attached to the host."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"Warning: Incorrect configuration of this parameter may result in compute"},{"line_number":75,"context_line":"node crashes."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"When this tag is encountered by the `PCI resource tracker`__, the"},{"line_number":78,"context_line":"corresponding information will be stored in the respective PciDevice"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9679ca4a_6c276e80","line":75,"in_reply_to":"5de0afed_a89f265c","updated":"2025-01-09 14:59:32.000000000","message":"i dont see how this is any diffent then settng the wrong pci adress and the fact that can hotpulg the root disk for example.\n\nif we want to keep this i wont block on it but its not what we have done in the past.","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"dfde2085cd5f50475a3ecefd1e25cb9b5672eacf","unresolved":false,"context_lines":[{"line_number":71,"context_line":"  the device from / to the host. In this case nova assumes that the operator"},{"line_number":72,"context_line":"  configured the host in a way that these VFs are not attached to the host."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"Warning: Incorrect configuration of this parameter may result in compute"},{"line_number":75,"context_line":"node crashes."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"When this tag is encountered by the `PCI resource tracker`__, the"},{"line_number":78,"context_line":"corresponding information will be stored in the respective PciDevice"}],"source_content_type":"text/x-rst","patch_set":5,"id":"f87847be_820b4b08","line":75,"range":{"start_line":74,"start_character":66,"end_line":75,"end_character":4},"in_reply_to":"9a2fc713_941eac3b","updated":"2025-01-08 15:28:28.000000000","message":"Done","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"c3fd564bfc001cff574b345601f1f8b842ebb94f","unresolved":true,"context_lines":[{"line_number":85,"context_line":"  The PciDevice object version remains unchanged."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"Sanitize device specification:"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"As part of the initialization process, checks are performed to ensure the"},{"line_number":91,"context_line":"correctness of the device specification. Given that many devices can be added"}],"source_content_type":"text/x-rst","patch_set":5,"id":"745988e2_c417811d","line":88,"updated":"2025-01-07 16:55:46.000000000","message":"This would help if you could mark those lines as section names https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html#sections\n\nexample : \n```\n\nSanitize device specification\n-----------------------------\n```","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"dfde2085cd5f50475a3ecefd1e25cb9b5672eacf","unresolved":false,"context_lines":[{"line_number":85,"context_line":"  The PciDevice object version remains unchanged."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"Sanitize device specification:"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"As part of the initialization process, checks are performed to ensure the"},{"line_number":91,"context_line":"correctness of the device specification. Given that many devices can be added"}],"source_content_type":"text/x-rst","patch_set":5,"id":"0ca704a3_d2ed6db5","line":88,"in_reply_to":"745988e2_c417811d","updated":"2025-01-08 15:28:28.000000000","message":"Done","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"c3fd564bfc001cff574b345601f1f8b842ebb94f","unresolved":true,"context_lines":[{"line_number":93,"context_line":"device addresses are not duplicated."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"Display management:"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"From libvirt documentation:"},{"line_number":99,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"f9fe2774_6f653ca0","line":96,"updated":"2025-01-07 16:55:46.000000000","message":"ditto on section style.","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"dfde2085cd5f50475a3ecefd1e25cb9b5672eacf","unresolved":false,"context_lines":[{"line_number":93,"context_line":"device addresses are not duplicated."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"Display management:"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"From libvirt documentation:"},{"line_number":99,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"bfd1033e_55de31cd","line":96,"in_reply_to":"f9fe2774_6f653ca0","updated":"2025-01-08 15:28:28.000000000","message":"Done","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"c3fd564bfc001cff574b345601f1f8b842ebb94f","unresolved":true,"context_lines":[{"line_number":109,"context_line":"if multiple VGUs are attached to a VM."},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"In this initial implementation, display management is out of scope,"},{"line_number":112,"context_line":"consistent with the existing mdev implementation."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"Examples:"},{"line_number":115,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"2b3f820f_f72b9638","line":112,"updated":"2025-01-07 16:55:46.000000000","message":"put that as a note, as this is not something we\u0027ll do.\n\n\n```..note::```","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"dfde2085cd5f50475a3ecefd1e25cb9b5672eacf","unresolved":false,"context_lines":[{"line_number":109,"context_line":"if multiple VGUs are attached to a VM."},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"In this initial implementation, display management is out of scope,"},{"line_number":112,"context_line":"consistent with the existing mdev implementation."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"Examples:"},{"line_number":115,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"baf23f13_adf75b12","line":112,"in_reply_to":"2b3f820f_f72b9638","updated":"2025-01-08 15:28:28.000000000","message":"Done","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"56e6044a2fe7d514ba89b4b62852027796b81415","unresolved":true,"context_lines":[{"line_number":113,"context_line":""},{"line_number":114,"context_line":"Examples:"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":".. note::"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"  The following example demonstrates device specifications and alias"},{"line_number":119,"context_line":"  configurations."},{"line_number":120,"context_line":""},{"line_number":121,"context_line":".. code-block:: shell"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"  [pci]"},{"line_number":124,"context_line":"  device_spec \u003d { \"vendor_id\": \"10de\", \"product_id\": \"25b6\", \"address\": \"0000:25:00.4\", managed: \"no\" }"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"  alias \u003d { \"vendor_id\": \"10de\", \"product_id\": \"25b6\", \"device_type\": \"type-VF\", \"name\": \"MYVF\" }"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"Creating a VM based on the configuration above will include the following"},{"line_number":129,"context_line":"snippet in the XML definition:"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":".. code-block:: shell"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"  \u003chostdev mode\u003d\u0027subsystem\u0027 type\u003d\u0027pci\u0027 managed\u003d\u0027no\u0027\u003e"},{"line_number":134,"context_line":"    \u003cdriver name\u003d\u0027vfio\u0027/\u003e"},{"line_number":135,"context_line":"    \u003csource\u003e"},{"line_number":136,"context_line":"      \u003caddress domain\u003d\u00270x0000\u0027 bus\u003d\u00270x25\u0027 slot\u003d\u00270x00\u0027 function\u003d\u00270x4\u0027/\u003e"},{"line_number":137,"context_line":"    \u003c/source\u003e"},{"line_number":138,"context_line":"    \u003calias name\u003d\u0027hostdev0\u0027/\u003e"},{"line_number":139,"context_line":"    \u003caddress type\u003d\u0027pci\u0027 domain\u003d\u00270x0000\u0027 bus\u003d\u00270x00\u0027 slot\u003d\u00270x05\u0027 function\u003d\u00270x0\u0027/\u003e"},{"line_number":140,"context_line":"  \u003c/hostdev\u003e"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"The above example does not apply if users need to support multiple types"}],"source_content_type":"text/x-rst","patch_set":5,"id":"847950ce_d632e90b","line":140,"range":{"start_line":116,"start_character":0,"end_line":140,"end_character":12},"updated":"2025-01-07 14:56:46.000000000","message":"+1\n\nthese are both as i would expect.","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"dfde2085cd5f50475a3ecefd1e25cb9b5672eacf","unresolved":false,"context_lines":[{"line_number":113,"context_line":""},{"line_number":114,"context_line":"Examples:"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":".. note::"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"  The following example demonstrates device specifications and alias"},{"line_number":119,"context_line":"  configurations."},{"line_number":120,"context_line":""},{"line_number":121,"context_line":".. code-block:: shell"},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"  [pci]"},{"line_number":124,"context_line":"  device_spec \u003d { \"vendor_id\": \"10de\", \"product_id\": \"25b6\", \"address\": \"0000:25:00.4\", managed: \"no\" }"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"  alias \u003d { \"vendor_id\": \"10de\", \"product_id\": \"25b6\", \"device_type\": \"type-VF\", \"name\": \"MYVF\" }"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"Creating a VM based on the configuration above will include the following"},{"line_number":129,"context_line":"snippet in the XML definition:"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":".. code-block:: shell"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"  \u003chostdev mode\u003d\u0027subsystem\u0027 type\u003d\u0027pci\u0027 managed\u003d\u0027no\u0027\u003e"},{"line_number":134,"context_line":"    \u003cdriver name\u003d\u0027vfio\u0027/\u003e"},{"line_number":135,"context_line":"    \u003csource\u003e"},{"line_number":136,"context_line":"      \u003caddress domain\u003d\u00270x0000\u0027 bus\u003d\u00270x25\u0027 slot\u003d\u00270x00\u0027 function\u003d\u00270x4\u0027/\u003e"},{"line_number":137,"context_line":"    \u003c/source\u003e"},{"line_number":138,"context_line":"    \u003calias name\u003d\u0027hostdev0\u0027/\u003e"},{"line_number":139,"context_line":"    \u003caddress type\u003d\u0027pci\u0027 domain\u003d\u00270x0000\u0027 bus\u003d\u00270x00\u0027 slot\u003d\u00270x05\u0027 function\u003d\u00270x0\u0027/\u003e"},{"line_number":140,"context_line":"  \u003c/hostdev\u003e"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"The above example does not apply if users need to support multiple types"}],"source_content_type":"text/x-rst","patch_set":5,"id":"04718dc7_0b4bff44","line":140,"range":{"start_line":116,"start_character":0,"end_line":140,"end_character":12},"in_reply_to":"847950ce_d632e90b","updated":"2025-01-08 15:28:28.000000000","message":"Done","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"c3fd564bfc001cff574b345601f1f8b842ebb94f","unresolved":true,"context_lines":[{"line_number":144,"context_line":"of VFs."},{"line_number":145,"context_line":""},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"Support for multiple types of VFs:"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"SR-IOV devices such as GPUs can be configured to provide VF with various"},{"line_number":150,"context_line":"types of characteristics."}],"source_content_type":"text/x-rst","patch_set":5,"id":"5f76db8e_1f5565fa","line":147,"updated":"2025-01-07 16:55:46.000000000","message":"ditto on styling","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"dfde2085cd5f50475a3ecefd1e25cb9b5672eacf","unresolved":false,"context_lines":[{"line_number":144,"context_line":"of VFs."},{"line_number":145,"context_line":""},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"Support for multiple types of VFs:"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"SR-IOV devices such as GPUs can be configured to provide VF with various"},{"line_number":150,"context_line":"types of characteristics."}],"source_content_type":"text/x-rst","patch_set":5,"id":"04859aba_09505b1b","line":147,"in_reply_to":"5f76db8e_1f5565fa","updated":"2025-01-08 15:28:28.000000000","message":"Done","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"56e6044a2fe7d514ba89b4b62852027796b81415","unresolved":true,"context_lines":[{"line_number":147,"context_line":"Support for multiple types of VFs:"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"SR-IOV devices such as GPUs can be configured to provide VF with various"},{"line_number":150,"context_line":"types of characteristics."},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"If users need to support **multiple types of VF** per compute node, the"},{"line_number":153,"context_line":"following steps are required:"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ac7648d7_f82bcc1b","line":150,"updated":"2025-01-07 14:56:46.000000000","message":"this is ture but missing imporant context.\n\na device providing multipel VF with differint vendor ids/product ids woudl not merrirt mention as that is how it normally works\n\nthe impornt context to call out in the spec is that GPUs can expos VF whith discimlar capablites but using the same vendor id and product id.\n\nso its incorrect so prhase it as multipel type of VFs in my opion.\n\nthe correct way to describe this is that GPU can assign different resources to each VF (as nics can in there ro TX/RX queues or bandwidth) \n\nto enable nova to model this fi you configure the VFs with diffent resouce allcoation you will need to use separate resouce_classes for each.","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"dfde2085cd5f50475a3ecefd1e25cb9b5672eacf","unresolved":false,"context_lines":[{"line_number":147,"context_line":"Support for multiple types of VFs:"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"SR-IOV devices such as GPUs can be configured to provide VF with various"},{"line_number":150,"context_line":"types of characteristics."},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"If users need to support **multiple types of VF** per compute node, the"},{"line_number":153,"context_line":"following steps are required:"}],"source_content_type":"text/x-rst","patch_set":5,"id":"2f6d6c3f_8b94bb5a","line":150,"in_reply_to":"ac7648d7_f82bcc1b","updated":"2025-01-08 15:28:28.000000000","message":"Done","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"c3fd564bfc001cff574b345601f1f8b842ebb94f","unresolved":true,"context_lines":[{"line_number":161,"context_line":"  the vendor, product, and resource class to ensure proper allocation."},{"line_number":162,"context_line":""},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"Device specification resource class:"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"This is necessary for users who want to support multiple types of VFs,"},{"line_number":167,"context_line":"requiring the \"PCI in placement\" feature to be enabled."}],"source_content_type":"text/x-rst","patch_set":5,"id":"382dedd5_5cbdce5e","line":164,"updated":"2025-01-07 16:55:46.000000000","message":"ditto","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"dfde2085cd5f50475a3ecefd1e25cb9b5672eacf","unresolved":false,"context_lines":[{"line_number":161,"context_line":"  the vendor, product, and resource class to ensure proper allocation."},{"line_number":162,"context_line":""},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"Device specification resource class:"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"This is necessary for users who want to support multiple types of VFs,"},{"line_number":167,"context_line":"requiring the \"PCI in placement\" feature to be enabled."}],"source_content_type":"text/x-rst","patch_set":5,"id":"b89d6119_8f16c010","line":164,"in_reply_to":"382dedd5_5cbdce5e","updated":"2025-01-08 15:28:28.000000000","message":"Done","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"56e6044a2fe7d514ba89b4b62852027796b81415","unresolved":true,"context_lines":[{"line_number":166,"context_line":"This is necessary for users who want to support multiple types of VFs,"},{"line_number":167,"context_line":"requiring the \"PCI in placement\" feature to be enabled."},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"The resource class can be any string, allowing users to specify a name"},{"line_number":170,"context_line":"that reflects the type of device."},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"From the API spec:  the string will be normalize to a proper Placement"},{"line_number":173,"context_line":"resource class by making it upper case, replacing any consecutive character"},{"line_number":174,"context_line":"outside of `[A-Z0-9_]`  with a single ‘_’, and prefixing the name with"},{"line_number":175,"context_line":"`CUSTOM_` if not yet prefixed."},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"For example, ``CUSTOM_\u003cTYPE_OF_VF\u003e`` would be a valid resource class."},{"line_number":178,"context_line":""},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"Examples:"}],"source_content_type":"text/x-rst","patch_set":5,"id":"4960f538_e9547e5b","line":177,"range":{"start_line":169,"start_character":0,"end_line":177,"end_character":69},"updated":"2025-01-07 14:56:46.000000000","message":"so this is again slight miss leading because as you note the are limit on what the resouce class can be.\n\n\n\n```suggestion\nThe resource class can user defined provided it conforms to the placement,\nvalidation requirements. While nova will normalize the resouce class string\nto produece a valid resouce class, relying on this is condiered bad partice.\n\nnormalisation is done by making the string upper case, replacing any consecutive character outside of `[A-Z0-9_]`  with a single ‘_’, and prefixing the name with\n`CUSTOM_` if not yet prefixed.\n\nFor example, ``CUSTOM_\u003cTYPE_OF_VF\u003e`` i.e. ``CUSTOM_GOLD_GPU `` would be a valid resource class.\n```","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"dfde2085cd5f50475a3ecefd1e25cb9b5672eacf","unresolved":false,"context_lines":[{"line_number":166,"context_line":"This is necessary for users who want to support multiple types of VFs,"},{"line_number":167,"context_line":"requiring the \"PCI in placement\" feature to be enabled."},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"The resource class can be any string, allowing users to specify a name"},{"line_number":170,"context_line":"that reflects the type of device."},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"From the API spec:  the string will be normalize to a proper Placement"},{"line_number":173,"context_line":"resource class by making it upper case, replacing any consecutive character"},{"line_number":174,"context_line":"outside of `[A-Z0-9_]`  with a single ‘_’, and prefixing the name with"},{"line_number":175,"context_line":"`CUSTOM_` if not yet prefixed."},{"line_number":176,"context_line":""},{"line_number":177,"context_line":"For example, ``CUSTOM_\u003cTYPE_OF_VF\u003e`` would be a valid resource class."},{"line_number":178,"context_line":""},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"Examples:"}],"source_content_type":"text/x-rst","patch_set":5,"id":"266149ee_e9d63d52","line":177,"range":{"start_line":169,"start_character":0,"end_line":177,"end_character":69},"in_reply_to":"4960f538_e9547e5b","updated":"2025-01-08 15:28:28.000000000","message":"Done","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"56e6044a2fe7d514ba89b4b62852027796b81415","unresolved":true,"context_lines":[{"line_number":190,"context_line":"  [pci]"},{"line_number":191,"context_line":"  device_spec \u003d { \"vendor_id\": \"10de\", \"product_id\": \"25b6\", \"address\": \"0000:25:00.4\", resource_class: \"CUSTOM_A16_16A\", managed: \"no\" }"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"  alias \u003d { \"vendor_id\": \"10de\", \"product_id\": \"25b6\", \"device_type\": \"type-VF\", resource_class: \"CUSTOM_A16_16A\", \"name\": \"A16_16A\" }"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":""},{"line_number":196,"context_line":".. __: https://docs.openstack.org/nova/latest/admin/pci-passthrough.html"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3f7b6f05_566cc84a","line":193,"range":{"start_line":193,"start_character":13,"end_line":193,"end_character":53},"updated":"2025-01-07 14:56:46.000000000","message":"so when using pci in placement the vendor_id and product_id are not required and in general shoudl not be specified. it can be in niche edge cases but we shoudl remove it form the example as it distracting form the important information which is the use of resouce_class in the alias.","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"f6916d7fc9a3e7948fef294eaa3e2f033cdc3180","unresolved":true,"context_lines":[{"line_number":190,"context_line":"  [pci]"},{"line_number":191,"context_line":"  device_spec \u003d { \"vendor_id\": \"10de\", \"product_id\": \"25b6\", \"address\": \"0000:25:00.4\", resource_class: \"CUSTOM_A16_16A\", managed: \"no\" }"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"  alias \u003d { \"vendor_id\": \"10de\", \"product_id\": \"25b6\", \"device_type\": \"type-VF\", resource_class: \"CUSTOM_A16_16A\", \"name\": \"A16_16A\" }"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":""},{"line_number":196,"context_line":".. __: https://docs.openstack.org/nova/latest/admin/pci-passthrough.html"}],"source_content_type":"text/x-rst","patch_set":5,"id":"d9cf875e_abb55513","line":193,"range":{"start_line":193,"start_character":13,"end_line":193,"end_character":53},"in_reply_to":"3f7b6f05_566cc84a","updated":"2025-01-08 11:09:36.000000000","message":"I agree. Just use the resource class","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"dfde2085cd5f50475a3ecefd1e25cb9b5672eacf","unresolved":false,"context_lines":[{"line_number":190,"context_line":"  [pci]"},{"line_number":191,"context_line":"  device_spec \u003d { \"vendor_id\": \"10de\", \"product_id\": \"25b6\", \"address\": \"0000:25:00.4\", resource_class: \"CUSTOM_A16_16A\", managed: \"no\" }"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"  alias \u003d { \"vendor_id\": \"10de\", \"product_id\": \"25b6\", \"device_type\": \"type-VF\", resource_class: \"CUSTOM_A16_16A\", \"name\": \"A16_16A\" }"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":""},{"line_number":196,"context_line":".. __: https://docs.openstack.org/nova/latest/admin/pci-passthrough.html"}],"source_content_type":"text/x-rst","patch_set":5,"id":"4fa85255_02c00545","line":193,"range":{"start_line":193,"start_character":13,"end_line":193,"end_character":53},"in_reply_to":"d9cf875e_abb55513","updated":"2025-01-08 15:28:28.000000000","message":"Done","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"c3fd564bfc001cff574b345601f1f8b842ebb94f","unresolved":true,"context_lines":[{"line_number":200,"context_line":"Alternatives"},{"line_number":201,"context_line":"------------"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"NA"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"REST API impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5bdf9a68_10a69bbb","line":203,"updated":"2025-01-07 16:55:46.000000000","message":"Well, there are always alternatives but here that would mean to support variant drivers by other ways we can\u0027t find yet.","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"70295324394cf2f7b52762436f9ce0ded63113e9","unresolved":false,"context_lines":[{"line_number":200,"context_line":"Alternatives"},{"line_number":201,"context_line":"------------"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"NA"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"REST API impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ee246f2f_ca4cb385","line":203,"in_reply_to":"5bdf9a68_10a69bbb","updated":"2025-01-09 14:59:32.000000000","message":"we coudl make it cyborgs problem but ya i think we can leave this blank","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"56e6044a2fe7d514ba89b4b62852027796b81415","unresolved":true,"context_lines":[{"line_number":224,"context_line":"NA"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"Other end user impact"},{"line_number":228,"context_line":"---------------------"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"The user is fully responsible for configuring the following:"}],"source_content_type":"text/x-rst","patch_set":5,"id":"72ba8d6f_c99a9090","line":227,"range":{"start_line":227,"start_character":0,"end_line":227,"end_character":2},"updated":"2025-01-07 14:56:46.000000000","message":"this is the wong section for this content.\n\nthe end user impact section is for teant i.e. peopel witht he project member role not admins or deployer.\n\nyou should move this contet to `Other deployer impact`","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"dfde2085cd5f50475a3ecefd1e25cb9b5672eacf","unresolved":false,"context_lines":[{"line_number":224,"context_line":"NA"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"Other end user impact"},{"line_number":228,"context_line":"---------------------"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"The user is fully responsible for configuring the following:"}],"source_content_type":"text/x-rst","patch_set":5,"id":"802642e6_892aa140","line":227,"range":{"start_line":227,"start_character":0,"end_line":227,"end_character":2},"in_reply_to":"72ba8d6f_c99a9090","updated":"2025-01-08 15:28:28.000000000","message":"Done","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"23edd9a0292b21c03b1bfcbe4138e84df262caa0","unresolved":true,"context_lines":[{"line_number":229,"context_line":""},{"line_number":230,"context_line":"The user is fully responsible for configuring the following:"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"- Device types: Define the types of virtual VFs (e.g. vGPU) required."},{"line_number":233,"context_line":"- Compute Node: Configure device specifications, including whether the"},{"line_number":234,"context_line":"  device/driver supports managed\u003dtrue, along with the necessary aliases."},{"line_number":235,"context_line":"- Flavors: This has a major impact. If multiple types of VFs are needed,"}],"source_content_type":"text/x-rst","patch_set":5,"id":"58e05a4e_a8a4073a","line":232,"updated":"2024-12-19 10:37:30.000000000","message":"Device type is ambiguous as the [pci]alias also has \u0027device_type\u0027 field. I think what you are trying to say here (but maybe I\u0027m mistaken) is:\n\n- Hardware: create the necessary hypervisor configuration so that the VF devices are created.","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"dfde2085cd5f50475a3ecefd1e25cb9b5672eacf","unresolved":false,"context_lines":[{"line_number":229,"context_line":""},{"line_number":230,"context_line":"The user is fully responsible for configuring the following:"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"- Device types: Define the types of virtual VFs (e.g. vGPU) required."},{"line_number":233,"context_line":"- Compute Node: Configure device specifications, including whether the"},{"line_number":234,"context_line":"  device/driver supports managed\u003dtrue, along with the necessary aliases."},{"line_number":235,"context_line":"- Flavors: This has a major impact. If multiple types of VFs are needed,"}],"source_content_type":"text/x-rst","patch_set":5,"id":"42c0d0bd_7af4b9e7","line":232,"in_reply_to":"1e2b202d_5e0b4bc6","updated":"2025-01-08 15:28:28.000000000","message":"Done","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"83b0729518adeb0a3f29a6cb7a001fdc42f45ec1","unresolved":true,"context_lines":[{"line_number":229,"context_line":""},{"line_number":230,"context_line":"The user is fully responsible for configuring the following:"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"- Device types: Define the types of virtual VFs (e.g. vGPU) required."},{"line_number":233,"context_line":"- Compute Node: Configure device specifications, including whether the"},{"line_number":234,"context_line":"  device/driver supports managed\u003dtrue, along with the necessary aliases."},{"line_number":235,"context_line":"- Flavors: This has a major impact. If multiple types of VFs are needed,"}],"source_content_type":"text/x-rst","patch_set":5,"id":"d505161b_22b39f71","line":232,"in_reply_to":"58e05a4e_a8a4073a","updated":"2025-01-03 16:09:34.000000000","message":"ok. But that\u0027t not related to hypervisor.\nMaybe. Kernel configuration: Create the VF PCI devices for your hardware, specifying their types by following vendor documentation (e.g., vGPU).\n\nI\u0027m a bit torn because, while this is true for vGPU, I\u0027m not sure if it applies to other devices. This makes it challenging to generalize.","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"c3fd564bfc001cff574b345601f1f8b842ebb94f","unresolved":true,"context_lines":[{"line_number":229,"context_line":""},{"line_number":230,"context_line":"The user is fully responsible for configuring the following:"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"- Device types: Define the types of virtual VFs (e.g. vGPU) required."},{"line_number":233,"context_line":"- Compute Node: Configure device specifications, including whether the"},{"line_number":234,"context_line":"  device/driver supports managed\u003dtrue, along with the necessary aliases."},{"line_number":235,"context_line":"- Flavors: This has a major impact. If multiple types of VFs are needed,"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1e2b202d_5e0b4bc6","line":232,"in_reply_to":"abb49374_4ba8fe6a","updated":"2025-01-07 16:55:46.000000000","message":"I appreciated that you left GPUs out of that spec mostly, so I\u0027m with gibi here. Just mention that the user is responsible for setting the necessary configuration for the hardware.","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"56e6044a2fe7d514ba89b4b62852027796b81415","unresolved":true,"context_lines":[{"line_number":229,"context_line":""},{"line_number":230,"context_line":"The user is fully responsible for configuring the following:"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"- Device types: Define the types of virtual VFs (e.g. vGPU) required."},{"line_number":233,"context_line":"- Compute Node: Configure device specifications, including whether the"},{"line_number":234,"context_line":"  device/driver supports managed\u003dtrue, along with the necessary aliases."},{"line_number":235,"context_line":"- Flavors: This has a major impact. If multiple types of VFs are needed,"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9246750b_f31a6531","line":232,"in_reply_to":"abb49374_4ba8fe6a","updated":"2025-01-07 14:56:46.000000000","message":"we shoudl not overlead the term device type for this new meaning.\n\nthis is host device confiturtion \nnova has alway reqiured that you do some host configurion to use sriov\nnamely configuting the host iommu and using systemd/undev or kernel parmater to allcotion the VFs \n\nfor VDPA we also require that you precreate the VDPA device on top of the VFS\nfor mdev we optionally supprot precratign the mdevs and wehn using MIG mode you already have to precreate the mig instnavces.\n\nto me this configuration fo the resouce on top of or allcoated to a VF is all more or less the same in that we require the operator to staticaly partion and preconfigre the resouce allcoated to each vf before nova starts and do not supprot changign that at runtime.\n\n\n@gibi correct its not but that is out of scope fo this spec.,\n\ntechnically vGPU in general is not in scope of this spec as the inte is to supprot vfio-varint drivers and GPUS just happen to be one of the device that will support this.\n\nfor melonox connect-x 7 nics you could just allocate them with a kernel parmater or ecohing into /sys/.../num_sriov_vfs\n\nthere shoudl be no other device configuration need in the nic case beyond prebinding the VF to the the relevant variant driver \n\n\nwhile we may want to provde some exampels of that in the nova documentation i dont think we need to describe in detail how to do that in the spec.\n\nlets repalce `Device types:` with `host device` or `hardware` as gibi suggested.\n\nits not strictly kernel configuration as you wont really cofnigure the device entirly via kernel command line partemarers.\n\nudev or systemd is the most reasonbale way to do this config on host boot in the absence of a dedicated tool like `mig-parted`.","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"64f8e3d1a168667b96266adaf5f880731e30ace1","unresolved":true,"context_lines":[{"line_number":229,"context_line":""},{"line_number":230,"context_line":"The user is fully responsible for configuring the following:"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"- Device types: Define the types of virtual VFs (e.g. vGPU) required."},{"line_number":233,"context_line":"- Compute Node: Configure device specifications, including whether the"},{"line_number":234,"context_line":"  device/driver supports managed\u003dtrue, along with the necessary aliases."},{"line_number":235,"context_line":"- Flavors: This has a major impact. If multiple types of VFs are needed,"}],"source_content_type":"text/x-rst","patch_set":5,"id":"abb49374_4ba8fe6a","line":232,"in_reply_to":"d505161b_22b39f71","updated":"2025-01-07 12:06:02.000000000","message":"The generic thing that applies to all SR-IOV devices are the fact that the deployer needs to configure the compute node in a way that the SR-IOV VFs are created, and they persist across compute node reboots.\nAlso for SR-IOV devices where the HW does not support attaching/detaching the device to/from the compute node automatically by libvirt. The deployer needs to configure the created VFs to not be attached to the compute node in the first place.\nThe only GPU specific thing in this is *how* the compute node is configured to get the VFs created. (I assume a simple `max_vfs\u003d` kernel module argument is not enough for GPUs)","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"c3fd564bfc001cff574b345601f1f8b842ebb94f","unresolved":true,"context_lines":[{"line_number":232,"context_line":"- Device types: Define the types of virtual VFs (e.g. vGPU) required."},{"line_number":233,"context_line":"- Compute Node: Configure device specifications, including whether the"},{"line_number":234,"context_line":"  device/driver supports managed\u003dtrue, along with the necessary aliases."},{"line_number":235,"context_line":"- Flavors: This has a major impact. If multiple types of VFs are needed,"},{"line_number":236,"context_line":"  users must create and use different flavors for each VF type."},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"Performance Impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"beeb9cab_1cc1de8e","line":235,"range":{"start_line":235,"start_character":48,"end_line":235,"end_character":53},"updated":"2025-01-07 16:55:46.000000000","message":"s/types/kinds","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"dfde2085cd5f50475a3ecefd1e25cb9b5672eacf","unresolved":false,"context_lines":[{"line_number":232,"context_line":"- Device types: Define the types of virtual VFs (e.g. vGPU) required."},{"line_number":233,"context_line":"- Compute Node: Configure device specifications, including whether the"},{"line_number":234,"context_line":"  device/driver supports managed\u003dtrue, along with the necessary aliases."},{"line_number":235,"context_line":"- Flavors: This has a major impact. If multiple types of VFs are needed,"},{"line_number":236,"context_line":"  users must create and use different flavors for each VF type."},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"Performance Impact"}],"source_content_type":"text/x-rst","patch_set":5,"id":"f6bc63ba_993b3ad3","line":235,"range":{"start_line":235,"start_character":48,"end_line":235,"end_character":53},"in_reply_to":"beeb9cab_1cc1de8e","updated":"2025-01-08 15:28:28.000000000","message":"Done","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"56e6044a2fe7d514ba89b4b62852027796b81415","unresolved":true,"context_lines":[{"line_number":233,"context_line":"- Compute Node: Configure device specifications, including whether the"},{"line_number":234,"context_line":"  device/driver supports managed\u003dtrue, along with the necessary aliases."},{"line_number":235,"context_line":"- Flavors: This has a major impact. If multiple types of VFs are needed,"},{"line_number":236,"context_line":"  users must create and use different flavors for each VF type."},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"Performance Impact"},{"line_number":239,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9028e399_1b55afec","line":236,"updated":"2025-01-07 14:56:46.000000000","message":"that i stongly disagree with this, the spec has no impact on flavors as we are intentioally hiding it behind the existing pci passthough alias functionatliyt.\n\n\n\nyes you will need to create new flavors but it has no impact on how flavor work\nand it does not introduces any new extra specs or concept that end users or even openstack admins need to be aware of.","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"dfde2085cd5f50475a3ecefd1e25cb9b5672eacf","unresolved":false,"context_lines":[{"line_number":233,"context_line":"- Compute Node: Configure device specifications, including whether the"},{"line_number":234,"context_line":"  device/driver supports managed\u003dtrue, along with the necessary aliases."},{"line_number":235,"context_line":"- Flavors: This has a major impact. If multiple types of VFs are needed,"},{"line_number":236,"context_line":"  users must create and use different flavors for each VF type."},{"line_number":237,"context_line":""},{"line_number":238,"context_line":"Performance Impact"},{"line_number":239,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"dd1574d5_d3ad5402","line":236,"in_reply_to":"9028e399_1b55afec","updated":"2025-01-08 15:28:28.000000000","message":"Done","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"c3fd564bfc001cff574b345601f1f8b842ebb94f","unresolved":true,"context_lines":[{"line_number":238,"context_line":"Performance Impact"},{"line_number":239,"context_line":"------------------"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"If PCI in placement is enable, this `bug`__ should be taken into account"},{"line_number":242,"context_line":"as it may impact performance."},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"`Mitigation measures`__ are currently being developed to minimize this impact."}],"source_content_type":"text/x-rst","patch_set":5,"id":"0caa9ad3_1862d06b","line":241,"range":{"start_line":241,"start_character":23,"end_line":241,"end_character":29},"updated":"2025-01-07 16:55:46.000000000","message":"enabled","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"dfde2085cd5f50475a3ecefd1e25cb9b5672eacf","unresolved":false,"context_lines":[{"line_number":238,"context_line":"Performance Impact"},{"line_number":239,"context_line":"------------------"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"If PCI in placement is enable, this `bug`__ should be taken into account"},{"line_number":242,"context_line":"as it may impact performance."},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"`Mitigation measures`__ are currently being developed to minimize this impact."}],"source_content_type":"text/x-rst","patch_set":5,"id":"9cceb551_3954f9bb","line":241,"range":{"start_line":241,"start_character":23,"end_line":241,"end_character":29},"in_reply_to":"0caa9ad3_1862d06b","updated":"2025-01-08 15:28:28.000000000","message":"Done","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"c3fd564bfc001cff574b345601f1f8b842ebb94f","unresolved":true,"context_lines":[{"line_number":259,"context_line":""},{"line_number":260,"context_line":"Upgrade impact"},{"line_number":261,"context_line":"--------------"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"Users should review the following:"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"- The configuration of vGPU types."}],"source_content_type":"text/x-rst","patch_set":5,"id":"80540fbe_c3f2b10e","line":262,"updated":"2025-01-07 16:55:46.000000000","message":"there is only upgrade impact for nvidia virtual GPUs, you should mention that","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"dfde2085cd5f50475a3ecefd1e25cb9b5672eacf","unresolved":false,"context_lines":[{"line_number":259,"context_line":""},{"line_number":260,"context_line":"Upgrade impact"},{"line_number":261,"context_line":"--------------"},{"line_number":262,"context_line":""},{"line_number":263,"context_line":"Users should review the following:"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"- The configuration of vGPU types."}],"source_content_type":"text/x-rst","patch_set":5,"id":"4c8b81ac_9d922566","line":262,"in_reply_to":"80540fbe_c3f2b10e","updated":"2025-01-08 15:28:28.000000000","message":"Done","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"56e6044a2fe7d514ba89b4b62852027796b81415","unresolved":true,"context_lines":[{"line_number":262,"context_line":""},{"line_number":263,"context_line":"Users should review the following:"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"- The configuration of vGPU types."},{"line_number":266,"context_line":"- The configuration of device specifications and aliases."},{"line_number":267,"context_line":"- Update their flavors to specify the correct aliases.\""},{"line_number":268,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"e0f8ce97_92c13d69","line":265,"updated":"2025-01-07 14:56:46.000000000","message":"we shoudl remove this its not relevant.\n\nVGPU or to use its proper name generic mdev support in nova is a completely unrelated feature to vfio variant driver support.\n\nthey are too alternative ways of providing passthrough accelerator.\ncyborg is another alternative as is vdpa.\n\n\nthis spec shoudl not refernce vgpus in general.","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"dfde2085cd5f50475a3ecefd1e25cb9b5672eacf","unresolved":false,"context_lines":[{"line_number":262,"context_line":""},{"line_number":263,"context_line":"Users should review the following:"},{"line_number":264,"context_line":""},{"line_number":265,"context_line":"- The configuration of vGPU types."},{"line_number":266,"context_line":"- The configuration of device specifications and aliases."},{"line_number":267,"context_line":"- Update their flavors to specify the correct aliases.\""},{"line_number":268,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"e11eae21_450b8954","line":265,"in_reply_to":"e0f8ce97_92c13d69","updated":"2025-01-08 15:28:28.000000000","message":"Done","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"56e6044a2fe7d514ba89b4b62852027796b81415","unresolved":true,"context_lines":[{"line_number":274,"context_line":"entries, and placement inventories."},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"Given the complexity involved, this approach should not be considered."},{"line_number":277,"context_line":""},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"Implementation"},{"line_number":280,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"d228ed3f_b8bdae3c","line":277,"updated":"2025-01-07 14:56:46.000000000","message":"again this is all out of scope.\n\ni would be inclined to define the Upgrade impact as None\nunless we decide to change the strictness of  device_spec duplicate entries in this spec rather then treating that as a bug.","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"dfde2085cd5f50475a3ecefd1e25cb9b5672eacf","unresolved":false,"context_lines":[{"line_number":274,"context_line":"entries, and placement inventories."},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"Given the complexity involved, this approach should not be considered."},{"line_number":277,"context_line":""},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"Implementation"},{"line_number":280,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"a1984052_b26569c5","line":277,"in_reply_to":"d228ed3f_b8bdae3c","updated":"2025-01-08 15:28:28.000000000","message":"Done","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"c3fd564bfc001cff574b345601f1f8b842ebb94f","unresolved":true,"context_lines":[{"line_number":292,"context_line":"---------------"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"Feature liaison:"},{"line_number":295,"context_line":"  uggla"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"Work Items"},{"line_number":298,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3ef917e0_509ce2f9","line":295,"updated":"2025-01-07 16:55:46.000000000","message":"put N/A","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"dfde2085cd5f50475a3ecefd1e25cb9b5672eacf","unresolved":false,"context_lines":[{"line_number":292,"context_line":"---------------"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"Feature liaison:"},{"line_number":295,"context_line":"  uggla"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"Work Items"},{"line_number":298,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5ddf58f3_e160eb51","line":295,"in_reply_to":"3ef917e0_509ce2f9","updated":"2025-01-08 15:28:28.000000000","message":"Done","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"56e6044a2fe7d514ba89b4b62852027796b81415","unresolved":true,"context_lines":[{"line_number":315,"context_line":""},{"line_number":316,"context_line":"- Unit tests and functional tests."},{"line_number":317,"context_line":"- Tempest tests can not be executed in CI due to hardware limitations."},{"line_number":318,"context_line":"  You may create them and defer the CI inclusion."},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"Documentation Impact"},{"line_number":321,"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":"792055dc_6f7ba84e","line":318,"updated":"2025-01-07 14:56:46.000000000","message":"i think it would be good to create test for this in whitebox and or core tempest behind a compute feature flag but i dont think that has to block the feature merging.\n\nit would be good to do both in parallel however.","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"dfde2085cd5f50475a3ecefd1e25cb9b5672eacf","unresolved":false,"context_lines":[{"line_number":315,"context_line":""},{"line_number":316,"context_line":"- Unit tests and functional tests."},{"line_number":317,"context_line":"- Tempest tests can not be executed in CI due to hardware limitations."},{"line_number":318,"context_line":"  You may create them and defer the CI inclusion."},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"Documentation Impact"},{"line_number":321,"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":"4833e435_bf3ae3e8","line":318,"in_reply_to":"792055dc_6f7ba84e","updated":"2025-01-08 15:28:28.000000000","message":"Done","commit_id":"f440e848c2123d6c4ea43db80c2afa85f183b6b5"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"eddee4c7ee6e0e7ddbb2463f86c20bd54898a0d9","unresolved":true,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":".. note::"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"  If not set, the default value is managed\u003d\u0027yes\u0027 to preserve the existing"},{"line_number":80,"context_line":"  behavior, primarily for upgrade purposes."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"  The behavior, specifically for Nova, assumes that the devices are already"}],"source_content_type":"text/x-rst","patch_set":6,"id":"63b69e03_6cb81b42","line":79,"range":{"start_line":79,"start_character":35,"end_line":79,"end_character":48},"updated":"2025-01-08 17:56:33.000000000","message":"nit:\n\n```\n``managed\u003dyes``\n```","commit_id":"f972c6d8df5f4fbed368109b9035cb0d6a9fd280"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"3ee1ec45c0c8840cb7071c495b464a9f01573653","unresolved":true,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":".. note::"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"  If not set, the default value is managed\u003d\u0027yes\u0027 to preserve the existing"},{"line_number":80,"context_line":"  behavior, primarily for upgrade purposes."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"  The behavior, specifically for Nova, assumes that the devices are already"}],"source_content_type":"text/x-rst","patch_set":6,"id":"de0e4c18_fad47647","line":79,"range":{"start_line":79,"start_character":35,"end_line":79,"end_character":48},"in_reply_to":"1f148d31_472e644a","updated":"2025-01-16 14:09:05.000000000","message":"OK. You are right the same reasoning applies to the `managed` flag too.","commit_id":"f972c6d8df5f4fbed368109b9035cb0d6a9fd280"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"70295324394cf2f7b52762436f9ce0ded63113e9","unresolved":true,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":".. note::"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"  If not set, the default value is managed\u003d\u0027yes\u0027 to preserve the existing"},{"line_number":80,"context_line":"  behavior, primarily for upgrade purposes."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"  The behavior, specifically for Nova, assumes that the devices are already"}],"source_content_type":"text/x-rst","patch_set":6,"id":"cc5362df_e6a132fc","line":79,"range":{"start_line":79,"start_character":35,"end_line":79,"end_character":48},"in_reply_to":"63b69e03_6cb81b42","updated":"2025-01-09 14:59:32.000000000","message":"we discussed this else where.\n\nso the defautlign if not set should be doen in the python code on load but we should not update the exising pci device data in the db to inject this tag.","commit_id":"f972c6d8df5f4fbed368109b9035cb0d6a9fd280"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7e41d120b49c909934f7fb3bd2b765bcbbecacd6","unresolved":true,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":".. note::"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"  If not set, the default value is managed\u003d\u0027yes\u0027 to preserve the existing"},{"line_number":80,"context_line":"  behavior, primarily for upgrade purposes."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"  The behavior, specifically for Nova, assumes that the devices are already"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1f148d31_472e644a","line":79,"range":{"start_line":79,"start_character":35,"end_line":79,"end_character":48},"in_reply_to":"8b3fd24e_3eab41ba","updated":"2025-01-14 13:57:39.000000000","message":"we did but the same comment appleid to both","commit_id":"f972c6d8df5f4fbed368109b9035cb0d6a9fd280"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"dd7a06402a56ec01ee6a7a2d6fa0f5fc471e9f5a","unresolved":true,"context_lines":[{"line_number":76,"context_line":""},{"line_number":77,"context_line":".. note::"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"  If not set, the default value is managed\u003d\u0027yes\u0027 to preserve the existing"},{"line_number":80,"context_line":"  behavior, primarily for upgrade purposes."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"  The behavior, specifically for Nova, assumes that the devices are already"}],"source_content_type":"text/x-rst","patch_set":6,"id":"8b3fd24e_3eab41ba","line":79,"range":{"start_line":79,"start_character":35,"end_line":79,"end_character":48},"in_reply_to":"cc5362df_e6a132fc","updated":"2025-01-14 13:17:47.000000000","message":"Didn\u0027t we discussed that for the live-migratable flag?","commit_id":"f972c6d8df5f4fbed368109b9035cb0d6a9fd280"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"eddee4c7ee6e0e7ddbb2463f86c20bd54898a0d9","unresolved":false,"context_lines":[{"line_number":77,"context_line":".. note::"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"  If not set, the default value is managed\u003d\u0027yes\u0027 to preserve the existing"},{"line_number":80,"context_line":"  behavior, primarily for upgrade purposes."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"  The behavior, specifically for Nova, assumes that the devices are already"},{"line_number":83,"context_line":"  bound to vfio-pci or the relevant variant driver and are directly usable"}],"source_content_type":"text/x-rst","patch_set":6,"id":"f867497e_389e45e4","line":80,"range":{"start_line":80,"start_character":2,"end_line":80,"end_character":10},"updated":"2025-01-08 17:56:33.000000000","message":"heh, you\u0027re English, not American, gotcha 😄","commit_id":"f972c6d8df5f4fbed368109b9035cb0d6a9fd280"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"eddee4c7ee6e0e7ddbb2463f86c20bd54898a0d9","unresolved":false,"context_lines":[{"line_number":86,"context_line":""},{"line_number":87,"context_line":".. warning::"},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"  Incorrect configuration of this parameter may result in host OS crashes."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"When this tag is encountered by the `PCI resource tracker`__, the"},{"line_number":92,"context_line":"corresponding information will be stored in the respective PciDevice"}],"source_content_type":"text/x-rst","patch_set":6,"id":"d105d0df_862c088a","line":89,"updated":"2025-01-08 17:56:33.000000000","message":"++","commit_id":"f972c6d8df5f4fbed368109b9035cb0d6a9fd280"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"70295324394cf2f7b52762436f9ce0ded63113e9","unresolved":true,"context_lines":[{"line_number":106,"context_line":"the correctness of the device specifications. Currently, if duplicates are"},{"line_number":107,"context_line":"present in the specifications, only the first entry is retained. While this"},{"line_number":108,"context_line":"behavior is acceptable, we may consider extending it in the future to log"},{"line_number":109,"context_line":"a warning and notify the user."},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"Display management:"},{"line_number":112,"context_line":"*******************"}],"source_content_type":"text/x-rst","patch_set":6,"id":"42d725b6_355ad806","line":109,"range":{"start_line":109,"start_character":25,"end_line":109,"end_character":29},"updated":"2025-01-09 14:59:32.000000000","message":"nit: operator or admin\n\nlogs are not user-facing.","commit_id":"f972c6d8df5f4fbed368109b9035cb0d6a9fd280"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"eddee4c7ee6e0e7ddbb2463f86c20bd54898a0d9","unresolved":true,"context_lines":[{"line_number":188,"context_line":"This is necessary for users who want to support multiple kinds of VFs,"},{"line_number":189,"context_line":"requiring the \"PCI in placement\" feature to be enabled."},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"The resource class can user defined provided it conforms to the placement,"},{"line_number":192,"context_line":"validation requirements."},{"line_number":193,"context_line":"While nova will normalize the resource class string to produce a valid"},{"line_number":194,"context_line":"resource class, relying on this is considered bad practice."}],"source_content_type":"text/x-rst","patch_set":6,"id":"4b6e959d_6d46b06c","line":191,"range":{"start_line":191,"start_character":23,"end_line":191,"end_character":35},"updated":"2025-01-08 17:56:33.000000000","message":"can be user defined","commit_id":"f972c6d8df5f4fbed368109b9035cb0d6a9fd280"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"eddee4c7ee6e0e7ddbb2463f86c20bd54898a0d9","unresolved":true,"context_lines":[{"line_number":188,"context_line":"This is necessary for users who want to support multiple kinds of VFs,"},{"line_number":189,"context_line":"requiring the \"PCI in placement\" feature to be enabled."},{"line_number":190,"context_line":""},{"line_number":191,"context_line":"The resource class can user defined provided it conforms to the placement,"},{"line_number":192,"context_line":"validation requirements."},{"line_number":193,"context_line":"While nova will normalize the resource class string to produce a valid"},{"line_number":194,"context_line":"resource class, relying on this is considered bad practice."}],"source_content_type":"text/x-rst","patch_set":6,"id":"1d3cf04c_01acb984","line":191,"range":{"start_line":191,"start_character":73,"end_line":191,"end_character":74},"updated":"2025-01-08 17:56:33.000000000","message":"remove that","commit_id":"f972c6d8df5f4fbed368109b9035cb0d6a9fd280"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"eddee4c7ee6e0e7ddbb2463f86c20bd54898a0d9","unresolved":false,"context_lines":[{"line_number":284,"context_line":"Upgrade impact"},{"line_number":285,"context_line":"--------------"},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"Users with Nvidia virtual GPUs must review their configuration."},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"Implementation"},{"line_number":290,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":6,"id":"1f59f869_cf8bfb48","line":287,"updated":"2025-01-08 17:56:33.000000000","message":"++","commit_id":"f972c6d8df5f4fbed368109b9035cb0d6a9fd280"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"70295324394cf2f7b52762436f9ce0ded63113e9","unresolved":false,"context_lines":[{"line_number":284,"context_line":"Upgrade impact"},{"line_number":285,"context_line":"--------------"},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"Users with Nvidia virtual GPUs must review their configuration."},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"Implementation"},{"line_number":290,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":6,"id":"a5c7847a_dee64a6c","line":287,"in_reply_to":"1f59f869_cf8bfb48","updated":"2025-01-09 14:59:32.000000000","message":"i kidn of think this shoudl be remvoed.\n\nas if you only upgrade you nova version and dont change the disto or driver version there is nothing for an operator to do or review.\n\nwith that said i dont think we ned to hold the spec on this.\n\nthere are some other nit in other comments so if we want to adresss them i woudl suggest we can do that in a follow up patch.","commit_id":"f972c6d8df5f4fbed368109b9035cb0d6a9fd280"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"eddee4c7ee6e0e7ddbb2463f86c20bd54898a0d9","unresolved":false,"context_lines":[{"line_number":296,"context_line":"  Uggla (René Ribaud)"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"Main contributors:"},{"line_number":299,"context_line":"  Bauzas (Sylvain Bauza)"},{"line_number":300,"context_line":""},{"line_number":301,"context_line":"Feature Liaison"},{"line_number":302,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"174374b3_bc5e571d","line":299,"range":{"start_line":299,"start_character":2,"end_line":299,"end_character":8},"updated":"2025-01-08 17:56:33.000000000","message":"lowercase is fine","commit_id":"f972c6d8df5f4fbed368109b9035cb0d6a9fd280"}],"specs/2025.1/approved/vfio_gpu.rst":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"9c50f5c44a11d99ed09de617c841d58039d15eec","unresolved":true,"context_lines":[{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Allow vfio gpu support with Vendor-Specific VFIO framework"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\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":"Problem description"},{"line_number":12,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"d09a6d31_ca690660","line":10,"updated":"2024-11-28 10:00:08.000000000","message":"you need to create a blueprint","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"dfde2085cd5f50475a3ecefd1e25cb9b5672eacf","unresolved":false,"context_lines":[{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Allow vfio gpu support with Vendor-Specific VFIO framework"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\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":"Problem description"},{"line_number":12,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"698fdc5a_3aed2b23","line":10,"in_reply_to":"d09a6d31_ca690660","updated":"2025-01-08 15:28:28.000000000","message":"Done","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d71c68fa0f49bf98eabc5aee7c3814a65435ad81","unresolved":true,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Starting with `kernel 5.16`__ and continuing in subsequent kernels, such as"},{"line_number":15,"context_line":"those in Ubuntu 24.04 (Noble Numbat) and future RHEL 10 releases, the SR-IOV"},{"line_number":16,"context_line":"mechanism for sharing Virtual Functions (VFs) with a guest has transitioned"},{"line_number":17,"context_line":"from using mediated devices (mdev) to the Vendor-Specific VFIO framework."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"As a result, Nova should update its GPU device support to accommodate this"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ac3cd3be_f1104d66","line":16,"updated":"2024-12-02 10:42:32.000000000","message":"... mechanism for sharing GPU Virtual Functions...\n\nalso is it so that the old mdev support is simply not available in the new kernel, or there is now both mdev and SRIOV support for VGPUs in the kernel?\n\n// later\n\nSo we need both interface to be supported going forward (based on later sentences in the spec). Therefor I suggest to rephrase this from \"transitioned\" to something more along the line of additional interface is now available.","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"e848b53816d6887f5cb8053c391c96bf4afb1026","unresolved":false,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Starting with `kernel 5.16`__ and continuing in subsequent kernels, such as"},{"line_number":15,"context_line":"those in Ubuntu 24.04 (Noble Numbat) and future RHEL 10 releases, the SR-IOV"},{"line_number":16,"context_line":"mechanism for sharing Virtual Functions (VFs) with a guest has transitioned"},{"line_number":17,"context_line":"from using mediated devices (mdev) to the Vendor-Specific VFIO framework."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"As a result, Nova should update its GPU device support to accommodate this"}],"source_content_type":"text/x-rst","patch_set":1,"id":"e39049d1_1fe19b56","line":16,"in_reply_to":"238acf45_13f40e9d","updated":"2024-12-11 17:33:19.000000000","message":"Done","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f8102588bacd2dc25ec12b8d7a3bf4af1da31fc3","unresolved":true,"context_lines":[{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Starting with `kernel 5.16`__ and continuing in subsequent kernels, such as"},{"line_number":15,"context_line":"those in Ubuntu 24.04 (Noble Numbat) and future RHEL 10 releases, the SR-IOV"},{"line_number":16,"context_line":"mechanism for sharing Virtual Functions (VFs) with a guest has transitioned"},{"line_number":17,"context_line":"from using mediated devices (mdev) to the Vendor-Specific VFIO framework."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"As a result, Nova should update its GPU device support to accommodate this"}],"source_content_type":"text/x-rst","patch_set":1,"id":"238acf45_13f40e9d","line":16,"in_reply_to":"ac3cd3be_f1104d66","updated":"2024-12-02 14:11:35.000000000","message":"i would also say it not correct.\n\nnothing has changed with regards to how SR-IOV works what has changed is that nvidia nolonger use Medigated deivces as an intermediary laryer in later version of the driver and hardware and instead use the SR-IOV VFs directly.\n\nso its incorrectl to imply that it the SR-IOV mechanum that has changed.\n\nill also not that this is not ment to be gpu speicic \n\nthis spec is intended to supprot vendor specific vfio-pci variant drivers\nwith VFs instead of the generic vfio-pci\n\nnvdia gpus are just one example and the fact that nvidea changed for mdevs to useign vfio-variant drivers is not really imporant to the spec.\n\ni woudl prefer if you removed all refernces to gpus because if this only works for gpus i think we messed up. i would not like to see use merge this if it dosn not work for all VF that use vfio variant drivers.","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f8102588bacd2dc25ec12b8d7a3bf4af1da31fc3","unresolved":true,"context_lines":[{"line_number":25,"context_line":"Use Cases"},{"line_number":26,"context_line":"---------"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"- As an operator, I want to use SR-IOV GPUs on Linux distributions that"},{"line_number":29,"context_line":"  require the Vendor-Specific VFIO Framework."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"- As an operator, I want legacy GPUs without SR-IOV support to remain"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1b5d85cc_aba13cdc","line":28,"range":{"start_line":28,"start_character":39,"end_line":28,"end_character":43},"updated":"2024-12-02 14:11:35.000000000","message":"devices","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"e848b53816d6887f5cb8053c391c96bf4afb1026","unresolved":false,"context_lines":[{"line_number":25,"context_line":"Use Cases"},{"line_number":26,"context_line":"---------"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"- As an operator, I want to use SR-IOV GPUs on Linux distributions that"},{"line_number":29,"context_line":"  require the Vendor-Specific VFIO Framework."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"- As an operator, I want legacy GPUs without SR-IOV support to remain"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9038a1ac_24d92b64","line":28,"range":{"start_line":28,"start_character":39,"end_line":28,"end_character":43},"in_reply_to":"1b5d85cc_aba13cdc","updated":"2024-12-11 17:33:19.000000000","message":"Done","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d71c68fa0f49bf98eabc5aee7c3814a65435ad81","unresolved":true,"context_lines":[{"line_number":26,"context_line":"---------"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"- As an operator, I want to use SR-IOV GPUs on Linux distributions that"},{"line_number":29,"context_line":"  require the Vendor-Specific VFIO Framework."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"- As an operator, I want legacy GPUs without SR-IOV support to remain"},{"line_number":32,"context_line":"  compatible with the mediated device (mdev) framework."}],"source_content_type":"text/x-rst","patch_set":1,"id":"92bdf6c8_f1f3354a","line":29,"range":{"start_line":29,"start_character":14,"end_line":29,"end_character":20},"updated":"2024-12-02 10:42:32.000000000","message":"ditto","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"e848b53816d6887f5cb8053c391c96bf4afb1026","unresolved":false,"context_lines":[{"line_number":26,"context_line":"---------"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"- As an operator, I want to use SR-IOV GPUs on Linux distributions that"},{"line_number":29,"context_line":"  require the Vendor-Specific VFIO Framework."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"- As an operator, I want legacy GPUs without SR-IOV support to remain"},{"line_number":32,"context_line":"  compatible with the mediated device (mdev) framework."}],"source_content_type":"text/x-rst","patch_set":1,"id":"80843ba0_b5444f4d","line":29,"range":{"start_line":29,"start_character":14,"end_line":29,"end_character":20},"in_reply_to":"92bdf6c8_f1f3354a","updated":"2024-12-11 17:33:19.000000000","message":"Done","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d71c68fa0f49bf98eabc5aee7c3814a65435ad81","unresolved":false,"context_lines":[{"line_number":29,"context_line":"  require the Vendor-Specific VFIO Framework."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"- As an operator, I want legacy GPUs without SR-IOV support to remain"},{"line_number":32,"context_line":"  compatible with the mediated device (mdev) framework."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Proposed change"},{"line_number":35,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3951c9e0_8cbc3d30","line":32,"updated":"2024-12-02 10:42:32.000000000","message":"That confirms my question above. So we need to keep both interface supported","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"e848b53816d6887f5cb8053c391c96bf4afb1026","unresolved":false,"context_lines":[{"line_number":29,"context_line":"  require the Vendor-Specific VFIO Framework."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"- As an operator, I want legacy GPUs without SR-IOV support to remain"},{"line_number":32,"context_line":"  compatible with the mediated device (mdev) framework."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Proposed change"},{"line_number":35,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ad52ec4d_838ae30b","line":32,"in_reply_to":"06210fea_106ff6e6","updated":"2024-12-11 17:33:19.000000000","message":"Done","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f8102588bacd2dc25ec12b8d7a3bf4af1da31fc3","unresolved":true,"context_lines":[{"line_number":29,"context_line":"  require the Vendor-Specific VFIO Framework."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"- As an operator, I want legacy GPUs without SR-IOV support to remain"},{"line_number":32,"context_line":"  compatible with the mediated device (mdev) framework."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Proposed change"},{"line_number":35,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"06210fea_106ff6e6","line":32,"in_reply_to":"3951c9e0_8cbc3d30","updated":"2024-12-02 14:11:35.000000000","message":"we do but this is not relevent to the spec.\ni tought i was very clear at the ptg that i didnt want this spec to be GPU specific.\n\nits notand nothing will be done to remvoe any of the generic mdev support as part of this spec.","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d71c68fa0f49bf98eabc5aee7c3814a65435ad81","unresolved":true,"context_lines":[{"line_number":34,"context_line":"Proposed change"},{"line_number":35,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"It appears that SR-IOV GPUs, using the Vendor-Specific VFIO framework,"},{"line_number":38,"context_line":"can be integrated with Nova by leveraging the current PCI passthrough and"},{"line_number":39,"context_line":"SR-IOV support, along with several changes proposed in this specification."},{"line_number":40,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"20b0000d_80a7e475","line":37,"range":{"start_line":37,"start_character":39,"end_line":37,"end_character":45},"updated":"2024-12-02 10:42:32.000000000","message":"ditto","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f8102588bacd2dc25ec12b8d7a3bf4af1da31fc3","unresolved":true,"context_lines":[{"line_number":34,"context_line":"Proposed change"},{"line_number":35,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"It appears that SR-IOV GPUs, using the Vendor-Specific VFIO framework,"},{"line_number":38,"context_line":"can be integrated with Nova by leveraging the current PCI passthrough and"},{"line_number":39,"context_line":"SR-IOV support, along with several changes proposed in this specification."},{"line_number":40,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"0955674c_286927c9","line":37,"range":{"start_line":37,"start_character":23,"end_line":37,"end_character":27},"updated":"2024-12-02 14:11:35.000000000","message":"im going to stop calling out all the place you mention GPUs but pleace remove all of them.","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"e848b53816d6887f5cb8053c391c96bf4afb1026","unresolved":false,"context_lines":[{"line_number":34,"context_line":"Proposed change"},{"line_number":35,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"It appears that SR-IOV GPUs, using the Vendor-Specific VFIO framework,"},{"line_number":38,"context_line":"can be integrated with Nova by leveraging the current PCI passthrough and"},{"line_number":39,"context_line":"SR-IOV support, along with several changes proposed in this specification."},{"line_number":40,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"230ce5de_d0063f2d","line":37,"range":{"start_line":37,"start_character":23,"end_line":37,"end_character":27},"in_reply_to":"0955674c_286927c9","updated":"2024-12-11 17:33:19.000000000","message":"Done","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"e848b53816d6887f5cb8053c391c96bf4afb1026","unresolved":false,"context_lines":[{"line_number":34,"context_line":"Proposed change"},{"line_number":35,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"It appears that SR-IOV GPUs, using the Vendor-Specific VFIO framework,"},{"line_number":38,"context_line":"can be integrated with Nova by leveraging the current PCI passthrough and"},{"line_number":39,"context_line":"SR-IOV support, along with several changes proposed in this specification."},{"line_number":40,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"96a1556f_d22c4fbc","line":37,"range":{"start_line":37,"start_character":39,"end_line":37,"end_character":45},"in_reply_to":"20b0000d_80a7e475","updated":"2024-12-11 17:33:19.000000000","message":"Done","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d71c68fa0f49bf98eabc5aee7c3814a65435ad81","unresolved":true,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":".. note::"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"   pci.report_in_placement needs to be enable to use traits."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"As an example:"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"779f0740_cd4eb5eb","line":51,"updated":"2024-12-02 10:42:32.000000000","message":"please link to the pci in placement documentation https://docs.openstack.org/nova/latest/admin/pci-passthrough.html#pci-tracking-in-placement","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"e848b53816d6887f5cb8053c391c96bf4afb1026","unresolved":false,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":".. note::"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"   pci.report_in_placement needs to be enable to use traits."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"As an example:"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"969a22e7_9ba3ec52","line":51,"in_reply_to":"560b86bc_9ab6046d","updated":"2024-12-11 17:33:19.000000000","message":"Done","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f8102588bacd2dc25ec12b8d7a3bf4af1da31fc3","unresolved":true,"context_lines":[{"line_number":48,"context_line":""},{"line_number":49,"context_line":".. note::"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"   pci.report_in_placement needs to be enable to use traits."},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"As an example:"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"560b86bc_9ab6046d","line":51,"in_reply_to":"779f0740_cd4eb5eb","updated":"2024-12-02 14:11:35.000000000","message":"yes, but you should not need pci in placement ot use this feature nessiarly.\nnova tacks the capablities of pci devices in the pci device table in the nova db and that predates teh existance of placment.\n\ni would fully expect this functionalty to work without pci in placment active by using that tmechanium.","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d71c68fa0f49bf98eabc5aee7c3814a65435ad81","unresolved":true,"context_lines":[{"line_number":55,"context_line":".. code-block:: shell"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"  [pci]"},{"line_number":58,"context_line":"  device_spec \u003d { \"vendor_id\": \"10de\", \"product_id\": \"25b6\", \"address\": \"0000:25:00.4\", \"traits\": \"NVIDIA_A16_16A\"}"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"  alias \u003d { \"vendor_id\": \"10de\", \"product_id\": \"25b6\", \"device_type\": \"type-VF\", \"name\": \"a16_16a\", \"traits\": \"NVIDIA_A16_16A\" }"},{"line_number":61,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"523b91f5_79a55caa","line":58,"updated":"2024-12-02 10:42:32.000000000","message":"I think a more realistic config either configures just the vendor_id and the product_id, or only configures the address (with a regex probably) to match devices.","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"e848b53816d6887f5cb8053c391c96bf4afb1026","unresolved":false,"context_lines":[{"line_number":55,"context_line":".. code-block:: shell"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"  [pci]"},{"line_number":58,"context_line":"  device_spec \u003d { \"vendor_id\": \"10de\", \"product_id\": \"25b6\", \"address\": \"0000:25:00.4\", \"traits\": \"NVIDIA_A16_16A\"}"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"  alias \u003d { \"vendor_id\": \"10de\", \"product_id\": \"25b6\", \"device_type\": \"type-VF\", \"name\": \"a16_16a\", \"traits\": \"NVIDIA_A16_16A\" }"},{"line_number":61,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9fbd956b_470f6aea","line":58,"in_reply_to":"352f1fb5_22a423f1","updated":"2024-12-11 17:33:19.000000000","message":"Done","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f8102588bacd2dc25ec12b8d7a3bf4af1da31fc3","unresolved":true,"context_lines":[{"line_number":55,"context_line":".. code-block:: shell"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"  [pci]"},{"line_number":58,"context_line":"  device_spec \u003d { \"vendor_id\": \"10de\", \"product_id\": \"25b6\", \"address\": \"0000:25:00.4\", \"traits\": \"NVIDIA_A16_16A\"}"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"  alias \u003d { \"vendor_id\": \"10de\", \"product_id\": \"25b6\", \"device_type\": \"type-VF\", \"name\": \"a16_16a\", \"traits\": \"NVIDIA_A16_16A\" }"},{"line_number":61,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"352f1fb5_22a423f1","line":58,"in_reply_to":"523b91f5_79a55caa","updated":"2024-12-02 14:11:35.000000000","message":"-2\n\ni am not ok with only using a standard trait to encode nvida device modles or gpu typs.\n\nWe rejected encodeding the vendor and product id or device name as a trait as part fo the PCI in placement spec so i conider this spec to be incompatble with that.\n\nhence -2 not just a -1 as i condier that to be incompatible with our existing implemation.\n\n\nin the PTG we discussed adding 2 tags to the device spec.\n\nfirst we need to declare how the host driver should be managed \nwe had 2 options.\n- managed\u003dtrue|false\n- driver\u003d\u003cvfio-pci|\u003cvendor-driver\u003e\n\nsecond we dicussed encoding if the device was migratbale or not\nif detctable via libvirt we woudl not extend the alias for that\nhowever if it is not we would just add `migratable\u003dTrue|False` as a tag on the devspec\n\n\nnow while libvirt can accpet a vendor driver to bind the VF too instead of vfio-pci \nwehn managed\u003dyes is set in the xml, we cant use that with nvida cards.\nas such we cant use driver to satisfy the first gap for the gpu usecase although it would work for the nic usecause.\n\nthat is why we said the new tag we shoudl be addeing here in managed\u003dTrue|False\n\nyou do discuss that later but i want to make it clare that\n\nin the pci in placment spec diffent device models are encoded as a different custom resouce class. IT would be appropriate to encode the migratablity as a trait however we should also be encoding that in the device capablity in the pci_devices table so that it can be used by both the pci_passhtough filter and numa toplogy filter.","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d71c68fa0f49bf98eabc5aee7c3814a65435ad81","unresolved":true,"context_lines":[{"line_number":77,"context_line":"Fixing managed mode:"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"The managed mode must be changed from \"managed\u003d\u0027yes\u0027\" to \"managed\u003d\u0027no\u0027\""},{"line_number":80,"context_line":"otherwise the server crashes."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"The proposed solution is to add a ``migratable`` tag to the device"},{"line_number":83,"context_line":"specification. This tag will serve the following purposes:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"efe92207_d667e786","line":80,"updated":"2024-12-02 10:42:32.000000000","message":"I would be more specific. Something like:\nThe managed mode must be changed for devices using the vfio-gpu variant driver from \"managed\u003d\u0027yes\u0027\" to \"managed\u003d\u0027no\u0027\". \n\n(Or is there a different / better condition when the managed flag needs to be changed?) \n\nI guess \"server crashes\" means the compute node / hypervisor crashes. Is there a kernel bug tracking this crash? I think there should be as a crash is never acceptable. So lets link to that bug. So that if that is resolved we can remove the extra logic from nova.","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"e848b53816d6887f5cb8053c391c96bf4afb1026","unresolved":false,"context_lines":[{"line_number":77,"context_line":"Fixing managed mode:"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"The managed mode must be changed from \"managed\u003d\u0027yes\u0027\" to \"managed\u003d\u0027no\u0027\""},{"line_number":80,"context_line":"otherwise the server crashes."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"The proposed solution is to add a ``migratable`` tag to the device"},{"line_number":83,"context_line":"specification. This tag will serve the following purposes:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"af175f65_5bba3344","line":80,"in_reply_to":"efe92207_d667e786","updated":"2024-12-11 17:33:19.000000000","message":"Done","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d71c68fa0f49bf98eabc5aee7c3814a65435ad81","unresolved":true,"context_lines":[{"line_number":79,"context_line":"The managed mode must be changed from \"managed\u003d\u0027yes\u0027\" to \"managed\u003d\u0027no\u0027\""},{"line_number":80,"context_line":"otherwise the server crashes."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"The proposed solution is to add a ``migratable`` tag to the device"},{"line_number":83,"context_line":"specification. This tag will serve the following purposes:"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"- Set managed\u003d\u0027no\u0027 in the XML definition."}],"source_content_type":"text/x-rst","patch_set":1,"id":"156f0ea7_e3e423fe","line":82,"updated":"2024-12-02 10:42:32.000000000","message":"How does the following 3 relates to each other?\n1. A device is \u0027migratable\u0027\n2. A device is using the vfio-gpu variant driver\n3. A device needs managed\u003dno\n\nE.g. \n* Are all PCI devices using the vfio-gpu driver migratable?\n* Are all PCI devices using the vfio-gpu driver needs managed\u003dno?\n* Are all \u0027migratable\u0027 PCI devices needs managed\u003dno?","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f8102588bacd2dc25ec12b8d7a3bf4af1da31fc3","unresolved":true,"context_lines":[{"line_number":79,"context_line":"The managed mode must be changed from \"managed\u003d\u0027yes\u0027\" to \"managed\u003d\u0027no\u0027\""},{"line_number":80,"context_line":"otherwise the server crashes."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"The proposed solution is to add a ``migratable`` tag to the device"},{"line_number":83,"context_line":"specification. This tag will serve the following purposes:"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"- Set managed\u003d\u0027no\u0027 in the XML definition."}],"source_content_type":"text/x-rst","patch_set":1,"id":"2e187061_46a1443a","line":82,"in_reply_to":"156f0ea7_e3e423fe","updated":"2024-12-02 14:11:35.000000000","message":"-1\ni am not ok with this proposal.\n\nthere are other devices that may want to use managed\u003dno but are not migratable.\n\nwe actually hav e some code that does that already.\n\n\nto gibis quest all 3 aspects are indepented\n\nmanaged\u003dTrue|False is a singel to libivrt wither it is responisble form\ndetaching the device form the host before asigning it ot the guest and vice versa\n\nwhen set to False you are telling libvirt that the device is already assignable becuase either the operator or the management applciation has made it so.\n\n\nusing a vfio pci variant driver is one of the cases where we might want to have managed\u003dno another is mdevs use managed\u003dno\n\nhttps://github.com/openstack/nova/blob/6e6c5fbf9a7d2e9cd416e585faaded8b0adca460/nova/virt/libvirt/config.py#L2463\n\nand i belive there is one other usecase. \n\nthe vfio-mdev driver is kind fo but not explcitly an example of a VFIO-pci variant driver that happens to plug the VF inot a diffent kernel substystem,. vdpa again is simialr but not exactly the same.\n\nThe main delta is in the bus through which the device is connected. \nboth the vdpa and mdev framework were introduced to add an abstraction layer over the device where as the vfio-pci variant drivers dont abstcat the VF but enhance it with vendor specific capabilities.\n\nnot all devices with managed\u003dno are migratabel.\n\nit might be that all migrateable device need managed\u003dno today but that is not something we shoudl rely on.","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"e848b53816d6887f5cb8053c391c96bf4afb1026","unresolved":false,"context_lines":[{"line_number":79,"context_line":"The managed mode must be changed from \"managed\u003d\u0027yes\u0027\" to \"managed\u003d\u0027no\u0027\""},{"line_number":80,"context_line":"otherwise the server crashes."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"The proposed solution is to add a ``migratable`` tag to the device"},{"line_number":83,"context_line":"specification. This tag will serve the following purposes:"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"- Set managed\u003d\u0027no\u0027 in the XML definition."}],"source_content_type":"text/x-rst","patch_set":1,"id":"5384a1a6_8f111e70","line":82,"in_reply_to":"2e187061_46a1443a","updated":"2024-12-11 17:33:19.000000000","message":"Done","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d71c68fa0f49bf98eabc5aee7c3814a65435ad81","unresolved":true,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"- Set managed\u003d\u0027no\u0027 in the XML definition."},{"line_number":86,"context_line":"- Identify that the device supports live migration (details of this"},{"line_number":87,"context_line":"  functionality will be covered in another specification)."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"When this tag is encountered by the `PCI resource tracker`__, the"},{"line_number":90,"context_line":"corresponding information will be stored in the respective PciDevice"}],"source_content_type":"text/x-rst","patch_set":1,"id":"a25c09e7_368639e0","line":87,"updated":"2024-12-02 10:42:32.000000000","message":"I feel like this is mixing two thing together. See my above question.\n\nI.e. what will happen if tomorrow there is a new PCI device that is live migratable, but a) it does not need managed\u003dno, b) it does not use the vfio-gpu variant driver?\n\nOr what will happen if the kernel is fixed tomorrow that managed\u003dyes does not cause a crash any more, but the device still remains migratable. \n\nFor me the whole mangaged\u003dno in nova is a temporary workaround until the bug is fixed, but the fact that a device is migratable is a feature that will live long. So I would try to not mix the two things under that same flag.\n\n\nAlso as this spec only implement booting with SRIOV VGPUs requiring that migratable set to true for those PCI devices already in this stage is very confusing as nova will not enable migration at this stage.","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f8102588bacd2dc25ec12b8d7a3bf4af1da31fc3","unresolved":true,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"- Set managed\u003d\u0027no\u0027 in the XML definition."},{"line_number":86,"context_line":"- Identify that the device supports live migration (details of this"},{"line_number":87,"context_line":"  functionality will be covered in another specification)."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"When this tag is encountered by the `PCI resource tracker`__, the"},{"line_number":90,"context_line":"corresponding information will be stored in the respective PciDevice"}],"source_content_type":"text/x-rst","patch_set":1,"id":"f2ecd983_9e1af7f8","line":87,"in_reply_to":"a25c09e7_368639e0","updated":"2024-12-02 14:11:35.000000000","message":"so i agree on the mixign but not that it is a temporary workaround.\n\nmy undestaind is that nvida will require the VFs to be created and bound to the vendor variat driver in order to peroperly configure the vgpu types\n\nso we wont be able to dynmaiclly bind them using the libvirt functionality.\n\nso this is not a temporary workaround its the medium to long-term workflow unless nvida change direction on how there kernel dirver will work.","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"e848b53816d6887f5cb8053c391c96bf4afb1026","unresolved":false,"context_lines":[{"line_number":84,"context_line":""},{"line_number":85,"context_line":"- Set managed\u003d\u0027no\u0027 in the XML definition."},{"line_number":86,"context_line":"- Identify that the device supports live migration (details of this"},{"line_number":87,"context_line":"  functionality will be covered in another specification)."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"When this tag is encountered by the `PCI resource tracker`__, the"},{"line_number":90,"context_line":"corresponding information will be stored in the respective PciDevice"}],"source_content_type":"text/x-rst","patch_set":1,"id":"cf547a13_60ac2984","line":87,"in_reply_to":"f2ecd983_9e1af7f8","updated":"2024-12-11 17:33:19.000000000","message":"Done","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d71c68fa0f49bf98eabc5aee7c3814a65435ad81","unresolved":true,"context_lines":[{"line_number":86,"context_line":"- Identify that the device supports live migration (details of this"},{"line_number":87,"context_line":"  functionality will be covered in another specification)."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"When this tag is encountered by the `PCI resource tracker`__, the"},{"line_number":90,"context_line":"corresponding information will be stored in the respective PciDevice"},{"line_number":91,"context_line":"object under the extra_info field. This will enable the code responsible"},{"line_number":92,"context_line":"for generating the XML definition to set the managed mode to no."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Additionally, it will record an internal trait,"},{"line_number":95,"context_line":"``COMPUTE_PCI_DEVICE_MIGRATABLE``, in the resource provider."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3b088a87_7bbe57f3","line":92,"range":{"start_line":89,"start_character":0,"end_line":92,"end_character":64},"updated":"2024-12-02 10:42:32.000000000","message":"1. This forces now to use managed\u003dno for all migratable PCI devices which might be necessary today but not tomorrow. What if there will be two sets of PCI devices tomorrow both sets are live migratable but one needs managed\u003dno but the other doesn\u0027t\n\n2. Also with the link you are pointing to the pci in placement code. Does it mean this feature will only work if pci in placement is enabled? We need to clarify this in the spec before we assume that we reuse the code.\n\n3. Also the linked code does not supposed to change what is in the PciDevice object. It is purely reading the PciDeviceSpec and the PciDevice object to _generate_ the Placement view of the PCI devices in nova.  So you want to add the information to the PciDevice extra_info the that should not happen here, but rather at the place when the PciDevice object is created from the PciDeviceSpec.","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f8102588bacd2dc25ec12b8d7a3bf4af1da31fc3","unresolved":true,"context_lines":[{"line_number":86,"context_line":"- Identify that the device supports live migration (details of this"},{"line_number":87,"context_line":"  functionality will be covered in another specification)."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"When this tag is encountered by the `PCI resource tracker`__, the"},{"line_number":90,"context_line":"corresponding information will be stored in the respective PciDevice"},{"line_number":91,"context_line":"object under the extra_info field. This will enable the code responsible"},{"line_number":92,"context_line":"for generating the XML definition to set the managed mode to no."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Additionally, it will record an internal trait,"},{"line_number":95,"context_line":"``COMPUTE_PCI_DEVICE_MIGRATABLE``, in the resource provider."}],"source_content_type":"text/x-rst","patch_set":1,"id":"43d0ef26_5222c220","line":92,"range":{"start_line":89,"start_character":0,"end_line":92,"end_character":64},"in_reply_to":"3b088a87_7bbe57f3","updated":"2024-12-02 14:11:35.000000000","message":"so i agree that the libvirt driver should read the managed tag and use that to set the xml.\n\ni disagree that that is sufficient to make it live migratable.\nim not ok with coupling those two capabilities and having managed\u003dno imply migratablity.","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"e848b53816d6887f5cb8053c391c96bf4afb1026","unresolved":false,"context_lines":[{"line_number":86,"context_line":"- Identify that the device supports live migration (details of this"},{"line_number":87,"context_line":"  functionality will be covered in another specification)."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"When this tag is encountered by the `PCI resource tracker`__, the"},{"line_number":90,"context_line":"corresponding information will be stored in the respective PciDevice"},{"line_number":91,"context_line":"object under the extra_info field. This will enable the code responsible"},{"line_number":92,"context_line":"for generating the XML definition to set the managed mode to no."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Additionally, it will record an internal trait,"},{"line_number":95,"context_line":"``COMPUTE_PCI_DEVICE_MIGRATABLE``, in the resource provider."}],"source_content_type":"text/x-rst","patch_set":1,"id":"57e91ded_8d68ccba","line":92,"range":{"start_line":89,"start_character":0,"end_line":92,"end_character":64},"in_reply_to":"43d0ef26_5222c220","updated":"2024-12-11 17:33:19.000000000","message":"Done","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d71c68fa0f49bf98eabc5aee7c3814a65435ad81","unresolved":true,"context_lines":[{"line_number":92,"context_line":"for generating the XML definition to set the managed mode to no."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Additionally, it will record an internal trait,"},{"line_number":95,"context_line":"``COMPUTE_PCI_DEVICE_MIGRATABLE``, in the resource provider."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":".. note::"},{"line_number":98,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"ca63669e_d8a273b0","line":95,"updated":"2024-12-02 10:42:32.000000000","message":"This is in scope of the pci in placement code you linked to above. That code can read either the tag from the PciDeviceSpec object, or the extra_info from the PciDevice. (probably the former is safer as it does not rely on the internal representation of extra_info).\n\nNote a dependency that this means a new standard trait needs to be added to os-traits.\n\nOn the trait name itself. If this is the capability of the actual device then I would put under HW traits not under the compute capability traits. E.g.\nHW_PCI_MIGRATABLE sounds better to me.","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"e848b53816d6887f5cb8053c391c96bf4afb1026","unresolved":false,"context_lines":[{"line_number":92,"context_line":"for generating the XML definition to set the managed mode to no."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Additionally, it will record an internal trait,"},{"line_number":95,"context_line":"``COMPUTE_PCI_DEVICE_MIGRATABLE``, in the resource provider."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":".. note::"},{"line_number":98,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"0f2e5a01_b5e80336","line":95,"in_reply_to":"397bcd62_e840670d","updated":"2024-12-11 17:33:19.000000000","message":"Closing as this will be part of the migration spec.","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f8102588bacd2dc25ec12b8d7a3bf4af1da31fc3","unresolved":true,"context_lines":[{"line_number":92,"context_line":"for generating the XML definition to set the managed mode to no."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Additionally, it will record an internal trait,"},{"line_number":95,"context_line":"``COMPUTE_PCI_DEVICE_MIGRATABLE``, in the resource provider."},{"line_number":96,"context_line":""},{"line_number":97,"context_line":".. note::"},{"line_number":98,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"397bcd62_e840670d","line":95,"in_reply_to":"ca63669e_d8a273b0","updated":"2024-12-02 14:11:35.000000000","message":"HW_PCI_MIGRATABLE is correct as its a capablity of the hardware\n\nCOMPUTE_PCI_DEVICE_MIGRATABLE is wrong\n\nCOMPUTE_ implies its a capablity of the hypervior i.e. qemu\n\nthat would imply that qemu is capabliy of emulating the migratable even if the hardware does not. that is why HW_ is more correct.\n\n\nalso there is a potential for confution with \n\nCOMPUTE_MANAGED_PCI_DEVICE\n\nhttps://github.com/openstack/os-traits/blob/master/os_traits/compute/__init__.py#L46\n\nthat trait denotes that this inventory of PCI device is managed by the compute service.\n\nwe use it so that neutron and cyborge can also model invetoies of PCI device that are not manged by nova.","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d71c68fa0f49bf98eabc5aee7c3814a65435ad81","unresolved":true,"context_lines":[{"line_number":97,"context_line":".. note::"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"  By using this solution, the PciDevice object remains unchanged, which"},{"line_number":100,"context_line":"  simplifies potential feature backports."},{"line_number":101,"context_line":""},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"Sanitize device specification:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ded1816_9db31c90","line":100,"updated":"2024-12-02 10:42:32.000000000","message":"We are not backporting features upstream.","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f8102588bacd2dc25ec12b8d7a3bf4af1da31fc3","unresolved":true,"context_lines":[{"line_number":97,"context_line":".. note::"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"  By using this solution, the PciDevice object remains unchanged, which"},{"line_number":100,"context_line":"  simplifies potential feature backports."},{"line_number":101,"context_line":""},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"Sanitize device specification:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"a0282aad_0f561a9c","line":100,"in_reply_to":"1ded1816_9db31c90","updated":"2024-12-02 14:11:35.000000000","message":"we also will not be backporting this downstream.\n\nyou not wrong that given the extra info blob is defied as a dict of string -\u003e string that it technially is not an object but its highly unlikely that the rest of the spec wont break our backporting rules.\n\nWe do not back prot traits for example and at a miniutm we will need a compute service bump for this which is also nto very backportable.\nwe need the compute service version bump so that we can detect if we can disable the api block and allow the conductor/compute agent to enforce the live migartableity check as part of pre-live migration\n\nthe live migration aspect, which is the second capability after the initial support for VF that require managed\u003dNo, may also require the migration data object to be adapted. i am hoping it wont require object changes and we can simple update the current filtering that we do of the pci request object to allow request form neutron or request with migratable\u003dTrue form the flavor. currently if there is a requst form the flavor live migration is blocked.","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"e848b53816d6887f5cb8053c391c96bf4afb1026","unresolved":false,"context_lines":[{"line_number":97,"context_line":".. note::"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"  By using this solution, the PciDevice object remains unchanged, which"},{"line_number":100,"context_line":"  simplifies potential feature backports."},{"line_number":101,"context_line":""},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"Sanitize device specification:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5cc2fda2_4c51938d","line":100,"in_reply_to":"a0282aad_0f561a9c","updated":"2024-12-11 17:33:19.000000000","message":"Done","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d71c68fa0f49bf98eabc5aee7c3814a65435ad81","unresolved":true,"context_lines":[{"line_number":105,"context_line":"As part of the initialization process, checks are performed to ensure the"},{"line_number":106,"context_line":"correctness of the device specification. Given that many GPUs can be added"},{"line_number":107,"context_line":"to this configuration, these checks will be extended to ensure that PCI"},{"line_number":108,"context_line":"device addresses are not duplicated."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"Device specification resource class:"},{"line_number":111,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"6580fd41_f02b819e","line":108,"updated":"2024-12-02 10:42:32.000000000","message":"Isn\u0027t nova already handles this? Have you tried?","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"e848b53816d6887f5cb8053c391c96bf4afb1026","unresolved":false,"context_lines":[{"line_number":105,"context_line":"As part of the initialization process, checks are performed to ensure the"},{"line_number":106,"context_line":"correctness of the device specification. Given that many GPUs can be added"},{"line_number":107,"context_line":"to this configuration, these checks will be extended to ensure that PCI"},{"line_number":108,"context_line":"device addresses are not duplicated."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"Device specification resource class:"},{"line_number":111,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"0d1e97a5_1e26af85","line":108,"in_reply_to":"5ed4e9b0_de7f3dda","updated":"2024-12-11 17:33:19.000000000","message":"Done","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f8102588bacd2dc25ec12b8d7a3bf4af1da31fc3","unresolved":true,"context_lines":[{"line_number":105,"context_line":"As part of the initialization process, checks are performed to ensure the"},{"line_number":106,"context_line":"correctness of the device specification. Given that many GPUs can be added"},{"line_number":107,"context_line":"to this configuration, these checks will be extended to ensure that PCI"},{"line_number":108,"context_line":"device addresses are not duplicated."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"Device specification resource class:"},{"line_number":111,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"5ed4e9b0_de7f3dda","line":108,"in_reply_to":"6580fd41_f02b819e","updated":"2024-12-02 14:11:35.000000000","message":"yes this should be handled specifically int he case where a device is listed twice with different parameters.\n\n\ni.e. if you were to list a device with managed\u003dyes and also list it with managed\u003dno that shoudl already be detected and result in an error.\n\nnote that the pci device spec code and the virt driver are decoupled.\nyou cannot call out to libvirt or check the host filesystem as part fo the config loading\n\nWe have an indirection whereby we return a specific data structure from the drivers, which is then passed into the generic pci_tracker code.\n\nthat means that not all of this can be validated when loading the config and some of it has to be validated after the pci tracker is initalised with data from the virt driver which happens much later.","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d71c68fa0f49bf98eabc5aee7c3814a65435ad81","unresolved":true,"context_lines":[{"line_number":109,"context_line":""},{"line_number":110,"context_line":"Device specification resource class:"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"Since the resource class can be defined by the user, no changes will be made."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"- Should we provide guidelines for naming resource classes?"},{"line_number":115,"context_line":"- Should we document a recommendation to avoid using vgpu as a resource"}],"source_content_type":"text/x-rst","patch_set":1,"id":"369a9d6a_81eb7f43","line":112,"updated":"2024-12-02 10:42:32.000000000","message":"Again this assumes a hard dependency of enabling pci in placement which needs to be discussed in this spec.","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f8102588bacd2dc25ec12b8d7a3bf4af1da31fc3","unresolved":true,"context_lines":[{"line_number":109,"context_line":""},{"line_number":110,"context_line":"Device specification resource class:"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"Since the resource class can be defined by the user, no changes will be made."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"- Should we provide guidelines for naming resource classes?"},{"line_number":115,"context_line":"- Should we document a recommendation to avoid using vgpu as a resource"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7dd19780_e91a6b39","line":112,"in_reply_to":"369a9d6a_81eb7f43","updated":"2024-12-02 14:11:35.000000000","message":"right there should not be any depency\n\nit woudl be nice to use pci in placmement for quota enforcement but it should be required","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"e848b53816d6887f5cb8053c391c96bf4afb1026","unresolved":false,"context_lines":[{"line_number":109,"context_line":""},{"line_number":110,"context_line":"Device specification resource class:"},{"line_number":111,"context_line":""},{"line_number":112,"context_line":"Since the resource class can be defined by the user, no changes will be made."},{"line_number":113,"context_line":""},{"line_number":114,"context_line":"- Should we provide guidelines for naming resource classes?"},{"line_number":115,"context_line":"- Should we document a recommendation to avoid using vgpu as a resource"}],"source_content_type":"text/x-rst","patch_set":1,"id":"240c6807_207f6dd8","line":112,"in_reply_to":"7dd19780_e91a6b39","updated":"2024-12-11 17:33:19.000000000","message":"Done","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d71c68fa0f49bf98eabc5aee7c3814a65435ad81","unresolved":true,"context_lines":[{"line_number":113,"context_line":""},{"line_number":114,"context_line":"- Should we provide guidelines for naming resource classes?"},{"line_number":115,"context_line":"- Should we document a recommendation to avoid using vgpu as a resource"},{"line_number":116,"context_line":"  class name?"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"Device specification traits:"},{"line_number":119,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"f6bf4eee_9481413e","line":116,"updated":"2024-12-02 10:42:32.000000000","message":"what will happen if the deployer tries to reuse the existing VGPU standard resource class?","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"e848b53816d6887f5cb8053c391c96bf4afb1026","unresolved":false,"context_lines":[{"line_number":113,"context_line":""},{"line_number":114,"context_line":"- Should we provide guidelines for naming resource classes?"},{"line_number":115,"context_line":"- Should we document a recommendation to avoid using vgpu as a resource"},{"line_number":116,"context_line":"  class name?"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"Device specification traits:"},{"line_number":119,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"35cce662_863a07c5","line":116,"in_reply_to":"f1e78d39_78b4392d","updated":"2024-12-11 17:33:19.000000000","message":"Done","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"de0a8d92ff711a5e3fb34997fdf3c1c27df1131e","unresolved":true,"context_lines":[{"line_number":113,"context_line":""},{"line_number":114,"context_line":"- Should we provide guidelines for naming resource classes?"},{"line_number":115,"context_line":"- Should we document a recommendation to avoid using vgpu as a resource"},{"line_number":116,"context_line":"  class name?"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"Device specification traits:"},{"line_number":119,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"f1e78d39_78b4392d","line":116,"in_reply_to":"f6bf4eee_9481413e","updated":"2024-12-03 01:05:38.000000000","message":"it depens on how.\n\nif they were to use it in the falvor it would not work as resouce:vgpu is reserved expclivly for the mdev code path.\n\nif they use it via the pci alias and in the pci devicespec it would almost work but it would be hard to debug. The reason it would not work is belive we only allow CUSTOM_ resouce classes to be used with the pci_in_placment feature which means you wont eb able to report the pci device using the standard VGPU resouce class.\n\ni woudl almost go as far as to say we should epxlicltly forbit that and raise a config error with a clear meassage if you attempt to do that. \n\nif we dont have that restrictin in place then we should put in the check to stop VGPU form being used but im pretty sure we only allow custom resouce classes to be used.","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d71c68fa0f49bf98eabc5aee7c3814a65435ad81","unresolved":true,"context_lines":[{"line_number":119,"context_line":""},{"line_number":120,"context_line":"Documentation will be added to provide guidelines for naming traits. We"},{"line_number":121,"context_line":"may recommend that trait names include the vGPU types for better clarity"},{"line_number":122,"context_line":"and organization."},{"line_number":123,"context_line":""},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"Display management:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"c1a0e580_87e973f3","line":122,"updated":"2024-12-02 10:42:32.000000000","message":"We can but we don\u0027t need to.","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"e848b53816d6887f5cb8053c391c96bf4afb1026","unresolved":false,"context_lines":[{"line_number":119,"context_line":""},{"line_number":120,"context_line":"Documentation will be added to provide guidelines for naming traits. We"},{"line_number":121,"context_line":"may recommend that trait names include the vGPU types for better clarity"},{"line_number":122,"context_line":"and organization."},{"line_number":123,"context_line":""},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"Display management:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a4b0fb7_2f743746","line":122,"in_reply_to":"62dce58f_5614fbc7","updated":"2024-12-11 17:33:19.000000000","message":"Done","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f8102588bacd2dc25ec12b8d7a3bf4af1da31fc3","unresolved":true,"context_lines":[{"line_number":119,"context_line":""},{"line_number":120,"context_line":"Documentation will be added to provide guidelines for naming traits. We"},{"line_number":121,"context_line":"may recommend that trait names include the vGPU types for better clarity"},{"line_number":122,"context_line":"and organization."},{"line_number":123,"context_line":""},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"Display management:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"62dce58f_5614fbc7","line":122,"in_reply_to":"c1a0e580_87e973f3","updated":"2024-12-02 14:11:35.000000000","message":"I agree this is unnecessary and how this spec currently uses them is incorrect.\n\nthe user should not need to add traits manually for this to work.\nif they want to advertiese tratis they can but its imporant to rememebr that traits are not for configuration, the encode the capablity of a device but are not used to enabel or disable fucntioantlity. so it would incorrect to use a HW_PCI_MIGRATABLE triat to configure/enable live migration by adding it to a device spec.\n\nit is valid for use to report that so that we can schduler based on which devices have that capablity but it is not ok to add that in the config to turn it on.","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d71c68fa0f49bf98eabc5aee7c3814a65435ad81","unresolved":true,"context_lines":[{"line_number":122,"context_line":"and organization."},{"line_number":123,"context_line":""},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"Display management:"},{"line_number":126,"context_line":"  An optional display attribute may be used to enable using a vgpu device"},{"line_number":127,"context_line":"  as a display device for the guest. Supported values are either on or off"},{"line_number":128,"context_line":"  (default). There is also an optional ramfb attribute with values of either"},{"line_number":129,"context_line":"  on or off (default). When enabled, the ramfb attribute provides a memory"},{"line_number":130,"context_line":"  framebuffer device to the guest. This framebuffer allows the vgpu to be used"},{"line_number":131,"context_line":"  as a boot display before the gpu driver is loaded within the guest. ramfb"},{"line_number":132,"context_line":"  requires the display attribute to be set to on."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"There is a constraint to activate these settings for only one VGPU, even"},{"line_number":135,"context_line":"if multiple VGUs are attached to a VM."}],"source_content_type":"text/x-rst","patch_set":1,"id":"6750b69b_080645fc","line":132,"range":{"start_line":125,"start_character":0,"end_line":132,"end_character":49},"updated":"2024-12-02 10:42:32.000000000","message":"* Are these parameters (display, ramfb) specific to the vfio-gpu variant driver?\n* How these attributes are set on the backend? Via the domain XML?\n* How these attributes are defined by the nova deployer? Via device_spec tags?","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"e848b53816d6887f5cb8053c391c96bf4afb1026","unresolved":false,"context_lines":[{"line_number":122,"context_line":"and organization."},{"line_number":123,"context_line":""},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"Display management:"},{"line_number":126,"context_line":"  An optional display attribute may be used to enable using a vgpu device"},{"line_number":127,"context_line":"  as a display device for the guest. Supported values are either on or off"},{"line_number":128,"context_line":"  (default). There is also an optional ramfb attribute with values of either"},{"line_number":129,"context_line":"  on or off (default). When enabled, the ramfb attribute provides a memory"},{"line_number":130,"context_line":"  framebuffer device to the guest. This framebuffer allows the vgpu to be used"},{"line_number":131,"context_line":"  as a boot display before the gpu driver is loaded within the guest. ramfb"},{"line_number":132,"context_line":"  requires the display attribute to be set to on."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"There is a constraint to activate these settings for only one VGPU, even"},{"line_number":135,"context_line":"if multiple VGUs are attached to a VM."}],"source_content_type":"text/x-rst","patch_set":1,"id":"d6083bc7_5113363d","line":132,"range":{"start_line":125,"start_character":0,"end_line":132,"end_character":49},"in_reply_to":"0d2ba8ba_4e437fa0","updated":"2024-12-11 17:33:19.000000000","message":"Done","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f8102588bacd2dc25ec12b8d7a3bf4af1da31fc3","unresolved":true,"context_lines":[{"line_number":122,"context_line":"and organization."},{"line_number":123,"context_line":""},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"Display management:"},{"line_number":126,"context_line":"  An optional display attribute may be used to enable using a vgpu device"},{"line_number":127,"context_line":"  as a display device for the guest. Supported values are either on or off"},{"line_number":128,"context_line":"  (default). There is also an optional ramfb attribute with values of either"},{"line_number":129,"context_line":"  on or off (default). When enabled, the ramfb attribute provides a memory"},{"line_number":130,"context_line":"  framebuffer device to the guest. This framebuffer allows the vgpu to be used"},{"line_number":131,"context_line":"  as a boot display before the gpu driver is loaded within the guest. ramfb"},{"line_number":132,"context_line":"  requires the display attribute to be set to on."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"There is a constraint to activate these settings for only one VGPU, even"},{"line_number":135,"context_line":"if multiple VGUs are attached to a VM."}],"source_content_type":"text/x-rst","patch_set":1,"id":"0d2ba8ba_4e437fa0","line":132,"range":{"start_line":125,"start_character":0,"end_line":132,"end_character":49},"in_reply_to":"6750b69b_080645fc","updated":"2024-12-02 14:11:35.000000000","message":"they are not specific to NVIDIA but ranter to libvirt and to GPUs.\nthey are defiend inhttps://libvirt.org/formatdomain.html#usb-pci-scsi-devices\n\nin the pci section within the hostdev section. sorry cant directly link but ill copy it here\n\n```\npci\n\n    For PCI devices, when managed is \"yes\" it is detached from the host before\n    being passed on to the guest and reattached to the host after the guest exits.\n    If managed is omitted or \"no\", the user is responsible to call\n    virNodeDeviceDetachFlags (or virsh nodedev-detach before starting the guest or\n    hot-plugging the device and virNodeDeviceReAttach (or virsh nodedev-reattach)\n    after hot-unplug or stopping the guest. Since 10.3.0 an optional display\n    attribute may be used to enable using a vgpu device as a display device\n    for the guest. Supported values are either on or off (default).\n    There is also an optional ramfb attribute with values of either on or off\n    (default). When enabled, the ramfb attribute provides a memory framebuffer\n    device to the guest. This framebuffer allows the vgpu to be used as a boot\n    display before the gpu driver is loaded within the guest.\n    ramfb requires the display attribute to be set to on.\n\n```\n\nso they are valid if the pci device happens to be a gpu.\n\nwhat is unknown is will the nodedev xml provides the information to detect if it\u0027s a GPU.\n\nif its detectable we coudl avoid addign 2 addtional boolean pci device tags (display and/or ramfb) if and only if we want to alwasy disabel them\n\nif we want this to be cofnigurable via the nova.conf then we will need the extra tag either on the device spec or on the alias.\n\nwe coudl also supprot configurign this on teh flavor or image.\nit really depned on if this should be configured per device (device spc) or per instance (alias/flavor/image)","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d71c68fa0f49bf98eabc5aee7c3814a65435ad81","unresolved":true,"context_lines":[{"line_number":131,"context_line":"  as a boot display before the gpu driver is loaded within the guest. ramfb"},{"line_number":132,"context_line":"  requires the display attribute to be set to on."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"There is a constraint to activate these settings for only one VGPU, even"},{"line_number":135,"context_line":"if multiple VGUs are attached to a VM."},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"In this initial implementation, we have chosen not to address this constraint"},{"line_number":138,"context_line":"and instead align with the existing mdev implementation."}],"source_content_type":"text/x-rst","patch_set":1,"id":"cf6bb425_be35d6b4","line":135,"range":{"start_line":134,"start_character":0,"end_line":135,"end_character":38},"updated":"2024-12-02 10:42:32.000000000","message":"How this will be enforced by nova? How this will be made scheduleable?","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f8102588bacd2dc25ec12b8d7a3bf4af1da31fc3","unresolved":true,"context_lines":[{"line_number":131,"context_line":"  as a boot display before the gpu driver is loaded within the guest. ramfb"},{"line_number":132,"context_line":"  requires the display attribute to be set to on."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"There is a constraint to activate these settings for only one VGPU, even"},{"line_number":135,"context_line":"if multiple VGUs are attached to a VM."},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"In this initial implementation, we have chosen not to address this constraint"},{"line_number":138,"context_line":"and instead align with the existing mdev implementation."}],"source_content_type":"text/x-rst","patch_set":1,"id":"f311f78f_28f5dd5e","line":135,"range":{"start_line":134,"start_character":0,"end_line":135,"end_character":38},"in_reply_to":"cf6bb425_be35d6b4","updated":"2024-12-02 14:11:35.000000000","message":"so that might mean we should not support this at all.\n\nif we can only activate this for one device assigned to the guest we don\u0027t have a good way to encode that.\n\nthat also rules or using image properties and flavour extra specs\n\nthe only way to encode this would be via the alias.\n\nwe may be able to validate this wehn defining the flavor extra spec as the pci alias need to be defined in the api server\u0027s nova.conf\n\nthat means when doing a flavor set we coudl parse teh alias and assert that only one of the refenced aliase has  display\u003don and/or ramfb\u003don\nand that only 1 instancstance of that alias is requested.\n\nit may just be simpler to hardcode display/ramfb off for all gpus but we still need a way to tell its a gpu. hence my initall im not sure if we shoudl supprot this comment.","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"e848b53816d6887f5cb8053c391c96bf4afb1026","unresolved":false,"context_lines":[{"line_number":131,"context_line":"  as a boot display before the gpu driver is loaded within the guest. ramfb"},{"line_number":132,"context_line":"  requires the display attribute to be set to on."},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"There is a constraint to activate these settings for only one VGPU, even"},{"line_number":135,"context_line":"if multiple VGUs are attached to a VM."},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"In this initial implementation, we have chosen not to address this constraint"},{"line_number":138,"context_line":"and instead align with the existing mdev implementation."}],"source_content_type":"text/x-rst","patch_set":1,"id":"5ff4c543_75557cce","line":135,"range":{"start_line":134,"start_character":0,"end_line":135,"end_character":38},"in_reply_to":"f311f78f_28f5dd5e","updated":"2024-12-11 17:33:19.000000000","message":"Done","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d71c68fa0f49bf98eabc5aee7c3814a65435ad81","unresolved":true,"context_lines":[{"line_number":135,"context_line":"if multiple VGUs are attached to a VM."},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"In this initial implementation, we have chosen not to address this constraint"},{"line_number":138,"context_line":"and instead align with the existing mdev implementation."},{"line_number":139,"context_line":""},{"line_number":140,"context_line":""},{"line_number":141,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"00c57613_a30eb4e0","line":138,"updated":"2024-12-02 10:42:32.000000000","message":"What is that alignment actually means? Will display and ramfb won\u0027t be supported at all?","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f8102588bacd2dc25ec12b8d7a3bf4af1da31fc3","unresolved":true,"context_lines":[{"line_number":135,"context_line":"if multiple VGUs are attached to a VM."},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"In this initial implementation, we have chosen not to address this constraint"},{"line_number":138,"context_line":"and instead align with the existing mdev implementation."},{"line_number":139,"context_line":""},{"line_number":140,"context_line":""},{"line_number":141,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"12d5bce7_0d81c87d","line":138,"in_reply_to":"00c57613_a30eb4e0","updated":"2024-12-02 14:11:35.000000000","message":"i think yes initally we would always turn it off.\n\nto allow it we would have to do it on the alis and extend the flavor validation logic.\n\nthats doable but a lot of extra work and complexity both for the admin and us.","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"0cad971593e2f53ce79d5844693a9fa3e9e43d92","unresolved":true,"context_lines":[{"line_number":135,"context_line":"if multiple VGUs are attached to a VM."},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"In this initial implementation, we have chosen not to address this constraint"},{"line_number":138,"context_line":"and instead align with the existing mdev implementation."},{"line_number":139,"context_line":""},{"line_number":140,"context_line":""},{"line_number":141,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"77aa645c_b0ff9dd0","line":138,"in_reply_to":"12d5bce7_0d81c87d","updated":"2024-12-03 12:14:20.000000000","message":"I agree to keep it out of the scope of the spec for now. Hopefully it is not a big limitations on the GPU users.","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"e848b53816d6887f5cb8053c391c96bf4afb1026","unresolved":false,"context_lines":[{"line_number":135,"context_line":"if multiple VGUs are attached to a VM."},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"In this initial implementation, we have chosen not to address this constraint"},{"line_number":138,"context_line":"and instead align with the existing mdev implementation."},{"line_number":139,"context_line":""},{"line_number":140,"context_line":""},{"line_number":141,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"46ce94ce_d36cdc0e","line":138,"in_reply_to":"624d4fbd_68fb7f11","updated":"2024-12-11 17:33:19.000000000","message":"Done","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"685288e8e27a4da679bce9e469a02ba24e4050d1","unresolved":true,"context_lines":[{"line_number":135,"context_line":"if multiple VGUs are attached to a VM."},{"line_number":136,"context_line":""},{"line_number":137,"context_line":"In this initial implementation, we have chosen not to address this constraint"},{"line_number":138,"context_line":"and instead align with the existing mdev implementation."},{"line_number":139,"context_line":""},{"line_number":140,"context_line":""},{"line_number":141,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"624d4fbd_68fb7f11","line":138,"in_reply_to":"77aa645c_b0ff9dd0","updated":"2024-12-04 10:49:33.000000000","message":"it just means the VGPU cant be used for the novnc console as far as i am aware.","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f8102588bacd2dc25ec12b8d7a3bf4af1da31fc3","unresolved":true,"context_lines":[{"line_number":154,"context_line":"by the libvirt driver to the compute manager, and subsequently stored in"},{"line_number":155,"context_line":"the PciDevice object\u0027s extra_info field."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"TBD: explain possible solution without pci in placement"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"REST API impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a02bc31_a55a5e1f","line":157,"updated":"2024-12-02 14:11:35.000000000","message":"so this is one of the main sticking point for me.\n\nthe solution should wokr without pci in placement as a starting point, it should be compoatable with pci in placmement which this is not, and if we want to make pci_in_placement a hard requirement then you need to justify why.","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"e848b53816d6887f5cb8053c391c96bf4afb1026","unresolved":false,"context_lines":[{"line_number":154,"context_line":"by the libvirt driver to the compute manager, and subsequently stored in"},{"line_number":155,"context_line":"the PciDevice object\u0027s extra_info field."},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"TBD: explain possible solution without pci in placement"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"REST API impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"8cc9d494_abe3006c","line":157,"in_reply_to":"1a02bc31_a55a5e1f","updated":"2024-12-11 17:33:19.000000000","message":"Done","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d71c68fa0f49bf98eabc5aee7c3814a65435ad81","unresolved":true,"context_lines":[{"line_number":165,"context_line":"Data model impact"},{"line_number":166,"context_line":"-----------------"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"NA"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"Security impact"},{"line_number":171,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"b78875e0_567ff41d","line":168,"updated":"2024-12-02 10:42:32.000000000","message":"only the extra_info free dict will be extended.","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f8102588bacd2dc25ec12b8d7a3bf4af1da31fc3","unresolved":true,"context_lines":[{"line_number":165,"context_line":"Data model impact"},{"line_number":166,"context_line":"-----------------"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"NA"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"Security impact"},{"line_number":171,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"d0eccc10_4fbfb00d","line":168,"in_reply_to":"b78875e0_567ff41d","updated":"2024-12-02 14:11:35.000000000","message":"correct, witin that we can add new capablities to encode the live migratableity and also the new tag for `managed`.\n\nthat tecnially does not need a db schema or object change\nhowever i would like us to add a help property on the pci device class rather then directly indexing the extra_info dict\n\n\nthat wont technally be an object change as its just a helper method ot provdie access to the contet of the dict.\n\ni would like to do the same for \"migratable\"","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"e848b53816d6887f5cb8053c391c96bf4afb1026","unresolved":false,"context_lines":[{"line_number":165,"context_line":"Data model impact"},{"line_number":166,"context_line":"-----------------"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"NA"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"Security impact"},{"line_number":171,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"a2be283b_1708eb2b","line":168,"in_reply_to":"d0eccc10_4fbfb00d","updated":"2024-12-11 17:33:19.000000000","message":"Done","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d71c68fa0f49bf98eabc5aee7c3814a65435ad81","unresolved":true,"context_lines":[{"line_number":190,"context_line":"Performance Impact"},{"line_number":191,"context_line":"------------------"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"TBD need to speak about \"Gibi\u0027s bugs\""},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"Other deployer impact"},{"line_number":196,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"29853b3f_154b8656","line":193,"updated":"2024-12-02 10:42:32.000000000","message":"yeah at least link it there right now https://bugs.launchpad.net/placement/+bug/2070257","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f8102588bacd2dc25ec12b8d7a3bf4af1da31fc3","unresolved":true,"context_lines":[{"line_number":190,"context_line":"Performance Impact"},{"line_number":191,"context_line":"------------------"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"TBD need to speak about \"Gibi\u0027s bugs\""},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"Other deployer impact"},{"line_number":196,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"46399a0b_6cb9f54a","line":193,"in_reply_to":"29853b3f_154b8656","updated":"2024-12-02 14:11:35.000000000","message":"this is one of the reasons why we should not make it hard dep but not the only one.\ni hope we can make progress on that irrespective of this spec but i agree it shoudl be list as a consideration for enabling pci in placement today.\n\nnote that hte same issue affect vGPU or any other usage of nested resouce providres today but it does not impact pci_passhtough when not using placment.","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"e848b53816d6887f5cb8053c391c96bf4afb1026","unresolved":false,"context_lines":[{"line_number":190,"context_line":"Performance Impact"},{"line_number":191,"context_line":"------------------"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"TBD need to speak about \"Gibi\u0027s bugs\""},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"Other deployer impact"},{"line_number":196,"context_line":"---------------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9ea0b384_83ce07b6","line":193,"in_reply_to":"46399a0b_6cb9f54a","updated":"2024-12-11 17:33:19.000000000","message":"Done","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d71c68fa0f49bf98eabc5aee7c3814a65435ad81","unresolved":true,"context_lines":[{"line_number":210,"context_line":"- The configuration of vGPU types."},{"line_number":211,"context_line":"- The configuration of device specifications and aliases."},{"line_number":212,"context_line":"- Update their flavors to specify the correct aliases.\""},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"Implementation"},{"line_number":215,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":216,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"a57e2f1e_810f82bd","line":213,"updated":"2024-12-02 10:42:32.000000000","message":"* Is there a migration path from mdev based deployments to SRIOV?\n* If pci in placement is a hard dependency of the feature then the upgrade to enable pci in placement needs to be referred here. See the 3rd from last paragraph of https://docs.openstack.org/nova/latest/admin/pci-passthrough.html#pci-tracking-in-placement","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"de0a8d92ff711a5e3fb34997fdf3c1c27df1131e","unresolved":true,"context_lines":[{"line_number":210,"context_line":"- The configuration of vGPU types."},{"line_number":211,"context_line":"- The configuration of device specifications and aliases."},{"line_number":212,"context_line":"- Update their flavors to specify the correct aliases.\""},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"Implementation"},{"line_number":215,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":216,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"e168cd42_fd856cc6","line":213,"in_reply_to":"a57e2f1e_810f82bd","updated":"2024-12-03 01:05:38.000000000","message":"in nova\u0027s data model that is only doable via resize.\n\nwe cant do a reshape of similar here as we need to chage the allcaotions, flavor content, config value, database content and the placment invetories if we were to do this in place.\n\nthat is not really something we should consider.\nit\u0027s too complex.","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"e848b53816d6887f5cb8053c391c96bf4afb1026","unresolved":false,"context_lines":[{"line_number":210,"context_line":"- The configuration of vGPU types."},{"line_number":211,"context_line":"- The configuration of device specifications and aliases."},{"line_number":212,"context_line":"- Update their flavors to specify the correct aliases.\""},{"line_number":213,"context_line":""},{"line_number":214,"context_line":"Implementation"},{"line_number":215,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":216,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"f8f63659_990ec6fe","line":213,"in_reply_to":"e168cd42_fd856cc6","updated":"2024-12-11 17:33:19.000000000","message":"Done","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"2248767d89c97da0d15340e3f783bb7075f1a24c","unresolved":true,"context_lines":[{"line_number":221,"context_line":"  uggla (Rene Ribaud)"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"Main contributors:"},{"line_number":224,"context_line":"  bauzas (Sylvain Bauzas)"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"Feature Liaison"},{"line_number":227,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"c0bb4c5c_f087a4a1","line":224,"range":{"start_line":224,"start_character":18,"end_line":224,"end_character":24},"updated":"2024-11-28 14:32:31.000000000","message":"Bauza ;)","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"e848b53816d6887f5cb8053c391c96bf4afb1026","unresolved":false,"context_lines":[{"line_number":221,"context_line":"  uggla (Rene Ribaud)"},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"Main contributors:"},{"line_number":224,"context_line":"  bauzas (Sylvain Bauzas)"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"Feature Liaison"},{"line_number":227,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5db99b08_fe497a73","line":224,"range":{"start_line":224,"start_character":18,"end_line":224,"end_character":24},"in_reply_to":"c0bb4c5c_f087a4a1","updated":"2024-12-11 17:33:19.000000000","message":"Done","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d71c68fa0f49bf98eabc5aee7c3814a65435ad81","unresolved":true,"context_lines":[{"line_number":237,"context_line":"Dependencies"},{"line_number":238,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":239,"context_line":""},{"line_number":240,"context_line":"None"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"Testing"},{"line_number":243,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ba541985_c32870bb","line":240,"updated":"2024-12-02 10:42:32.000000000","message":"* kernel bug\n* os-traits new standard trait\n* possibly pci in placement","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d71c68fa0f49bf98eabc5aee7c3814a65435ad81","unresolved":true,"context_lines":[{"line_number":244,"context_line":""},{"line_number":245,"context_line":"- TBD"},{"line_number":246,"context_line":"- Functional libvirt driver tests"},{"line_number":247,"context_line":"- Integration Tempest tests ?"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"Documentation Impact"},{"line_number":250,"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":1,"id":"32bf8be0_c7d5e8ca","line":247,"updated":"2024-12-02 10:42:32.000000000","message":"That is not possible at the moment.\n\nYou can check in a local devstack what happens if you set migratable on an igb VF but I guess it will not work.","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"f8102588bacd2dc25ec12b8d7a3bf4af1da31fc3","unresolved":true,"context_lines":[{"line_number":244,"context_line":""},{"line_number":245,"context_line":"- TBD"},{"line_number":246,"context_line":"- Functional libvirt driver tests"},{"line_number":247,"context_line":"- Integration Tempest tests ?"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"Documentation Impact"},{"line_number":250,"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":1,"id":"3c1e29dc_84a56b27","line":247,"in_reply_to":"32bf8be0_c7d5e8ca","updated":"2024-12-02 14:11:35.000000000","message":"we can provided tests in whitebox\nwe could also add tests in tempest with a compute feature flag.\n\nthe gap is rungin those in ci.\n\ni think it would be good to write the test as part fo this feature but\ndefer runing them in a job due to the current ci restrictions.\n\nas such I don\u0027t know if we should list the tempest test in the spec but I think we should try to develop them in parallel with the nova feature.","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"},{"author":{"_account_id":16207,"name":"ribaudr","display_name":"uggla","email":"rene.ribaud@gmail.com","username":"uggla","status":"Red Hat"},"change_message_id":"e848b53816d6887f5cb8053c391c96bf4afb1026","unresolved":false,"context_lines":[{"line_number":244,"context_line":""},{"line_number":245,"context_line":"- TBD"},{"line_number":246,"context_line":"- Functional libvirt driver tests"},{"line_number":247,"context_line":"- Integration Tempest tests ?"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"Documentation Impact"},{"line_number":250,"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":1,"id":"250bf8d5_d3fd2518","line":247,"in_reply_to":"3c1e29dc_84a56b27","updated":"2024-12-11 17:33:19.000000000","message":"Done","commit_id":"df1dd6b102f5f3c45b29a6b96f7aa731e4613da1"}]}
