)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"01571ce17afb58f76a4cdc5ee9351d380c67964d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"0dde6674_d2eb3a63","updated":"2022-09-02 11:08:13.000000000","message":"the folder shoud use the release name not the number by the way.\nin this case Antelope","commit_id":"909b5c405d9f1c43a7ca0f3156e14e0239379727"},{"author":{"_account_id":35239,"name":"Justas Poderys","email":"jpo@napatech.com","username":"justas_napa"},"change_message_id":"5dcb237ebbd70a4166048d9177281cf382fa91bd","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":6,"id":"5adbb492_bcc9a4c7","in_reply_to":"0dde6674_d2eb3a63","updated":"2022-09-02 12:23:57.000000000","message":"I\u0027m just using the folder that was given by sean-k-mooney","commit_id":"909b5c405d9f1c43a7ca0f3156e14e0239379727"}],"specs/2023.1/approved/improve-nova-multiqueue-adapter-support.rst":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"01571ce17afb58f76a4cdc5ee9351d380c67964d","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Improve Nova support for multiqueue network adapters"},{"line_number":10,"context_line":""},{"line_number":11,"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"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"afc45c21_673919dd","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":52},"updated":"2022-09-02 11:08:13.000000000","message":"add support for multiqueue with hardware offloaded ovs.\n\n^ that seams to be your main usecase.","commit_id":"909b5c405d9f1c43a7ca0f3156e14e0239379727"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"01571ce17afb58f76a4cdc5ee9351d380c67964d","unresolved":true,"context_lines":[{"line_number":20,"context_line":"At the moment, OpenStack has very limited support for multiqueue network"},{"line_number":21,"context_line":"adapters. Current implementation of multiqueue vhost(user) netdev defaults"},{"line_number":22,"context_line":"to the number of queues equal to the number of vCPUs. Such operations model"},{"line_number":23,"context_line":"does not allign well with the hardware-offloaded netdev usage model, where"},{"line_number":24,"context_line":"number of queues available in the underlying hardware is fixed. Ideally,"},{"line_number":25,"context_line":"OpenStack should allow the operator to start a VM with arbitrary number of"},{"line_number":26,"context_line":"vCPUs that is larger (or equal) to the number of queues configured on vNICs."}],"source_content_type":"text/x-rst","patch_set":6,"id":"5dc284ff_aa491039","line":23,"range":{"start_line":23,"start_character":30,"end_line":23,"end_character":48},"updated":"2022-09-02 11:08:13.000000000","message":"multi queue is not officaly supproted with hardware offloads today.","commit_id":"909b5c405d9f1c43a7ca0f3156e14e0239379727"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"01571ce17afb58f76a4cdc5ee9351d380c67964d","unresolved":true,"context_lines":[{"line_number":32,"context_line":"  -netdev type\u003dvhost-user,id\u003dmy-data-net,chardev\u003dchar1,vhostforce,queues\u003d4 \\"},{"line_number":33,"context_line":"  -device virtio-net-pci,netdev\u003dmy-data-net,packed\u003don,mq\u003don,vectors\u003d10 \\"},{"line_number":34,"context_line":"  \u003cOTHER CONFIG ITEMS FOLLOW\u003e"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Notice how the control network adapter is configured with a single queue, while"},{"line_number":37,"context_line":"a datapath adapter has 4 queues (and is allocated 10 interrupt vectors in the"},{"line_number":38,"context_line":"underlying ``virtio-net-pci`` device."}],"source_content_type":"text/x-rst","patch_set":6,"id":"eeb37df1_7b00f3d3","line":35,"updated":"2022-09-02 11:08:13.000000000","message":"not that unles these option are exposed in libvirt we cannot enable them in nova\n\nwe do not mangage qemu directly we use libvirt as an abstraction and the qemu command elements are not allowed to be used in nova.\n\nyou shoudl rewrite this in terms of the libvirt xml snipits.\n\npacked appear to be aviable as of 6.3.0\nquese is aviable for much longer.\nhttps://libvirt.org/formatdomain.html#virtio-related-options\n\nnot that nova does not allow the amount of resouce to vary based on teh host a server lands on and sinc ethe end user wont knwo","commit_id":"909b5c405d9f1c43a7ca0f3156e14e0239379727"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"01571ce17afb58f76a4cdc5ee9351d380c67964d","unresolved":true,"context_lines":[{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Notice how the control network adapter is configured with a single queue, while"},{"line_number":37,"context_line":"a datapath adapter has 4 queues (and is allocated 10 interrupt vectors in the"},{"line_number":38,"context_line":"underlying ``virtio-net-pci`` device."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"While the changes described above instructs the networking subsystem in the VM"},{"line_number":41,"context_line":"to opearate in a multiqueue fashion, special care should be taken when running"}],"source_content_type":"text/x-rst","patch_set":6,"id":"e588d57a_836737d2","line":38,"updated":"2022-09-02 11:08:13.000000000","message":"to acive this level or per port confugraiton would require the policy to be expres on a per port basie to enabel mutliqueu and or packing.\n\nthat will require a new neutron extension. more on this later.","commit_id":"909b5c405d9f1c43a7ca0f3156e14e0239379727"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"01571ce17afb58f76a4cdc5ee9351d380c67964d","unresolved":true,"context_lines":[{"line_number":44,"context_line":"stand-alone network adapters. Each of the VFs exported by the SmartNIC might"},{"line_number":45,"context_line":"have different number of hardware queues configured. Currently, there is no way"},{"line_number":46,"context_line":"to capture this information in OpenStack and use it when creating virtual"},{"line_number":47,"context_line":"adapters."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"In addition to running over multiple queues, performance of a network adapter"},{"line_number":50,"context_line":"can be furher improved by utilizing a packed-ring memory structure defined in"}],"source_content_type":"text/x-rst","patch_set":6,"id":"0e69e6a8_1c8b5479","line":47,"updated":"2022-09-02 11:08:13.000000000","message":"that is something we currently do not want to supprot.\nat this time we do not want to mange VF with differnt configuration per VF\n\nwe discussed this as par to the pci device in placment spec\n\nhttps://specs.openstack.org/openstack/nova-specs/specs/zed/approved/pci-device-tracking-in-placement.html#pci-device-spec-configuration\n\n\"\"\"\nAs detailed in the Modeling PCI devices in Placement section, each physical device (PF) will be its own resource provider with inventories of the relevant PF and VF resource classes. As such traits cannot vary per VF device under the same parent PF. If VFs are individually matched by different device_spec entries, then defining different traits for different VFs under the same PF is a configuration error and will be rejected.\n\nWhile it would possible to support defining different resource_class names for different VFs under the same parent PF, this is considered bad practice and unnecessary complexity. Such configuration will be rejected.\n\"\"\"\n\nwhile we coudl simple support VFs from differnt PFs having differnt numbers fo queus in this model we do not want to have each VF tracked as a sperate resouce provider or pci pool.\n\nits possible we could group vf with the same atributes (number of queues) to minimise the number of RPs that are created.\n\nand then model the number of queues soemhow.\n\notherwise we would have ot split each VF into its own resouce provder which while possible is more complex then we likely need.\n\nwe will have to consider this two specs together carful to make sure this works properly.","commit_id":"909b5c405d9f1c43a7ca0f3156e14e0239379727"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"82fa3e8dc018dae791b7966af2723c5234291b04","unresolved":true,"context_lines":[{"line_number":44,"context_line":"stand-alone network adapters. Each of the VFs exported by the SmartNIC might"},{"line_number":45,"context_line":"have different number of hardware queues configured. Currently, there is no way"},{"line_number":46,"context_line":"to capture this information in OpenStack and use it when creating virtual"},{"line_number":47,"context_line":"adapters."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"In addition to running over multiple queues, performance of a network adapter"},{"line_number":50,"context_line":"can be furher improved by utilizing a packed-ring memory structure defined in"}],"source_content_type":"text/x-rst","patch_set":6,"id":"eb405523_febce80b","line":47,"in_reply_to":"0e69e6a8_1c8b5479","updated":"2022-09-02 11:28:22.000000000","message":"\u003e its possible we could group vf with the same atributes (number of queues) to minimise the number of RPs that are created.\n\u003e \n\u003e and then model the number of queues soemhow.\n\u003e \n\u003e otherwise we would have ot split each VF into its own resouce provder which while possible is more complex then we likely need.\n\u003e \n\u003e we will have to consider this two specs together carful to make sure this works properly.\n\nCurrently nova uses the parent_addr of VFs to structure them. If we need a different (more fine grained) grouping then we need a different key for that grouping. What would be that key?\n\n\u003e Each of the VFs exported by the SmartNIC might have different number of hardware queues configured.\n\n* How common to have different capabilities per VF from the same SmartNIC? \n* Who creates / configures these VFs and when?\n* Is it only the number of queues that can be different or there are other capabilities to consider?\n* Does libvirt exposes these VF capabilities today so that nova can detect them?","commit_id":"909b5c405d9f1c43a7ca0f3156e14e0239379727"},{"author":{"_account_id":35239,"name":"Justas Poderys","email":"jpo@napatech.com","username":"justas_napa"},"change_message_id":"5dcb237ebbd70a4166048d9177281cf382fa91bd","unresolved":true,"context_lines":[{"line_number":44,"context_line":"stand-alone network adapters. Each of the VFs exported by the SmartNIC might"},{"line_number":45,"context_line":"have different number of hardware queues configured. Currently, there is no way"},{"line_number":46,"context_line":"to capture this information in OpenStack and use it when creating virtual"},{"line_number":47,"context_line":"adapters."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"In addition to running over multiple queues, performance of a network adapter"},{"line_number":50,"context_line":"can be furher improved by utilizing a packed-ring memory structure defined in"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ff2e3542_56d5c000","line":47,"in_reply_to":"eb405523_febce80b","updated":"2022-09-02 12:23:57.000000000","message":"\u003e \u003e Each of the VFs exported by the SmartNIC might have different number of hardware queues configured.\n\u003e \n\u003e * How common to have different capabilities per VF from the same SmartNIC?\n\nIt all depends on what the operator requires. When using Napatech SmartNICs, each device comes with X number of queues, that can be divided freely among the max VFs supported. Going multi-queue on some VFs reduces the total number of VFs possible.\n \n\u003e * Who creates / configures these VFs and when?\n\nTypically done at the server boot time by the operator. Dynamic reconfiguration is not possible.\n\n\u003e * Is it only the number of queues that can be different or there are other capabilities to consider?\n\nAs far as I\u0027m aware - yes. Furthermore, VFs with the same number of queues are interchangeable. So we can have statically configured pools called \"1q-VF\", \"2q-VF\", \"4q-VF\" and use that to select VFs.","commit_id":"909b5c405d9f1c43a7ca0f3156e14e0239379727"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d9d132503035b5f4fa8117fe301bab3a23ebc339","unresolved":true,"context_lines":[{"line_number":44,"context_line":"stand-alone network adapters. Each of the VFs exported by the SmartNIC might"},{"line_number":45,"context_line":"have different number of hardware queues configured. Currently, there is no way"},{"line_number":46,"context_line":"to capture this information in OpenStack and use it when creating virtual"},{"line_number":47,"context_line":"adapters."},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"In addition to running over multiple queues, performance of a network adapter"},{"line_number":50,"context_line":"can be furher improved by utilizing a packed-ring memory structure defined in"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ac6960eb_592a1033","line":47,"in_reply_to":"ff2e3542_56d5c000","updated":"2022-11-15 09:43:03.000000000","message":"Thanks for the answers. This all points to the direction of the need to model VFs (or at least pools of VFs) from the same PF individually. To be able to do that the following prerequisite steps are needed:\n1) come up with a placement model that supports this as part of PCI in Placement[1] work. I suggest to look try to model this first as one pool of VFs per placement ResourceProvider. Feel free to describe the modeling proposal of this in the current spec for now. We can discuss it here and I will make sure it is aligned in the work in [1].\n2) finish the work described in [1]. We have patches[3], we just need to land them. So this is probably happen in Antelope independently of this multiqueue discussion.\n3) solve the too many placement allocation_candidate issue [2] as the VF pooling will further increase the number of possible candidates. This is something that can be worked on right now. I don\u0027t have the time to push this in Antelope. But we have ideas how to solve it described in [5] (starting around L290).\n4) Propose the next spec for the neutron port base SRIOV in placement. We have some ideas how that will look like described in [4] but we need a full spec for that and probably a cycle (B?, C?) to implement it.\n\nI know that this is a lot of prereqs. But I would like to see a placement based solution to this instead of bolting on this feature to the current nova PCI tracker only.\n\n[1] https://specs.openstack.org/openstack/nova-specs/specs/2023.1/approved/pci-device-tracking-in-placement.html\n[2] https://review.opendev.org/c/openstack/nova/+/855885\n[3] https://review.opendev.org/q/topic:bp%252Fpci-device-tracking-in-placement\n[4] https://specs.openstack.org/openstack/nova-specs/specs/2023.1/approved/pci-device-tracking-in-placement.html#neutron-sr-iov-ports-out-of-scope\n[5] https://etherpad.opendev.org/p/nova-antelope-ptg","commit_id":"909b5c405d9f1c43a7ca0f3156e14e0239379727"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"01571ce17afb58f76a4cdc5ee9351d380c67964d","unresolved":true,"context_lines":[{"line_number":49,"context_line":"In addition to running over multiple queues, performance of a network adapter"},{"line_number":50,"context_line":"can be furher improved by utilizing a packed-ring memory structure defined in"},{"line_number":51,"context_line":"the VirtIO1.1 standard. Currently, there is no programatic way to request that"},{"line_number":52,"context_line":"a packed-ring is used by the VM network driver."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Use Cases"},{"line_number":55,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"7892651b_51aa2b95","line":52,"updated":"2022-09-02 11:08:13.000000000","message":"can we discover if packed virtio queue are supproted from the host pf today?\nis that reproted in libvirt currently or ethtool?\n\nif not we would need to mark the interface in the device_spec as supprot packed queues.","commit_id":"909b5c405d9f1c43a7ca0f3156e14e0239379727"},{"author":{"_account_id":35239,"name":"Justas Poderys","email":"jpo@napatech.com","username":"justas_napa"},"change_message_id":"5dcb237ebbd70a4166048d9177281cf382fa91bd","unresolved":true,"context_lines":[{"line_number":49,"context_line":"In addition to running over multiple queues, performance of a network adapter"},{"line_number":50,"context_line":"can be furher improved by utilizing a packed-ring memory structure defined in"},{"line_number":51,"context_line":"the VirtIO1.1 standard. Currently, there is no programatic way to request that"},{"line_number":52,"context_line":"a packed-ring is used by the VM network driver."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Use Cases"},{"line_number":55,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"a181bab3_054b2ec9","line":52,"in_reply_to":"7892651b_51aa2b95","updated":"2022-09-02 12:23:57.000000000","message":"Libvirt has a datamodel support for the \"packed\" option, but I\u0027m not aware of a way to discover support from the PF.","commit_id":"909b5c405d9f1c43a7ca0f3156e14e0239379727"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"01571ce17afb58f76a4cdc5ee9351d380c67964d","unresolved":true,"context_lines":[{"line_number":75,"context_line":"applicable only when ``hw_vif_multiqueue_enabled\u003d\"true\"``."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"* We propose to extend Libvirt driver with the following options:"},{"line_number":78,"context_line":"  ``driver_vectors``, ``driver_packed``, and ``driver_mq``."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"* We propose to add ``queues`` option to the ``passthrough_whitelist``"},{"line_number":81,"context_line":"  configuration dict. It indicates the number of hardware queues supported by"}],"source_content_type":"text/x-rst","patch_set":6,"id":"aed1c251_891834ae","line":78,"updated":"2022-09-02 11:08:13.000000000","message":"no driver_vectors and driver_mq were intetionally not exposed when we implemeted this orginally.\n\nhttps://specs.openstack.org/openstack/nova-specs/specs/liberty/implemented/libvirt-virtiomq.html\n\nthis is still too low level to expose in our api and not somethign we shoudl do via a host level config option.\n\nnova can caluate and set those values parhaps based on some uer input but thos are not options that shoudl be exposed directly.","commit_id":"909b5c405d9f1c43a7ca0f3156e14e0239379727"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"82fa3e8dc018dae791b7966af2723c5234291b04","unresolved":true,"context_lines":[{"line_number":75,"context_line":"applicable only when ``hw_vif_multiqueue_enabled\u003d\"true\"``."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"* We propose to extend Libvirt driver with the following options:"},{"line_number":78,"context_line":"  ``driver_vectors``, ``driver_packed``, and ``driver_mq``."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"* We propose to add ``queues`` option to the ``passthrough_whitelist``"},{"line_number":81,"context_line":"  configuration dict. It indicates the number of hardware queues supported by"}],"source_content_type":"text/x-rst","patch_set":6,"id":"282cd6d1_26017547","line":78,"in_reply_to":"aed1c251_891834ae","updated":"2022-09-02 11:28:22.000000000","message":"I agree. We need to create abstractions.","commit_id":"909b5c405d9f1c43a7ca0f3156e14e0239379727"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"01571ce17afb58f76a4cdc5ee9351d380c67964d","unresolved":true,"context_lines":[{"line_number":77,"context_line":"* We propose to extend Libvirt driver with the following options:"},{"line_number":78,"context_line":"  ``driver_vectors``, ``driver_packed``, and ``driver_mq``."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"* We propose to add ``queues`` option to the ``passthrough_whitelist``"},{"line_number":81,"context_line":"  configuration dict. It indicates the number of hardware queues supported by"},{"line_number":82,"context_line":"  the underlying hardware."},{"line_number":83,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"05de0f07_4d789b61","line":80,"range":{"start_line":80,"start_character":47,"end_line":80,"end_character":68},"updated":"2022-09-02 11:08:13.000000000","message":"this is not renamed to device_spec","commit_id":"909b5c405d9f1c43a7ca0f3156e14e0239379727"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"01571ce17afb58f76a4cdc5ee9351d380c67964d","unresolved":true,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"* We propose to add ``queues`` option to the ``passthrough_whitelist``"},{"line_number":81,"context_line":"  configuration dict. It indicates the number of hardware queues supported by"},{"line_number":82,"context_line":"  the underlying hardware."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"* We propose to add an additional Port binding-profile configuration option"},{"line_number":85,"context_line":"  alled ``queues``. I.e."}],"source_content_type":"text/x-rst","patch_set":6,"id":"20fdeb99_abe263bb","line":82,"updated":"2022-09-02 11:08:13.000000000","message":"this is really something i think we shoudl be able to discover via libvirt or sysfs.\n\nit might be ok to model this as a tag on the device spec as a fallback but if we were to take this approch i would prefer to discover this automatically and recored it in the exta_info column with the other device capablitys and vpd info.","commit_id":"909b5c405d9f1c43a7ca0f3156e14e0239379727"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"82fa3e8dc018dae791b7966af2723c5234291b04","unresolved":true,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"* We propose to add ``queues`` option to the ``passthrough_whitelist``"},{"line_number":81,"context_line":"  configuration dict. It indicates the number of hardware queues supported by"},{"line_number":82,"context_line":"  the underlying hardware."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"* We propose to add an additional Port binding-profile configuration option"},{"line_number":85,"context_line":"  alled ``queues``. I.e."}],"source_content_type":"text/x-rst","patch_set":6,"id":"38643268_20ccb6cb","line":82,"in_reply_to":"20fdeb99_abe263bb","updated":"2022-09-02 11:28:22.000000000","message":"I\u0027m also would like to see this coming from libvirt as this is a capability of the device.","commit_id":"909b5c405d9f1c43a7ca0f3156e14e0239379727"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"01571ce17afb58f76a4cdc5ee9351d380c67964d","unresolved":true,"context_lines":[{"line_number":83,"context_line":""},{"line_number":84,"context_line":"* We propose to add an additional Port binding-profile configuration option"},{"line_number":85,"context_line":"  alled ``queues``. I.e."},{"line_number":86,"context_line":"  ``openstack port set \u003cPortName\u003e --binding-profile queues\u003d4``. This value is"},{"line_number":87,"context_line":"  used by the Libvirt driver to indicate the number of queues required, rather"},{"line_number":88,"context_line":"  than using number of vCPUs as a selection metric. This is also used by PCI"},{"line_number":89,"context_line":"  device filters to select appropriate PCI device when running in hardware"}],"source_content_type":"text/x-rst","patch_set":6,"id":"05ab5526_a1f685a6","line":86,"range":{"start_line":86,"start_character":34,"end_line":86,"end_character":61},"updated":"2022-09-02 11:08:13.000000000","message":"the binding profile is admin only and it inappropate to pas this type of configuration via it.\n\nyou woudl need a new neutron extention.\n\nyou shoudl not model your propsoable aroudn how trusted vf or hard ware offloaded ovs works today.","commit_id":"909b5c405d9f1c43a7ca0f3156e14e0239379727"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"4c09f240ea635ec30c6529c8803ad32c677f494b","unresolved":true,"context_lines":[{"line_number":83,"context_line":""},{"line_number":84,"context_line":"* We propose to add an additional Port binding-profile configuration option"},{"line_number":85,"context_line":"  alled ``queues``. I.e."},{"line_number":86,"context_line":"  ``openstack port set \u003cPortName\u003e --binding-profile queues\u003d4``. This value is"},{"line_number":87,"context_line":"  used by the Libvirt driver to indicate the number of queues required, rather"},{"line_number":88,"context_line":"  than using number of vCPUs as a selection metric. This is also used by PCI"},{"line_number":89,"context_line":"  device filters to select appropriate PCI device when running in hardware"}],"source_content_type":"text/x-rst","patch_set":6,"id":"38b4361c_39e11e57","line":86,"range":{"start_line":86,"start_character":34,"end_line":86,"end_character":61},"in_reply_to":"05ab5526_a1f685a6","updated":"2022-09-02 11:11:26.000000000","message":"by the way im -2 on this part specifically but left a -1 over all.","commit_id":"909b5c405d9f1c43a7ca0f3156e14e0239379727"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"82fa3e8dc018dae791b7966af2723c5234291b04","unresolved":true,"context_lines":[{"line_number":84,"context_line":"* We propose to add an additional Port binding-profile configuration option"},{"line_number":85,"context_line":"  alled ``queues``. I.e."},{"line_number":86,"context_line":"  ``openstack port set \u003cPortName\u003e --binding-profile queues\u003d4``. This value is"},{"line_number":87,"context_line":"  used by the Libvirt driver to indicate the number of queues required, rather"},{"line_number":88,"context_line":"  than using number of vCPUs as a selection metric. This is also used by PCI"},{"line_number":89,"context_line":"  device filters to select appropriate PCI device when running in hardware"},{"line_number":90,"context_line":"  offloaded mode."}],"source_content_type":"text/x-rst","patch_set":6,"id":"f72e5a5b_4cd227b1","line":87,"range":{"start_line":87,"start_character":32,"end_line":87,"end_character":71},"updated":"2022-09-02 11:28:22.000000000","message":"If a neutron port would like to require resources then I think we should consider communicating that via the port.resource_request to nova to avoid creating N+1 different code path to translate a neutron port to scheduling request.","commit_id":"909b5c405d9f1c43a7ca0f3156e14e0239379727"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"8f81cfd5dc9db2e208e058f5c60eb95af25dcd1b","unresolved":true,"context_lines":[{"line_number":84,"context_line":"* We propose to add an additional Port binding-profile configuration option"},{"line_number":85,"context_line":"  alled ``queues``. I.e."},{"line_number":86,"context_line":"  ``openstack port set \u003cPortName\u003e --binding-profile queues\u003d4``. This value is"},{"line_number":87,"context_line":"  used by the Libvirt driver to indicate the number of queues required, rather"},{"line_number":88,"context_line":"  than using number of vCPUs as a selection metric. This is also used by PCI"},{"line_number":89,"context_line":"  device filters to select appropriate PCI device when running in hardware"},{"line_number":90,"context_line":"  offloaded mode."}],"source_content_type":"text/x-rst","patch_set":6,"id":"cde84e11_d15c0ae4","line":87,"range":{"start_line":87,"start_character":32,"end_line":87,"end_character":71},"in_reply_to":"f72e5a5b_4cd227b1","updated":"2022-09-02 11:50:27.000000000","message":"+1 \ni was debating is we woudl want to model queues as a consumable resouces.\n\n\nif we had a placment RP per VF we coudl also have and inventory or queues\non that vf RP\n\nwe could use the vf PCI addres as the rp name.\n\nbut im not sure we want to do that.\n\nthat would be the most flexible approach but we will have a lot more RPs then we have today and that could least to a explosion of allocation candidate permutations.\n\n\nwhich si why i woudl be nervous fo takign that approch.","commit_id":"909b5c405d9f1c43a7ca0f3156e14e0239379727"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"01571ce17afb58f76a4cdc5ee9351d380c67964d","unresolved":true,"context_lines":[{"line_number":90,"context_line":"  offloaded mode."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"* We propose to add filters to select a correct pool of PCIe devices (based on"},{"line_number":93,"context_line":"  the number of quueues configured) when performing live migration."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"* We propose to add a new ``image`` boolean property called ``driver_packed``."},{"line_number":96,"context_line":"  The value of this property is used by the Libvirt driver to set the"}],"source_content_type":"text/x-rst","patch_set":6,"id":"a170f2c9_4fe3e437","line":93,"updated":"2022-09-02 11:08:13.000000000","message":"this would just be an extention to the the exsiting pci fileter or more specificaly the share pci code that is used  by both the pci and numa toplogy filters.\n\nso this would not be a new filter.\n\nwe woudl also need to consider how to expose this to placment for schduling.\nadn if we do this in placement or in nova or a mix of both.","commit_id":"909b5c405d9f1c43a7ca0f3156e14e0239379727"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"01571ce17afb58f76a4cdc5ee9351d380c67964d","unresolved":true,"context_lines":[{"line_number":92,"context_line":"* We propose to add filters to select a correct pool of PCIe devices (based on"},{"line_number":93,"context_line":"  the number of quueues configured) when performing live migration."},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"* We propose to add a new ``image`` boolean property called ``driver_packed``."},{"line_number":96,"context_line":"  The value of this property is used by the Libvirt driver to set the"},{"line_number":97,"context_line":"  ``packed`` option on the pertinent Qemu device."},{"line_number":98,"context_line":""},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":6,"id":"78aecb26_144442f0","line":97,"range":{"start_line":95,"start_character":0,"end_line":97,"end_character":49},"updated":"2022-09-02 11:08:13.000000000","message":"-1 we shoudl not primalrly do this via the image. in fact we likely shoudl not enable multi queu via the falvor/image as  we do today but that beside the point.\n\nif we proceed with thsi we shoudl add a new extension to neutron that allwos you to enable multiqueue and packed per port.\n\n\nthat will enable use to request this as a user and open the operturing to translat this into traits request for scheduling.\n\nif we have the livbirt driver report compute capablity traits for multi queue supprot ad or packed rings we can use the request on the port to schedule to hsot with that capablity without requiring all operators to update all there flavors and images.\n\nsriov ports already requires the port to be created in neutron anyway.\nthis exetntion could also allow for the numbner of queuse to be sepcifced.","commit_id":"909b5c405d9f1c43a7ca0f3156e14e0239379727"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"01571ce17afb58f76a4cdc5ee9351d380c67964d","unresolved":true,"context_lines":[{"line_number":100,"context_line":"Alternatives"},{"line_number":101,"context_line":"------------"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"This proposal only exposes configuration option already available in Qemu-KVM."},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Data model impact"},{"line_number":106,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"09b0185e_cae82237","line":103,"updated":"2022-09-02 11:08:13.000000000","message":"that not really an alternitive.","commit_id":"909b5c405d9f1c43a7ca0f3156e14e0239379727"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"01571ce17afb58f76a4cdc5ee9351d380c67964d","unresolved":true,"context_lines":[{"line_number":158,"context_line":"Assignee(s)"},{"line_number":159,"context_line":"-----------"},{"line_number":160,"context_line":""},{"line_number":161,"context_line":"The initial proposal\u0027s source code will be pushed to OpenDev."},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"Feature Liaison"},{"line_number":164,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"74d02405_f9e9724c","line":161,"updated":"2022-09-02 11:08:13.000000000","message":"generaly the implemation shoudl not be started until afer the design is at least mostly agreed.\n\nit can help to do early pocs of a feature but in this case i expect much of what you have start to be altered significantly.","commit_id":"909b5c405d9f1c43a7ca0f3156e14e0239379727"}]}
