)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"6811cc6556bf3b8ba208f0bb632aa5ac8a01df40","unresolved":false,"context_lines":[{"line_number":7,"context_line":"libvirt: add support for virtio-net rx/tx queue sizes"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add support for configuring the `rx_queue_size` and `tx_queue_size`"},{"line_number":10,"context_line":"options in the virtio-net driver by way of flavor extra specs."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Implements: bp libvirt-virtio-set-queue-sizes"},{"line_number":13,"context_line":"Change-Id: Ib74797fb22f3ec39b3efadf38633ef3e772e7f2a"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"df7087c5_63807bc1","line":10,"updated":"2018-03-13 15:53:53.000000000","message":"I should change that... it\u0027s by the way of nova.conf","commit_id":"58e2b41aed99612cbf7ef4b11e0ddf6abb0a9fce"}],"specs/rocky/approved/libvirt-virtio-set-queue-sizes.rst":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e3d6a4580c77ecd07469b0984752cb2dee14cd29","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/libvirt-virtio-set-queue-sizes"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"With the current multi-queue virtio-net approach, network performance"},{"line_number":14,"context_line":"scales as the number of CPUs increase.  Large efforts are continuing"},{"line_number":15,"context_line":"to increase the performance of network (typically DPDK applications)"},{"line_number":16,"context_line":"in order to take advantage of the full capacity of each individual"},{"line_number":17,"context_line":"vCPU."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Problem description"},{"line_number":20,"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":1,"id":"5f93b717_e8f0cc93","line":17,"range":{"start_line":13,"start_character":0,"end_line":17,"end_character":5},"updated":"2018-01-31 17:44:32.000000000","message":"Right...","commit_id":"55a5a4295de28d329da29b042b5543058c129d1a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e3d6a4580c77ecd07469b0984752cb2dee14cd29","unresolved":false,"context_lines":[{"line_number":30,"context_line":"Use Cases"},{"line_number":31,"context_line":"---------"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Larger queues sizes permit to amortize the vCPU preemption and avoid"},{"line_number":34,"context_line":"packet drops, which is one of the main NFV requirement: zero packet"},{"line_number":35,"context_line":"drop. With today\u0027s NFV VMs, 1k queues permit to achieve high"},{"line_number":36,"context_line":"performance without any packet drop, so being able to increase the"},{"line_number":37,"context_line":"default queue size to 1k will solves today\u0027s issues. Making it"},{"line_number":38,"context_line":"configurable, per operator choice, will also help to address future"},{"line_number":39,"context_line":"NFV use cases (we are now shifting from 10Gbps NICs to 25Gbps NICs)."},{"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":1,"id":"5f93b717_08ee58b3","line":39,"range":{"start_line":33,"start_character":0,"end_line":39,"end_character":68},"updated":"2018-01-31 17:44:32.000000000","message":"Right...","commit_id":"55a5a4295de28d329da29b042b5543058c129d1a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"e3d6a4580c77ecd07469b0984752cb2dee14cd29","unresolved":false,"context_lines":[{"line_number":45,"context_line":"configure RX queue size. In QEMU 2.10.0 and libvirt 3.7.0 a new"},{"line_number":46,"context_line":"tunable has been introduced to update TX queue size of virtio NICs."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"The proposed change is to add new flavor properties which would allow"},{"line_number":49,"context_line":"operators to configure flavors dedicated for high network performance."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* \u0027hw:tx_queue_size\u0027"},{"line_number":52,"context_line":"* \u0027hw:rx_queue_size\u0027"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"The current implementation allows the size to be between 256 and 1024,"},{"line_number":55,"context_line":"and that number should be a power of two."}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f93b717_2840f4a4","line":52,"range":{"start_line":48,"start_character":0,"end_line":52,"end_character":20},"updated":"2018-01-31 17:44:32.000000000","message":"Why? :) This sounds very much like something that can/should be a globally configurable option. Come to think of it, does this even have to live in nova? Don\u0027t QEMU and libvirt have their own configuration files?","commit_id":"55a5a4295de28d329da29b042b5543058c129d1a"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"944e0fd0ddd6d03d21faac41d54535c47dcafa30","unresolved":false,"context_lines":[{"line_number":45,"context_line":"configure RX queue size. In QEMU 2.10.0 and libvirt 3.7.0 a new"},{"line_number":46,"context_line":"tunable has been introduced to update TX queue size of virtio NICs."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"The proposed change is to add new flavor properties which would allow"},{"line_number":49,"context_line":"operators to configure flavors dedicated for high network performance."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* \u0027hw:tx_queue_size\u0027"},{"line_number":52,"context_line":"* \u0027hw:rx_queue_size\u0027"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"The current implementation allows the size to be between 256 and 1024,"},{"line_number":55,"context_line":"and that number should be a power of two."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa0c359_020cd1a2","line":52,"range":{"start_line":48,"start_character":0,"end_line":52,"end_character":20},"in_reply_to":"3fa0c359_0c7c0a81","updated":"2018-02-13 13:38:29.000000000","message":"\u003e \u003e As, adding this option in the binding profile does not make\n \u003e sense.\n \u003e \u003e the queue size is not a network configuration like MTU... it\u0027s\n \u003e \u003e related to the general virtio framework. each device built using\n \u003e \u003e this framework is using queue (virtqueue). For example At some\n \u003e \u003e point in future we could have the same ask for the queues used\n \u003e for\n \u003e \u003e virtio-scsi devices (just a example).\n \u003e \n \u003e Spot on. Thanks for the explanation.\n\nDoes it make sense to configure this per vnic? Libvirt made it configurable per vnic so I guess yes. What is the entity in OpenStack that models a vnic? I think it is the neutron port. \nDo I have a specific use case that needs configurability per vnic? No, I don\u0027t have right now for RX, TX queue size. (I might have one for the number of queues but that is a different feature).\n\n \u003e \n \u003e \u003e Also, we don\u0027t want to have these options configured by users\n \u003e since\n \u003e \u003e to set these values you need to know the hardware where we don\u0027t\n \u003e \u003e want to share that to users.\n \u003e \n \u003e That\u0027s fair info.\n\nDon\u0027t we have RBAC in neutron to allow separating who can do what? It might mean that this cannot be in a binding profile (I don\u0027t know) but I think this config can be connected to a port in neutron without making it configurable for the end user.\n\n \u003e \n \u003e \u003e I hope that adding to what i already responded a \"clear\" view of\n \u003e \u003e the reasons I choose to propose the spec in that way.\n \u003e \n \u003e It\u0027s clear now because you provided this additional information.\n \u003e Thanks for doing so.\n \u003e \n \u003e \u003e You made previously the same mistake by constantly asking to make\n \u003e \u003e this option in libvirt conf where the patch has been reverted\n \u003e that\n \u003e \u003e because is not the direction. Using nova.conf is the same kind of\n \u003e \u003e mistake in my POV. nova.conf is not intended to be used to\n \u003e override\n \u003e \u003e arbitrary default XML elements of guests. It\u0027s about to configure\n \u003e \u003e the hypervisor.\n \u003e \n \u003e There\u0027s a whole file that says otherwise.\n \u003e \n \u003e https://github.com/openstack/nova/blob/a5a569d66/nova/conf/libvirt.py#L506\n \u003e \n \u003e As for libvirt, I didn\u0027t make that change but I did encourage it\n \u003e due the libvirt-specific nature of the change. It was reverted\n \u003e reverted because the libvirt folks insist that this is the work of\n \u003e the management application. That is fair. nova is the management\n \u003e application.\n\nI think we agree that we need the functionality to set a bigger than 256 queue size for the virtio nics. Also we know that nova _hates_ flavor extra_specs for certain reasons. I can also accept that making it a nova.conf option looks strange and half baked for some developers. \nBUT can we add at least these two options to the spec as possible alternatives and then ask the nova team to give feedback about which alternative they like more? \n\nI\u0027m pretty happy to accept a compromise in any direction if it means that I can _somehow_ set the queue size of the virtio vnic.","commit_id":"55a5a4295de28d329da29b042b5543058c129d1a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"844fe8478d3b65500035200e258ee60988a60a11","unresolved":false,"context_lines":[{"line_number":45,"context_line":"configure RX queue size. In QEMU 2.10.0 and libvirt 3.7.0 a new"},{"line_number":46,"context_line":"tunable has been introduced to update TX queue size of virtio NICs."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"The proposed change is to add new flavor properties which would allow"},{"line_number":49,"context_line":"operators to configure flavors dedicated for high network performance."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* \u0027hw:tx_queue_size\u0027"},{"line_number":52,"context_line":"* \u0027hw:rx_queue_size\u0027"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"The current implementation allows the size to be between 256 and 1024,"},{"line_number":55,"context_line":"and that number should be a power of two."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa0c359_0c7c0a81","line":52,"range":{"start_line":48,"start_character":0,"end_line":52,"end_character":20},"in_reply_to":"3fa0c359_515dc912","updated":"2018-02-13 11:49:49.000000000","message":"\u003e As, adding this option in the binding profile does not make sense.\n \u003e the queue size is not a network configuration like MTU... it\u0027s\n \u003e related to the general virtio framework. each device built using\n \u003e this framework is using queue (virtqueue). For example At some\n \u003e point in future we could have the same ask for the queues used for\n \u003e virtio-scsi devices (just a example).\n\nSpot on. Thanks for the explanation.\n\n \u003e Also, we don\u0027t want to have these options configured by users since\n \u003e to set these values you need to know the hardware where we don\u0027t\n \u003e want to share that to users.\n\nThat\u0027s fair info.\n\n \u003e I hope that adding to what i already responded a \"clear\" view of\n \u003e the reasons I choose to propose the spec in that way.\n\nIt\u0027s clear now because you provided this additional information. Thanks for doing so.\n\n \u003e You made previously the same mistake by constantly asking to make\n \u003e this option in libvirt conf where the patch has been reverted that\n \u003e because is not the direction. Using nova.conf is the same kind of\n \u003e mistake in my POV. nova.conf is not intended to be used to override\n \u003e arbitrary default XML elements of guests. It\u0027s about to configure\n \u003e the hypervisor.\n\nThere\u0027s a whole file that says otherwise.\n\n  https://github.com/openstack/nova/blob/a5a569d66/nova/conf/libvirt.py#L506\n\nAs for libvirt, I didn\u0027t make that change but I did encourage it due the libvirt-specific nature of the change. It was reverted reverted because the libvirt folks insist that this is the work of the management application. That is fair. nova is the management application.","commit_id":"55a5a4295de28d329da29b042b5543058c129d1a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6f378f26c1cd37730003fc5c664950761f6e31b7","unresolved":false,"context_lines":[{"line_number":45,"context_line":"configure RX queue size. In QEMU 2.10.0 and libvirt 3.7.0 a new"},{"line_number":46,"context_line":"tunable has been introduced to update TX queue size of virtio NICs."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"The proposed change is to add new flavor properties which would allow"},{"line_number":49,"context_line":"operators to configure flavors dedicated for high network performance."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* \u0027hw:tx_queue_size\u0027"},{"line_number":52,"context_line":"* \u0027hw:rx_queue_size\u0027"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"The current implementation allows the size to be between 256 and 1024,"},{"line_number":55,"context_line":"and that number should be a power of two."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa0c359_60283596","line":52,"range":{"start_line":48,"start_character":0,"end_line":52,"end_character":20},"in_reply_to":"3fa0c359_58aae518","updated":"2018-02-13 09:45:42.000000000","message":"\u003e \u003e Right. The solution proposed here doesn\u0027t address this issue,\n \u003e \u003e however, as the option will still be a global, albeit at the\n \u003e \u003e instance-level. Does this suggest we want this attribute to be part\n \u003e \u003e of, for example, the binding profile.\n \u003e \n \u003e The solution proposed perfectly addresse the use-case mentioned.\n\nIt (maybe) doesn\u0027t solve gibi\u0027s use case, so it\u0027s worth examining this. It\u0027s not clear that using different queue sizes for different ports is necessary, but it\u0027s worth exploring which is why I brought up the idea. This is what specs are for - high-level design dicussions.\n\n \u003e \u003e Speaking of this too, I\u0027m loathe to add solutions for problems\n \u003e \u003e that don\u0027t yet exist. Is there a reason the O\u0026M interface\n \u003e \u003e _couldn\u0027t_ use the larger queue size? If so, we should take that\n \u003e \u003e into account for the solution.\n \u003e \n \u003e Thanks for this proposition  but It does not look right to have\n \u003e such configurations in the binding profile.\n \u003e \n \u003e - We are going to tweak the virtual layer, it\u0027s not about network\n \u003e characteristics\n\nIs it not possible to configure different queue sizes for different interfaces? If so, doesn\u0027t that make this part of the \"network configuration\" of sorts, a la MTU or trusted VF configuration?\n\n \u003e - Using vif binding does not permit operators to restrict usage of\n \u003e this feature to certain flavors or tenants.\n\nIs that an issue?\n\n \u003e - As indicated previously, Nova already handles per-host tunables\n \u003e and join to the host aggregates it helps to isolate group of hosts\n \u003e based on flavor specificity.\n\nYup, we wouldn\u0027t be able to achieve this with binding profiles (though I don\u0027t yet understand if we should, as above). It is possible with a host-level attribute though, as we would only configure the host-level attribute on hosts that exist within a given host aggregate.\n\nUltimately, I\u0027m trying to tease out how verbose we want to be. From the sounds of it, there\u0027s not really much reason to make this an instance-level attribute given that, in a real-world deployment, every instance will be setting the same thing. This would suggest a host-level attribute is the way to go. The only reason we might not want a host-level attribute is if we wanted per-port configurability but, per gibi\u0027s notes below, this seems like it\u0027s not necessary and it would have to live somewhere like port binding anyway.\n\nIs there any reason _not_ to expose this as a simple nova.conf configuration option and avoid adding new flavor extra specs and contributing to the ongoing flavor explosion?","commit_id":"55a5a4295de28d329da29b042b5543058c129d1a"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"b56936c899039321a90affdd8b68febacd88f7c7","unresolved":false,"context_lines":[{"line_number":45,"context_line":"configure RX queue size. In QEMU 2.10.0 and libvirt 3.7.0 a new"},{"line_number":46,"context_line":"tunable has been introduced to update TX queue size of virtio NICs."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"The proposed change is to add new flavor properties which would allow"},{"line_number":49,"context_line":"operators to configure flavors dedicated for high network performance."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* \u0027hw:tx_queue_size\u0027"},{"line_number":52,"context_line":"* \u0027hw:rx_queue_size\u0027"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"The current implementation allows the size to be between 256 and 1024,"},{"line_number":55,"context_line":"and that number should be a power of two."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa0c359_515dc912","line":52,"range":{"start_line":48,"start_character":0,"end_line":52,"end_character":20},"in_reply_to":"3fa0c359_60283596","updated":"2018-02-13 11:03:28.000000000","message":"You made previously the same mistake by constantly asking to make this option in libvirt conf where the patch has been reverted that because is not the direction. Using nova.conf is the same kind of mistake in my POV. nova.conf is not intended to be used to override arbitrary default XML elements of guests. It\u0027s about to configure the hypervisor.\n\nAs, adding this option in the binding profile does not make sense. the queue size is not a network configuration like MTU... it\u0027s related to the general virtio framework. each device built using this framework is using queue (virtqueue). For example At some point in future we could have the same ask for the queues used for virtio-scsi devices (just a example).\n\nAlso, we don\u0027t want to have these options configured by users since to set these values you need to know the hardware where we don\u0027t want to share that to users.\n\nI hope that adding to what i already responded a \"clear\" view of the reasons I choose to propose the spec in that way.","commit_id":"55a5a4295de28d329da29b042b5543058c129d1a"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"10fcc428bc24d14b1214642223baed3b42d610b3","unresolved":false,"context_lines":[{"line_number":45,"context_line":"configure RX queue size. In QEMU 2.10.0 and libvirt 3.7.0 a new"},{"line_number":46,"context_line":"tunable has been introduced to update TX queue size of virtio NICs."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"The proposed change is to add new flavor properties which would allow"},{"line_number":49,"context_line":"operators to configure flavors dedicated for high network performance."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* \u0027hw:tx_queue_size\u0027"},{"line_number":52,"context_line":"* \u0027hw:rx_queue_size\u0027"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"The current implementation allows the size to be between 256 and 1024,"},{"line_number":55,"context_line":"and that number should be a power of two."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa0c359_d8cfd526","line":52,"range":{"start_line":48,"start_character":0,"end_line":52,"end_character":20},"in_reply_to":"3fa0c359_ae7f2ade","updated":"2018-02-12 16:41:17.000000000","message":"\u003e \u003e Just for the other readers the libvirt host level configuration\n \u003e \u003e Stephen and Sahid mentioning is added pretty recently:\n \u003e \u003e https://github.com/libvirt/libvirt/blob/42fd5a58adb039a8ee4bcd64b98b0f7beb36ae7d/src/qemu/qemu.conf#L779\n \u003e \n \u003e As noted in the code review for this spec [1], this is actually\n \u003e going to be reverted. Turns out this is going to be our concern\n \u003e after all.\n\n\nThanks for the info. Things changing faster than I can follow them. \n\n\n \u003e \u003e One future direction I can describe is the following:\n \u003e \u003e The packet processing application uses different vnics for\n \u003e \u003e traffic\n \u003e \u003e handling and for O\u0026M (e.g. ssh access). In this case the\n \u003e \u003e application only need increased queue size on certain vnics. This\n \u003e \u003e can be set up with the current libvirt support however in this\n \u003e \u003e case\n \u003e \u003e having a host level config hardly helps.\n \u003e \n \u003e Right. The solution proposed here doesn\u0027t address this issue,\n \u003e however, as the option will still be a global, albeit at the\n \u003e instance-level. Does this suggest we want this attribute to be part\n \u003e of, for example, the binding profile.\n\nThat would make the whole thing even more generic and therefore future proof. It would also allow us to talk about making the number of queues configurable also on the vnic level. (We have such requirement internally. And in that case there are also other, non-nova impacting possibilities, like auto-negotiation between the quest and the OVS).\n\n \u003e \n \u003e Speaking of this too, I\u0027m loathe to add solutions for problems that\n \u003e don\u0027t yet exist. Is there a reason the O\u0026M interface _couldn\u0027t_ use\n \u003e the larger queue size? If so, we should take that into account for\n \u003e the solution.\n\nI think the O\u0026M interface could use the large queue size without problem and it is not a big waste of memory either.\n\n \u003e \n \u003e [1] https://review.openstack.org/#/c/484997/10","commit_id":"55a5a4295de28d329da29b042b5543058c129d1a"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"949dcd271c504f65dee6f321be21c45c08b0d9bd","unresolved":false,"context_lines":[{"line_number":45,"context_line":"configure RX queue size. In QEMU 2.10.0 and libvirt 3.7.0 a new"},{"line_number":46,"context_line":"tunable has been introduced to update TX queue size of virtio NICs."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"The proposed change is to add new flavor properties which would allow"},{"line_number":49,"context_line":"operators to configure flavors dedicated for high network performance."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* \u0027hw:tx_queue_size\u0027"},{"line_number":52,"context_line":"* \u0027hw:rx_queue_size\u0027"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"The current implementation allows the size to be between 256 and 1024,"},{"line_number":55,"context_line":"and that number should be a power of two."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa0c359_58aae518","line":52,"range":{"start_line":48,"start_character":0,"end_line":52,"end_character":20},"in_reply_to":"3fa0c359_ae7f2ade","updated":"2018-02-12 16:25:11.000000000","message":"\u003e Right. The solution proposed here doesn\u0027t address this issue, however, as the option will still be a global, albeit at the instance-level. Does this suggest we want this attribute to be part of, for example, the binding profile.\n\nThe solution proposed perfectly addresse the use-case mentioned.\n\n\u003e Speaking of this too, I\u0027m loathe to add solutions for problems that don\u0027t yet exist. Is there a reason the O\u0026M interface _couldn\u0027t_ use the larger queue size? If so, we should take that into account for the solution.\n\nThanks for this proposition  but It does not look right to have such configurations in the binding profile.\n\n- We are going to tweak the virtual layer, it\u0027s not about network characteristics \n- Using vif binding does not permit operators to restrict usage of this feature to certain flavors or tenants.\n- As indicated previously, Nova already handles per-host tunables and join to the host aggregates it helps to isolate group of hosts based on flavor specificity.","commit_id":"55a5a4295de28d329da29b042b5543058c129d1a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ff822d23f0295da4ef163d11d0404c6a34ba02e4","unresolved":false,"context_lines":[{"line_number":45,"context_line":"configure RX queue size. In QEMU 2.10.0 and libvirt 3.7.0 a new"},{"line_number":46,"context_line":"tunable has been introduced to update TX queue size of virtio NICs."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"The proposed change is to add new flavor properties which would allow"},{"line_number":49,"context_line":"operators to configure flavors dedicated for high network performance."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* \u0027hw:tx_queue_size\u0027"},{"line_number":52,"context_line":"* \u0027hw:rx_queue_size\u0027"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"The current implementation allows the size to be between 256 and 1024,"},{"line_number":55,"context_line":"and that number should be a power of two."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa0c359_ae7f2ade","line":52,"range":{"start_line":48,"start_character":0,"end_line":52,"end_character":20},"in_reply_to":"3fa0c359_ff6722b6","updated":"2018-02-12 13:48:38.000000000","message":"\u003e Just for the other readers the libvirt host level configuration\n \u003e Stephen and Sahid mentioning is added pretty recently:\n \u003e https://github.com/libvirt/libvirt/blob/42fd5a58adb039a8ee4bcd64b98b0f7beb36ae7d/src/qemu/qemu.conf#L779\n\nAs noted in the code review for this spec [1], this is actually going to be reverted. Turns out this is going to be our concern after all.\n\n \u003e One future direction I can describe is the following:\n \u003e The packet processing application uses different vnics for traffic\n \u003e handling and for O\u0026M (e.g. ssh access). In this case the\n \u003e application only need increased queue size on certain vnics. This\n \u003e can be set up with the current libvirt support however in this case\n \u003e having a host level config hardly helps.\n\nRight. The solution proposed here doesn\u0027t address this issue, however, as the option will still be a global, albeit at the instance-level. Does this suggest we want this attribute to be part of, for example, the binding profile.\n\nSpeaking of this too, I\u0027m loathe to add solutions for problems that don\u0027t yet exist. Is there a reason the O\u0026M interface _couldn\u0027t_ use the larger queue size? If so, we should take that into account for the solution.\n\n[1] https://review.openstack.org/#/c/484997/10","commit_id":"55a5a4295de28d329da29b042b5543058c129d1a"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"a825a126e7410d3cf7423223a0beee29333d528a","unresolved":false,"context_lines":[{"line_number":45,"context_line":"configure RX queue size. In QEMU 2.10.0 and libvirt 3.7.0 a new"},{"line_number":46,"context_line":"tunable has been introduced to update TX queue size of virtio NICs."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"The proposed change is to add new flavor properties which would allow"},{"line_number":49,"context_line":"operators to configure flavors dedicated for high network performance."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* \u0027hw:tx_queue_size\u0027"},{"line_number":52,"context_line":"* \u0027hw:rx_queue_size\u0027"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"The current implementation allows the size to be between 256 and 1024,"},{"line_number":55,"context_line":"and that number should be a power of two."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa0c359_d3a81d21","line":52,"range":{"start_line":48,"start_character":0,"end_line":52,"end_character":20},"in_reply_to":"3fa0c359_ff6722b6","updated":"2018-02-12 13:19:19.000000000","message":"Certainly, thanks.","commit_id":"55a5a4295de28d329da29b042b5543058c129d1a"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"25d8efd2471c2fb0e2f0d41908c788303f9490bb","unresolved":false,"context_lines":[{"line_number":45,"context_line":"configure RX queue size. In QEMU 2.10.0 and libvirt 3.7.0 a new"},{"line_number":46,"context_line":"tunable has been introduced to update TX queue size of virtio NICs."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"The proposed change is to add new flavor properties which would allow"},{"line_number":49,"context_line":"operators to configure flavors dedicated for high network performance."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* \u0027hw:tx_queue_size\u0027"},{"line_number":52,"context_line":"* \u0027hw:rx_queue_size\u0027"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"The current implementation allows the size to be between 256 and 1024,"},{"line_number":55,"context_line":"and that number should be a power of two."}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa0c359_ff6722b6","line":52,"range":{"start_line":48,"start_character":0,"end_line":52,"end_character":20},"in_reply_to":"5f93b717_132437ae","updated":"2018-02-12 11:34:33.000000000","message":"Just for the other readers the libvirt host level configuration Stephen and Sahid mentioning is added pretty recently: https://github.com/libvirt/libvirt/blob/42fd5a58adb039a8ee4bcd64b98b0f7beb36ae7d/src/qemu/qemu.conf#L779\n\nOne future direction I can describe is the following:\nThe packet processing application uses different vnics for traffic handling and for O\u0026M (e.g. ssh access). In this case the application only need increased queue size on certain vnics. This can be set up with the current libvirt support however in this case having a host level config hardly helps.","commit_id":"55a5a4295de28d329da29b042b5543058c129d1a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"df1b3e6639668af31ed36242d9be484166a1cd8b","unresolved":false,"context_lines":[{"line_number":45,"context_line":"configure RX queue size. In QEMU 2.10.0 and libvirt 3.7.0 a new"},{"line_number":46,"context_line":"tunable has been introduced to update TX queue size of virtio NICs."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"The proposed change is to add new flavor properties which would allow"},{"line_number":49,"context_line":"operators to configure flavors dedicated for high network performance."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* \u0027hw:tx_queue_size\u0027"},{"line_number":52,"context_line":"* \u0027hw:rx_queue_size\u0027"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"The current implementation allows the size to be between 256 and 1024,"},{"line_number":55,"context_line":"and that number should be a power of two."}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f93b717_132437ae","line":52,"range":{"start_line":48,"start_character":0,"end_line":52,"end_character":20},"in_reply_to":"5f93b717_24ec8f28","updated":"2018-02-01 11:28:02.000000000","message":"OK, but if the queue size needs to grow again in the future (which isn\u0027t a certainty), we could just bump the version in libvirt.conf again. This needs further justification, IMO","commit_id":"55a5a4295de28d329da29b042b5543058c129d1a"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"0ccbdb5ad186c938e9c13d7714165877c0102905","unresolved":false,"context_lines":[{"line_number":45,"context_line":"configure RX queue size. In QEMU 2.10.0 and libvirt 3.7.0 a new"},{"line_number":46,"context_line":"tunable has been introduced to update TX queue size of virtio NICs."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"The proposed change is to add new flavor properties which would allow"},{"line_number":49,"context_line":"operators to configure flavors dedicated for high network performance."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* \u0027hw:tx_queue_size\u0027"},{"line_number":52,"context_line":"* \u0027hw:rx_queue_size\u0027"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"The current implementation allows the size to be between 256 and 1024,"},{"line_number":55,"context_line":"and that number should be a power of two."}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f93b717_24ec8f28","line":52,"range":{"start_line":48,"start_character":0,"end_line":52,"end_character":20},"in_reply_to":"5f93b717_2840f4a4","updated":"2018-02-01 08:54:57.000000000","message":"It\u0027s possible to fix the size by using libvirt.conf but as indicated in \"Use Cases\" a long term perspective is to provide a flexible solution.","commit_id":"55a5a4295de28d329da29b042b5543058c129d1a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"df1b3e6639668af31ed36242d9be484166a1cd8b","unresolved":false,"context_lines":[{"line_number":57,"context_line":"Alternatives"},{"line_number":58,"context_line":"------------"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Operators could achieve this by manually update domain XML of guests."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Data model impact"},{"line_number":63,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5f93b717_98286497","line":60,"range":{"start_line":60,"start_character":0,"end_line":60,"end_character":69},"updated":"2018-02-01 11:28:02.000000000","message":"In light of the above, I\u0027m thinking this needs to be substantially expanded. Off the top of my head, we have the following options:\n\n- Make this a per-instance configurable\n- Make this a per-compute node configurable\n- Don\u0027t do this in nova and use libvirt\u0027s configuration file\n- Don\u0027t do this in nova and use QEMU\u0027s configuration file\n- Don\u0027t make this configurable and default to 1024 for everyone\n\nI don\u0027t know if all of the above are possible, but it\u0027s worth exploring.\n\nIn addition, what\u0027s the _downside_ to using 1024 queue sizes? This should be covered by the last point above, but I imagine there must be one to say that this isn\u0027t already the default","commit_id":"55a5a4295de28d329da29b042b5543058c129d1a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6f378f26c1cd37730003fc5c664950761f6e31b7","unresolved":false,"context_lines":[{"line_number":57,"context_line":"Alternatives"},{"line_number":58,"context_line":"------------"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Operators could achieve this by manually update domain XML of guests."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Data model impact"},{"line_number":63,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa0c359_33b7e53c","line":60,"range":{"start_line":60,"start_character":0,"end_line":60,"end_character":69},"in_reply_to":"3fa0c359_13651e46","updated":"2018-02-13 09:45:42.000000000","message":"\u003e \u003e In light of the above, I\u0027m thinking this needs to be\n \u003e substantially\n \u003e \u003e expanded. Off the top of my head, we have the following options:\n \u003e \u003e\n \u003e \u003e - Make this a per-instance configurable\n \u003e \n \u003e If we want to go for this then I would go for making it\n \u003e configurable per neutron port instead for full flexibility.\n\nAgreed.\n\n \u003e \u003e - Make this a per-compute node configurable\n \u003e \n \u003e That would mimic the support that libvirt would give us but\n \u003e emulated through the nova libvirt driver. I can accept this as a\n \u003e solution.\n\nYup, exactly.\n\n \u003e \u003e - Don\u0027t do this in nova and use libvirt\u0027s configuration file\n \u003e \n \u003e Seem to be impossible as libvirt is reverting the support for it.\n\nYup :(\n\n \u003e \u003e - Don\u0027t do this in nova and use QEMU\u0027s configuration file\n \u003e \n \u003e As far as I know there is no precedent to have such configuration\n \u003e in qemu either. So we might run into similar trouble that in case\n \u003e of libvirt.\n\nYup, they don\u0027t do global configuration outside of some basic stuff either. This definitely has to live in nova, we now know.\n\n \u003e \u003e - Don\u0027t make this configurable and default to 1024 for everyone\n \u003e \n \u003e Do you mean by changing the qemu default or the libvirt default\n \u003e value?\n\nI mean default the queue size for every interface nova creates to 1024. This is probably too drastic, given that larger queue sizes are a recent phenomenon.","commit_id":"55a5a4295de28d329da29b042b5543058c129d1a"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"5d29c072763d3546b4a0f2fb81228f4328282a71","unresolved":false,"context_lines":[{"line_number":57,"context_line":"Alternatives"},{"line_number":58,"context_line":"------------"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Operators could achieve this by manually update domain XML of guests."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Data model impact"},{"line_number":63,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa0c359_d6b30fe8","line":60,"range":{"start_line":60,"start_character":0,"end_line":60,"end_character":69},"in_reply_to":"3fa0c359_33be05ff","updated":"2018-02-13 10:39:53.000000000","message":"\u003e Yeah, the current -1 is because I still don\u0027t think this should be\n \u003e a flavor extra spec. As noted above, I\u0027m suggesting it should be\n \u003e one of:\n \u003e \n \u003e - A nova.conf global option, if we don\u0027t need per-interface\n \u003e configurability\n \u003e - A binding profile attribute, if we do need per-interface\n \u003e configurability\n \u003e \n \u003e Maybe taking the first option and adding the second one, if\n \u003e necessary, at a later date would be a reasonable compromise?\n\nThe first option is a totally reasonable compromise to me. I don\u0027t need the second option right now and it can be added later without invalidating the work on the first option so this could be a good phasing of the overall solution. \n\nThe configurability on the port level could be a more interesting topic in the context of the number of queues instead of the size of the queues. AFAIK having unnecessary queues has a lot more performance impact than having longer queues. But as I said above this can be discussed later, separately.","commit_id":"55a5a4295de28d329da29b042b5543058c129d1a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"ff822d23f0295da4ef163d11d0404c6a34ba02e4","unresolved":false,"context_lines":[{"line_number":57,"context_line":"Alternatives"},{"line_number":58,"context_line":"------------"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Operators could achieve this by manually update domain XML of guests."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Data model impact"},{"line_number":63,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa0c359_ce4cf6c9","line":60,"range":{"start_line":60,"start_character":0,"end_line":60,"end_character":69},"in_reply_to":"3fa0c359_b475e69a","updated":"2018-02-12 13:48:38.000000000","message":"\u003e Please feel free to \"explore\" them so.\n\nI\u0027ll be co-authoring the spec, in that case. I\u0027d rather leave this to you, to be honest.","commit_id":"55a5a4295de28d329da29b042b5543058c129d1a"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"25d8efd2471c2fb0e2f0d41908c788303f9490bb","unresolved":false,"context_lines":[{"line_number":57,"context_line":"Alternatives"},{"line_number":58,"context_line":"------------"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Operators could achieve this by manually update domain XML of guests."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Data model impact"},{"line_number":63,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa0c359_fd53aa37","line":60,"range":{"start_line":60,"start_character":0,"end_line":60,"end_character":69},"in_reply_to":"3fa0c359_b475e69a","updated":"2018-02-12 11:34:33.000000000","message":"The following is merged to libvirt master pretty recently: \"qemu: Expose rx/tx_queue_size in qemu.conf too\" [1] and based on the bugzilla [2] it is released in libvirt 3.9.0.\n\nSo now it is possible to let the deployer define the default queue size per host, create a host aggregate with similarly configured hosts, and create flavors pointing to an aggregate. This solution has the advantages to allow scheduling to hosts in nova that actually support the requested configuration (it has new enough libvirt and qemu). This still allows per-instance level configuration by letting the end user choose a proper flavor for her instance. \n\n\n\n[1] https://github.com/libvirt/libvirt/commit/038eb472a0d970a17ccf4343ead0666df5c92f9d\n[2] https://bugzilla.redhat.com/show_bug.cgi?id\u003d1541960","commit_id":"55a5a4295de28d329da29b042b5543058c129d1a"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"949dcd271c504f65dee6f321be21c45c08b0d9bd","unresolved":false,"context_lines":[{"line_number":57,"context_line":"Alternatives"},{"line_number":58,"context_line":"------------"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Operators could achieve this by manually update domain XML of guests."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Data model impact"},{"line_number":63,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa0c359_d8db554c","line":60,"range":{"start_line":60,"start_character":0,"end_line":60,"end_character":69},"in_reply_to":"3fa0c359_ce4cf6c9","updated":"2018-02-12 16:25:11.000000000","message":"Sorry but I can\u0027t address such comment. Reviewing is not about to speak loudly about what you have in your head but about to give a right direction on some areas you have masterized. Or please do not put -1. \n\nI\u0027have mentioned this alternative because it\u0027s the only solution I know. I can be wrong and in that case please feel free to point me an other one. Thanks.","commit_id":"55a5a4295de28d329da29b042b5543058c129d1a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6f378f26c1cd37730003fc5c664950761f6e31b7","unresolved":false,"context_lines":[{"line_number":57,"context_line":"Alternatives"},{"line_number":58,"context_line":"------------"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Operators could achieve this by manually update domain XML of guests."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Data model impact"},{"line_number":63,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa0c359_33be05ff","line":60,"range":{"start_line":60,"start_character":0,"end_line":60,"end_character":69},"in_reply_to":"3fa0c359_d8db554c","updated":"2018-02-13 09:45:42.000000000","message":"\u003e Sorry but I can\u0027t address such comment. Reviewing is not about to\n \u003e speak loudly about what you have in your head but about to give a\n \u003e right direction on some areas you have masterized. Or please do not\n \u003e put -1.\n\nThat\u0027s a fair point and it was a big ask. Sorry about that.\n\n \u003e I\u0027have mentioned this alternative because it\u0027s the only solution I\n \u003e know. I can be wrong and in that case please feel free to point me\n \u003e an other one. Thanks.\n\nYeah, the current -1 is because I still don\u0027t think this should be a flavor extra spec. As noted above, I\u0027m suggesting it should be one of:\n\n- A nova.conf global option, if we don\u0027t need per-interface configurability\n- A binding profile attribute, if we do need per-interface configurability\n\nMaybe taking the first option and adding the second one, if necessary, at a later date would be a reasonable compromise?","commit_id":"55a5a4295de28d329da29b042b5543058c129d1a"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"10fcc428bc24d14b1214642223baed3b42d610b3","unresolved":false,"context_lines":[{"line_number":57,"context_line":"Alternatives"},{"line_number":58,"context_line":"------------"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Operators could achieve this by manually update domain XML of guests."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Data model impact"},{"line_number":63,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa0c359_13651e46","line":60,"range":{"start_line":60,"start_character":0,"end_line":60,"end_character":69},"in_reply_to":"5f93b717_98286497","updated":"2018-02-12 16:41:17.000000000","message":"\u003e In light of the above, I\u0027m thinking this needs to be substantially\n \u003e expanded. Off the top of my head, we have the following options:\n \u003e \n \u003e - Make this a per-instance configurable\n\nIf we want to go for this then I would go for making it configurable per neutron port instead for full flexibility.\n\n \u003e - Make this a per-compute node configurable\n\nThat would mimic the support that libvirt would give us but emulated through the nova libvirt driver. I can accept this as a solution.\n\n \u003e - Don\u0027t do this in nova and use libvirt\u0027s configuration file\n\nSeem to be impossible as libvirt is reverting the support for it.\n\n \u003e - Don\u0027t do this in nova and use QEMU\u0027s configuration file\n\nAs far as I know there is no precedent to have such configuration in qemu either. So we might run into similar trouble that in case of libvirt.\n\n \u003e - Don\u0027t make this configurable and default to 1024 for everyone\n\nDo you mean by changing the qemu default or the libvirt default value? \n\n \u003e \n \u003e I don\u0027t know if all of the above are possible, but it\u0027s worth\n \u003e exploring.\n \u003e \n \u003e In addition, what\u0027s the _downside_ to using 1024 queue sizes? This\n \u003e should be covered by the last point above, but I imagine there must\n \u003e be one to say that this isn\u0027t already the default","commit_id":"55a5a4295de28d329da29b042b5543058c129d1a"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"2e852e5106fe2eb5d05a22ce329e80f9911d49f5","unresolved":false,"context_lines":[{"line_number":57,"context_line":"Alternatives"},{"line_number":58,"context_line":"------------"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Operators could achieve this by manually update domain XML of guests."},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Data model impact"},{"line_number":63,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa0c359_b475e69a","line":60,"range":{"start_line":60,"start_character":0,"end_line":60,"end_character":69},"in_reply_to":"5f93b717_98286497","updated":"2018-02-05 13:38:27.000000000","message":"Please feel free to \"explore\" them so. The \"downside\" using it is depending of many factors. Operators are expected to know what there are doing as Operators are looking for Nova to provide flexible solution. Nova already handles per-host tunables and join to the host aggregates it helps to isolate group of hosts based on flavor specificity.","commit_id":"55a5a4295de28d329da29b042b5543058c129d1a"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"25d8efd2471c2fb0e2f0d41908c788303f9490bb","unresolved":false,"context_lines":[{"line_number":99,"context_line":"Developer impact"},{"line_number":100,"context_line":"----------------"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"Operators must configure flavor properties `hw:tx_queue_size` and/or"},{"line_number":103,"context_line":"`hw:rx_queue_size` in order to allow users to boot guests with that"},{"line_number":104,"context_line":"feature."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Upgrade impact"},{"line_number":107,"context_line":"--------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3fa0c359_bd7f62de","line":104,"range":{"start_line":102,"start_character":1,"end_line":104,"end_character":8},"updated":"2018-02-12 11:34:33.000000000","message":"nit: I guess this is not a developer impact but a deployer impact.","commit_id":"55a5a4295de28d329da29b042b5543058c129d1a"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"5ae39f859ed8b64b7932b3a3ddc0a00eb989c4f8","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/libvirt-virtio-set-queue-sizes"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"With the current multi-queue virtio-net approach, network performance"},{"line_number":14,"context_line":"scales as the number of CPUs increase.  Large efforts are continuing"},{"line_number":15,"context_line":"to increase the performance of network (typically DPDK applications)"},{"line_number":16,"context_line":"in order to take advantage of the full capacity of each individual"},{"line_number":17,"context_line":"vCPU."}],"source_content_type":"text/x-rst","patch_set":3,"id":"1f9dbf25_af7fe1a9","line":14,"range":{"start_line":13,"start_character":50,"end_line":14,"end_character":38},"updated":"2018-02-27 14:02:26.000000000","message":"you mean that the more CPUs I have, the better network performance I\u0027ll get, or the contrary ? Sorry, it\u0027s a bit confusing for me.","commit_id":"e9667a9bae0a2315d2ba73163070dfe330b70a63"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"5ae39f859ed8b64b7932b3a3ddc0a00eb989c4f8","unresolved":false,"context_lines":[{"line_number":30,"context_line":"Use Cases"},{"line_number":31,"context_line":"---------"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Larger queues sizes permit to amortize the vCPU preemption and avoid"},{"line_number":34,"context_line":"packet drops, which is one of the main NFV requirement: zero packet"},{"line_number":35,"context_line":"drop. With today\u0027s NFV VMs, 1k queues permit to achieve high"},{"line_number":36,"context_line":"performance without any packet drop, so being able to increase the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1f9dbf25_6f30f908","line":33,"range":{"start_line":33,"start_character":30,"end_line":33,"end_character":38},"updated":"2018-02-27 14:02:26.000000000","message":"I\u0027m not English-native but it looks to me like a French word ;-) (Nit tho)","commit_id":"e9667a9bae0a2315d2ba73163070dfe330b70a63"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"da9452b5194a007d586e6496832ee0f317caeebd","unresolved":false,"context_lines":[{"line_number":30,"context_line":"Use Cases"},{"line_number":31,"context_line":"---------"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Larger queues sizes permit to amortize the vCPU preemption and avoid"},{"line_number":34,"context_line":"packet drops, which is one of the main NFV requirement: zero packet"},{"line_number":35,"context_line":"drop. With today\u0027s NFV VMs, 1k queues permit to achieve high"},{"line_number":36,"context_line":"performance without any packet drop, so being able to increase the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1f9dbf25_31054a78","line":33,"range":{"start_line":33,"start_character":30,"end_line":33,"end_character":38},"in_reply_to":"1f9dbf25_6f30f908","updated":"2018-03-01 15:55:08.000000000","message":"Nope, it\u0027s an English word, and appropriate here, however it should read \"amortize the costs of vCPU preemption\".","commit_id":"e9667a9bae0a2315d2ba73163070dfe330b70a63"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"5ae39f859ed8b64b7932b3a3ddc0a00eb989c4f8","unresolved":false,"context_lines":[{"line_number":49,"context_line":"operators to configure flavors dedicated for high network performance."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"* \u0027hw:tx_queue_size\u0027"},{"line_number":52,"context_line":"* \u0027hw:rx_queue_size\u0027"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"The current implementation allows the size to be between 256 and 1024,"},{"line_number":55,"context_line":"and that number should be a power of two."}],"source_content_type":"text/x-rst","patch_set":3,"id":"1f9dbf25_0a0fe32e","line":52,"updated":"2018-02-27 14:02:26.000000000","message":"I guess the crux of the problem is whether the flavors are the best interfaces for defining the queue sizes.\n\nCan we admit that a resize using a separate flavor would unset the TX/RX queue sizes ?","commit_id":"e9667a9bae0a2315d2ba73163070dfe330b70a63"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"5ae39f859ed8b64b7932b3a3ddc0a00eb989c4f8","unresolved":false,"context_lines":[{"line_number":52,"context_line":"* \u0027hw:rx_queue_size\u0027"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"The current implementation allows the size to be between 256 and 1024,"},{"line_number":55,"context_line":"and that number should be a power of two."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Alternatives"},{"line_number":58,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1f9dbf25_6a2787b8","line":55,"range":{"start_line":55,"start_character":4,"end_line":55,"end_character":41},"updated":"2018-02-27 14:02:26.000000000","message":"how do you manage to enforce that ? What if I\u0027m providing a flavor with tx_queue_size\u003d3 ?","commit_id":"e9667a9bae0a2315d2ba73163070dfe330b70a63"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"1b2f0a753f4142a512f8b208f9843f11c614a591","unresolved":false,"context_lines":[{"line_number":52,"context_line":"* \u0027hw:rx_queue_size\u0027"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"The current implementation allows the size to be between 256 and 1024,"},{"line_number":55,"context_line":"and that number should be a power of two."},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Alternatives"},{"line_number":58,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ff6b8bd7_fdc58d5c","line":55,"range":{"start_line":55,"start_character":4,"end_line":55,"end_character":41},"in_reply_to":"1f9dbf25_6a2787b8","updated":"2018-03-06 09:11:48.000000000","message":"We have a pattern that we use since a while. During the API call we do check of the properties. please see virt/hardware.py and search for constraints.","commit_id":"e9667a9bae0a2315d2ba73163070dfe330b70a63"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"5ae39f859ed8b64b7932b3a3ddc0a00eb989c4f8","unresolved":false,"context_lines":[{"line_number":62,"context_line":"In Nova configuring the tx/rx queues could also be achieved by"},{"line_number":63,"context_line":"updating the binding profile of the ports created for an instance. But"},{"line_number":64,"context_line":"it has been noticed that the tx/rx queues option is not related to"},{"line_number":65,"context_line":"Networking but specific to the virtio framework, then allowing users"},{"line_number":66,"context_line":"to update these values is not desirable since to correctly configure"},{"line_number":67,"context_line":"them the hardware should be knowing."},{"line_number":68,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1f9dbf25_4a740b9a","line":65,"range":{"start_line":65,"start_character":11,"end_line":65,"end_character":49},"updated":"2018-02-27 14:02:26.000000000","message":"that\u0027s also the problem I see with using flavor extraspecs for a very specific virtio framework support... For example, would other virt drivers have the same problem ?","commit_id":"e9667a9bae0a2315d2ba73163070dfe330b70a63"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"1b2f0a753f4142a512f8b208f9843f11c614a591","unresolved":false,"context_lines":[{"line_number":62,"context_line":"In Nova configuring the tx/rx queues could also be achieved by"},{"line_number":63,"context_line":"updating the binding profile of the ports created for an instance. But"},{"line_number":64,"context_line":"it has been noticed that the tx/rx queues option is not related to"},{"line_number":65,"context_line":"Networking but specific to the virtio framework, then allowing users"},{"line_number":66,"context_line":"to update these values is not desirable since to correctly configure"},{"line_number":67,"context_line":"them the hardware should be knowing."},{"line_number":68,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"ff6b8bd7_9dbb31e4","line":65,"range":{"start_line":65,"start_character":11,"end_line":65,"end_character":49},"in_reply_to":"1f9dbf25_4a740b9a","updated":"2018-03-06 09:11:48.000000000","message":"A bit of clarification ...As indicated virtio is a framework to build devices. Its API and drivers are merged in Linux kernel so all hypervisors running under Linux can take advantage of this interface. Since the drivers are also in Linux kernel so guests can take advantage of the devices for free, for Windows they have to install drivers (virtio-win). QEMU is using it, I know that Xen and VMWare are using their own solution.\n\nThe hw:emulator_threads_policy is only used by libvirt/QEMU, the hw:watchdog option is also speicfic to libvirt.","commit_id":"e9667a9bae0a2315d2ba73163070dfe330b70a63"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"a7acc461e3ce1c728697d08d5ace7399c720cc17","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"The proposed change is to add new options in `nova.conf` under the"},{"line_number":49,"context_line":"`libvirt` section to update the default values of guest XML started on"},{"line_number":50,"context_line":"host. So all guests will bi booted with those new values."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"* \u0027tx_queue_size\u0027"},{"line_number":53,"context_line":"* \u0027rx_queue_size\u0027"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff6b8bd7_1e45d4b3","line":50,"range":{"start_line":50,"start_character":25,"end_line":50,"end_character":27},"updated":"2018-03-06 14:22:08.000000000","message":"nit:be","commit_id":"7da40eb6045a648202c6d67373fcad8c8a8248a4"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"a7acc461e3ce1c728697d08d5ace7399c720cc17","unresolved":false,"context_lines":[{"line_number":50,"context_line":"host. So all guests will bi booted with those new values."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"* \u0027tx_queue_size\u0027"},{"line_number":53,"context_line":"* \u0027rx_queue_size\u0027"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"The current implementation allows the size to be between 256 and 1024,"},{"line_number":56,"context_line":"and that number should be a power of two. A warning message will be"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff6b8bd7_3e03f844","line":53,"updated":"2018-03-06 14:22:08.000000000","message":"Will the default of these attribute be 256 or None? Where None would mean that libvirt driver will not include any value for the queue size in the domain xml.\n\nI think 256 would be clearer today. And later if we implement per server or per port configuration then we can state that this nova.conf option only used when no per server of per port configuration is provided.","commit_id":"7da40eb6045a648202c6d67373fcad8c8a8248a4"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"34f5a53c2a66125410b584d0b0b7799b88faaa88","unresolved":false,"context_lines":[{"line_number":50,"context_line":"host. So all guests will bi booted with those new values."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"* \u0027tx_queue_size\u0027"},{"line_number":53,"context_line":"* \u0027rx_queue_size\u0027"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"The current implementation allows the size to be between 256 and 1024,"},{"line_number":56,"context_line":"and that number should be a power of two. A warning message will be"}],"source_content_type":"text/x-rst","patch_set":4,"id":"df7087c5_6cba36df","line":53,"in_reply_to":"ff6b8bd7_3c353ddb","updated":"2018-03-07 12:30:30.000000000","message":"Fair enough. Thanks for the explanation","commit_id":"7da40eb6045a648202c6d67373fcad8c8a8248a4"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"90cc4014c84f4273462047b2d6c3ef2b09c51f36","unresolved":false,"context_lines":[{"line_number":50,"context_line":"host. So all guests will bi booted with those new values."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"* \u0027tx_queue_size\u0027"},{"line_number":53,"context_line":"* \u0027rx_queue_size\u0027"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"The current implementation allows the size to be between 256 and 1024,"},{"line_number":56,"context_line":"and that number should be a power of two. A warning message will be"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff6b8bd7_3c353ddb","line":53,"in_reply_to":"ff6b8bd7_3e03f844","updated":"2018-03-06 16:47:12.000000000","message":"Setting 256 by default will override the default behavior by introducing a new XML attribute which is something in my POV we want to avoid. None will be the default.","commit_id":"7da40eb6045a648202c6d67373fcad8c8a8248a4"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"a7acc461e3ce1c728697d08d5ace7399c720cc17","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"The current implementation allows the size to be between 256 and 1024,"},{"line_number":56,"context_line":"and that number should be a power of two. A warning message will be"},{"line_number":57,"context_line":"printed for each guests started if the previous constraints are not"},{"line_number":58,"context_line":"satified."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Alternatives"},{"line_number":61,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff6b8bd7_be62a815","line":58,"range":{"start_line":57,"start_character":32,"end_line":58,"end_character":9},"updated":"2018-03-06 14:22:08.000000000","message":"which constraints? the power of 2?","commit_id":"7da40eb6045a648202c6d67373fcad8c8a8248a4"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"90cc4014c84f4273462047b2d6c3ef2b09c51f36","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"The current implementation allows the size to be between 256 and 1024,"},{"line_number":56,"context_line":"and that number should be a power of two. A warning message will be"},{"line_number":57,"context_line":"printed for each guests started if the previous constraints are not"},{"line_number":58,"context_line":"satified."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Alternatives"},{"line_number":61,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff6b8bd7_79550750","line":58,"range":{"start_line":57,"start_character":32,"end_line":58,"end_character":9},"in_reply_to":"ff6b8bd7_be62a815","updated":"2018-03-06 16:47:12.000000000","message":"Yes and between 256 and 1024. The 1024 is hardcoded in kernel if I do not make any mistake.","commit_id":"7da40eb6045a648202c6d67373fcad8c8a8248a4"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"a7acc461e3ce1c728697d08d5ace7399c720cc17","unresolved":false,"context_lines":[{"line_number":56,"context_line":"and that number should be a power of two. A warning message will be"},{"line_number":57,"context_line":"printed for each guests started if the previous constraints are not"},{"line_number":58,"context_line":"satified."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Alternatives"},{"line_number":61,"context_line":"------------"},{"line_number":62,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff6b8bd7_9e180482","line":59,"updated":"2018-03-06 14:22:08.000000000","message":"What will happen when the new config values are changed on a host where server are already running. For example I have servers booted before this feature. Then nova is updated. And then I configure the queue size to 1024 on the host. \na) no affect on the already running server, but the new servers booted on this machine will have the queue size set to 1024\nb) nova-compute will check the running servers at startup to detect the inconsistency and print error messages / fail to start up if inconsistency is detected","commit_id":"7da40eb6045a648202c6d67373fcad8c8a8248a4"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"90cc4014c84f4273462047b2d6c3ef2b09c51f36","unresolved":false,"context_lines":[{"line_number":56,"context_line":"and that number should be a power of two. A warning message will be"},{"line_number":57,"context_line":"printed for each guests started if the previous constraints are not"},{"line_number":58,"context_line":"satified."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Alternatives"},{"line_number":61,"context_line":"------------"},{"line_number":62,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff6b8bd7_9c3d69bd","line":59,"in_reply_to":"ff6b8bd7_9e180482","updated":"2018-03-06 16:47:12.000000000","message":"a, i will update the spec to make that clear.","commit_id":"7da40eb6045a648202c6d67373fcad8c8a8248a4"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"a7acc461e3ce1c728697d08d5ace7399c720cc17","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"An user whom want take advantage of that network improvement for its"},{"line_number":103,"context_line":"guests must use flavors that have been to be booted in the aggregates"},{"line_number":104,"context_line":"where hosts are configured with the tx/rx queue sizes updated."},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"Performance Impact"},{"line_number":107,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff6b8bd7_fe7580fb","line":104,"updated":"2018-03-06 14:22:08.000000000","message":"+1","commit_id":"7da40eb6045a648202c6d67373fcad8c8a8248a4"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"a7acc461e3ce1c728697d08d5ace7399c720cc17","unresolved":false,"context_lines":[{"line_number":154,"context_line":"Documentation Impact"},{"line_number":155,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"Operators would have to configure the flavor to take benefic of this"},{"line_number":158,"context_line":"feature."},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff6b8bd7_990d7e39","line":157,"range":{"start_line":157,"start_character":24,"end_line":157,"end_character":44},"updated":"2018-03-06 14:22:08.000000000","message":"change the nova.conf","commit_id":"7da40eb6045a648202c6d67373fcad8c8a8248a4"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"a7acc461e3ce1c728697d08d5ace7399c720cc17","unresolved":false,"context_lines":[{"line_number":154,"context_line":"Documentation Impact"},{"line_number":155,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":156,"context_line":""},{"line_number":157,"context_line":"Operators would have to configure the flavor to take benefic of this"},{"line_number":158,"context_line":"feature."},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":4,"id":"ff6b8bd7_590fe62d","line":157,"range":{"start_line":157,"start_character":53,"end_line":157,"end_character":60},"updated":"2018-03-06 14:22:08.000000000","message":"nit:benefit","commit_id":"7da40eb6045a648202c6d67373fcad8c8a8248a4"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"88554c73f0ae4219d9295b2e980d90b87de1c269","unresolved":false,"context_lines":[{"line_number":45,"context_line":"configure RX queue size. In QEMU 2.10.0 and libvirt 3.7.0 a new"},{"line_number":46,"context_line":"tunable has been introduced to update TX queue size of virtio NICs."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"The proposed change is to add new options in `nova.conf` under the"},{"line_number":49,"context_line":"`libvirt` section to update the default values of guest XML started on"},{"line_number":50,"context_line":"host. So all guests will be booted with those new values."},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"df7087c5_38132069","line":48,"range":{"start_line":48,"start_character":45,"end_line":48,"end_character":56},"updated":"2018-03-07 10:09:43.000000000","message":"nit: These should be double backticks. Single backticks indicate \"default role\", which can be absolutely anything depending on the environment (I learnt that from the sphinx devs)","commit_id":"eb9f3b58555d92b2ba76142a5b79ebecef9359bd"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"88554c73f0ae4219d9295b2e980d90b87de1c269","unresolved":false,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":"Operators could achieve this by manually update domain XML of guests."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"In Nova configuring the tx/rx queues could also be achieved by"},{"line_number":75,"context_line":"updating the binding profile of the ports created for an instance. But"},{"line_number":76,"context_line":"it has been noticed that the tx/rx queues option is not related to"},{"line_number":77,"context_line":"Networking but specific to the virtio framework, then allowing users"},{"line_number":78,"context_line":"to update these values is not desirable since to correctly configure"},{"line_number":79,"context_line":"them the hardware should be knowing."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"In Nova configuring the tx/rx queue sizes could also be achieved by"},{"line_number":82,"context_line":"introducing flavor extra-specs which would have provided ability for"}],"source_content_type":"text/x-rst","patch_set":5,"id":"df7087c5_7bfe7206","line":79,"range":{"start_line":74,"start_character":0,"end_line":79,"end_character":36},"updated":"2018-03-07 10:09:43.000000000","message":"+1 good info","commit_id":"eb9f3b58555d92b2ba76142a5b79ebecef9359bd"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"88554c73f0ae4219d9295b2e980d90b87de1c269","unresolved":false,"context_lines":[{"line_number":74,"context_line":"In Nova configuring the tx/rx queues could also be achieved by"},{"line_number":75,"context_line":"updating the binding profile of the ports created for an instance. But"},{"line_number":76,"context_line":"it has been noticed that the tx/rx queues option is not related to"},{"line_number":77,"context_line":"Networking but specific to the virtio framework, then allowing users"},{"line_number":78,"context_line":"to update these values is not desirable since to correctly configure"},{"line_number":79,"context_line":"them the hardware should be knowing."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"In Nova configuring the tx/rx queue sizes could also be achieved by"},{"line_number":82,"context_line":"introducing flavor extra-specs which would have provided ability for"}],"source_content_type":"text/x-rst","patch_set":5,"id":"df7087c5_7b2752b8","line":79,"range":{"start_line":77,"start_character":49,"end_line":79,"end_character":36},"updated":"2018-03-07 10:09:43.000000000","message":"thus it is not desirable to allow users to configure this as it would require knowledge of the underlying hardware.","commit_id":"eb9f3b58555d92b2ba76142a5b79ebecef9359bd"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"c20551ed1c0b9f0aca352b40879aa2c5dcc2c837","unresolved":false,"context_lines":[{"line_number":78,"context_line":"to update these values is not desirable since to correctly configure"},{"line_number":79,"context_line":"them the hardware should be knowing."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"In Nova configuring the tx/rx queue sizes could also be achieved by"},{"line_number":82,"context_line":"introducing flavor extra-specs which would have provided ability for"},{"line_number":83,"context_line":"operators to restrict that feature to certain tenants, flexibility to"},{"line_number":84,"context_line":"update the values and manage the hosts using aggregates. Ability to"}],"source_content_type":"text/x-rst","patch_set":5,"id":"df7087c5_ed471fbc","line":81,"updated":"2018-03-07 15:15:03.000000000","message":"This is not an alternative, it\u0027s just a way to have multiple TX/RX possibilities, each one by compute.","commit_id":"eb9f3b58555d92b2ba76142a5b79ebecef9359bd"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"c20551ed1c0b9f0aca352b40879aa2c5dcc2c837","unresolved":false,"context_lines":[{"line_number":83,"context_line":"operators to restrict that feature to certain tenants, flexibility to"},{"line_number":84,"context_line":"update the values and manage the hosts using aggregates. Ability to"},{"line_number":85,"context_line":"configure different size for different flavors and finally any update"},{"line_number":86,"context_line":"of the values would have been without restarting nova-compute service."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"Data model impact"},{"line_number":89,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"df7087c5_ad2a87e4","line":86,"updated":"2018-03-07 15:15:03.000000000","message":"by using AggregateInstanceExtraSpecsFilter which not in default.","commit_id":"eb9f3b58555d92b2ba76142a5b79ebecef9359bd"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"88554c73f0ae4219d9295b2e980d90b87de1c269","unresolved":false,"context_lines":[{"line_number":108,"context_line":"Other end user impact"},{"line_number":109,"context_line":"---------------------"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"An user whom want take advantage of that network improvement for its"},{"line_number":112,"context_line":"guests must use flavors that have been to be booted in the aggregates"},{"line_number":113,"context_line":"where hosts are configured with the tx/rx queue sizes updated."},{"line_number":114,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"df7087c5_bb340ae0","line":111,"range":{"start_line":111,"start_character":0,"end_line":111,"end_character":22},"updated":"2018-03-07 10:09:43.000000000","message":"A user who wants to take","commit_id":"eb9f3b58555d92b2ba76142a5b79ebecef9359bd"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"88554c73f0ae4219d9295b2e980d90b87de1c269","unresolved":false,"context_lines":[{"line_number":128,"context_line":"Operators must configure `tx_queue_size` and/or `rx_queue_size`, then"},{"line_number":129,"context_line":"isolate the hosts on specific host aggregates and configure flavor"},{"line_number":130,"context_line":"properties that will match properties of that aggregate."},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"Upgrade impact"},{"line_number":133,"context_line":"--------------"},{"line_number":134,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"df7087c5_fb6842bb","line":131,"updated":"2018-03-07 10:09:43.000000000","message":"I\u0027ve yet to hear anyone say they need differing queue sizes among hosts. You could add:\n\n  Alternatively, operators may configure the attributes on all \n  compute nodes if they do not require differing queue sizes.","commit_id":"eb9f3b58555d92b2ba76142a5b79ebecef9359bd"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"f384c9893825f24b637194ab91c06ed5d9f344a5","unresolved":false,"context_lines":[{"line_number":128,"context_line":"Operators must configure `tx_queue_size` and/or `rx_queue_size`, then"},{"line_number":129,"context_line":"isolate the hosts on specific host aggregates and configure flavor"},{"line_number":130,"context_line":"properties that will match properties of that aggregate."},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"Upgrade impact"},{"line_number":133,"context_line":"--------------"},{"line_number":134,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"df7087c5_6d822fcb","line":131,"in_reply_to":"df7087c5_2c919e53","updated":"2018-03-07 15:15:36.000000000","message":"\u003e I think it is no harm to suggest separating these hosts as a\n \u003e default behavior. If the operator knows what he is doing then of\n \u003e course he can decide not to isolate.\n\nYup, I meant to add that paragraph after the existing one, i.e.\n\n  Operators must configure...\n\n  Alternatively, operators...","commit_id":"eb9f3b58555d92b2ba76142a5b79ebecef9359bd"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"c20551ed1c0b9f0aca352b40879aa2c5dcc2c837","unresolved":false,"context_lines":[{"line_number":128,"context_line":"Operators must configure `tx_queue_size` and/or `rx_queue_size`, then"},{"line_number":129,"context_line":"isolate the hosts on specific host aggregates and configure flavor"},{"line_number":130,"context_line":"properties that will match properties of that aggregate."},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"Upgrade impact"},{"line_number":133,"context_line":"--------------"},{"line_number":134,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"df7087c5_2d275715","line":131,"in_reply_to":"df7087c5_2c919e53","updated":"2018-03-07 15:15:03.000000000","message":"We could have multiple TX/RX sizes by using the filter above.","commit_id":"eb9f3b58555d92b2ba76142a5b79ebecef9359bd"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"47fea0eb74ca6c859f90d90bcdb274b59d5e21fe","unresolved":false,"context_lines":[{"line_number":128,"context_line":"Operators must configure `tx_queue_size` and/or `rx_queue_size`, then"},{"line_number":129,"context_line":"isolate the hosts on specific host aggregates and configure flavor"},{"line_number":130,"context_line":"properties that will match properties of that aggregate."},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"Upgrade impact"},{"line_number":133,"context_line":"--------------"},{"line_number":134,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"df7087c5_5fe77a41","line":131,"in_reply_to":"df7087c5_6d822fcb","updated":"2018-03-12 09:41:13.000000000","message":"I see and I agree. :)","commit_id":"eb9f3b58555d92b2ba76142a5b79ebecef9359bd"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"34f5a53c2a66125410b584d0b0b7799b88faaa88","unresolved":false,"context_lines":[{"line_number":128,"context_line":"Operators must configure `tx_queue_size` and/or `rx_queue_size`, then"},{"line_number":129,"context_line":"isolate the hosts on specific host aggregates and configure flavor"},{"line_number":130,"context_line":"properties that will match properties of that aggregate."},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"Upgrade impact"},{"line_number":133,"context_line":"--------------"},{"line_number":134,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"df7087c5_2c919e53","line":131,"in_reply_to":"df7087c5_ac9feeb2","updated":"2018-03-07 12:30:30.000000000","message":"I think it is no harm to suggest separating these hosts as a default behavior. If the operator knows what he is doing then of course he can decide not to isolate.","commit_id":"eb9f3b58555d92b2ba76142a5b79ebecef9359bd"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"07a81d12874e5e4e719bd330eb32c2efb06e1a05","unresolved":false,"context_lines":[{"line_number":128,"context_line":"Operators must configure `tx_queue_size` and/or `rx_queue_size`, then"},{"line_number":129,"context_line":"isolate the hosts on specific host aggregates and configure flavor"},{"line_number":130,"context_line":"properties that will match properties of that aggregate."},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"Upgrade impact"},{"line_number":133,"context_line":"--------------"},{"line_number":134,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"df7087c5_ac9feeb2","line":131,"in_reply_to":"df7087c5_fb6842bb","updated":"2018-03-07 12:14:08.000000000","message":"No the hosts should be isolated. We don\u0027t want operators to configure these values for all the hosts or they know what they are doing. The options are specifics to certain workflow as indicated in the introduction.","commit_id":"eb9f3b58555d92b2ba76142a5b79ebecef9359bd"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"88554c73f0ae4219d9295b2e980d90b87de1c269","unresolved":false,"context_lines":[{"line_number":163,"context_line":"Documentation Impact"},{"line_number":164,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"Operators would have to change the nova.conf to take benefit of this"},{"line_number":167,"context_line":"feature."},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"References"},{"line_number":170,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"df7087c5_fb960295","line":167,"range":{"start_line":166,"start_character":0,"end_line":167,"end_character":8},"updated":"2018-03-07 10:09:43.000000000","message":"I don\u0027t think this is relevant. Instead, a note on this should be added to the networking section of nova\u0027s networking guide. We get the configuration option documentation for free, thanks to \u0027oslo_config.sphinxext\u0027","commit_id":"eb9f3b58555d92b2ba76142a5b79ebecef9359bd"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b8569d2aad1fe4441dcb43bd4b53924409b8374e","unresolved":false,"context_lines":[{"line_number":31,"context_line":"---------"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Larger queues sizes permit to amortize the vCPU preemption and avoid"},{"line_number":34,"context_line":"packet drops, which is one of the main NFV requirement: zero packet"},{"line_number":35,"context_line":"drop. With today\u0027s NFV VMs, 1k queues permit to achieve high"},{"line_number":36,"context_line":"performance without any packet drop, so being able to increase the"},{"line_number":37,"context_line":"default queue size to 1k will solves today\u0027s issues. Making it"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df7087c5_503be99a","line":34,"range":{"start_line":34,"start_character":12,"end_line":34,"end_character":29},"updated":"2018-03-12 11:52:39.000000000","message":", thus working towards one of the main","commit_id":"552b6b9ff075446adcf975fed7b58564c33403b8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b8569d2aad1fe4441dcb43bd4b53924409b8374e","unresolved":false,"context_lines":[{"line_number":31,"context_line":"---------"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Larger queues sizes permit to amortize the vCPU preemption and avoid"},{"line_number":34,"context_line":"packet drops, which is one of the main NFV requirement: zero packet"},{"line_number":35,"context_line":"drop. With today\u0027s NFV VMs, 1k queues permit to achieve high"},{"line_number":36,"context_line":"performance without any packet drop, so being able to increase the"},{"line_number":37,"context_line":"default queue size to 1k will solves today\u0027s issues. Making it"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df7087c5_f041dd0c","line":34,"range":{"start_line":34,"start_character":43,"end_line":34,"end_character":54},"updated":"2018-03-12 11:52:39.000000000","message":"requirements","commit_id":"552b6b9ff075446adcf975fed7b58564c33403b8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b8569d2aad1fe4441dcb43bd4b53924409b8374e","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Larger queues sizes permit to amortize the vCPU preemption and avoid"},{"line_number":34,"context_line":"packet drops, which is one of the main NFV requirement: zero packet"},{"line_number":35,"context_line":"drop. With today\u0027s NFV VMs, 1k queues permit to achieve high"},{"line_number":36,"context_line":"performance without any packet drop, so being able to increase the"},{"line_number":37,"context_line":"default queue size to 1k will solves today\u0027s issues. Making it"},{"line_number":38,"context_line":"configurable, per operator choice, will also help to address future"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df7087c5_10457117","line":35,"range":{"start_line":35,"start_character":38,"end_line":35,"end_character":44},"updated":"2018-03-12 11:52:39.000000000","message":"provide a way","commit_id":"552b6b9ff075446adcf975fed7b58564c33403b8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b8569d2aad1fe4441dcb43bd4b53924409b8374e","unresolved":false,"context_lines":[{"line_number":45,"context_line":"configure RX queue size. In QEMU 2.10.0 and libvirt 3.7.0 a new"},{"line_number":46,"context_line":"tunable has been introduced to update TX queue size of virtio NICs."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"The proposed change is to add new options in `nova.conf` under the"},{"line_number":49,"context_line":"`libvirt` section to update the default values of guest XML started on"},{"line_number":50,"context_line":"host. So all guests will be booted with those new values."},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"df7087c5_7055cdc5","line":48,"range":{"start_line":48,"start_character":45,"end_line":48,"end_character":56},"updated":"2018-03-12 11:52:39.000000000","message":"Same comments as before - these should be double backticks to both render as a literal (the intention?) ad avoid future issues if Sphinx changes the default role etc.","commit_id":"552b6b9ff075446adcf975fed7b58564c33403b8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b8569d2aad1fe4441dcb43bd4b53924409b8374e","unresolved":false,"context_lines":[{"line_number":58,"context_line":""},{"line_number":59,"context_line":"The current implementation allows the size to be between 256 and 1024,"},{"line_number":60,"context_line":"and that number should be a power of two. A warning message will be"},{"line_number":61,"context_line":"printed for each guests started if the previous constraints are not"},{"line_number":62,"context_line":"satified."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"In case the values are updated while guests are running on the"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df7087c5_506449b9","line":61,"range":{"start_line":61,"start_character":35,"end_line":61,"end_character":47},"updated":"2018-03-12 11:52:39.000000000","message":"these","commit_id":"552b6b9ff075446adcf975fed7b58564c33403b8"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"84d56922bc3b95991f64b2db9f3ff427dc2b13aa","unresolved":false,"context_lines":[{"line_number":58,"context_line":""},{"line_number":59,"context_line":"The current implementation allows the size to be between 256 and 1024,"},{"line_number":60,"context_line":"and that number should be a power of two. A warning message will be"},{"line_number":61,"context_line":"printed for each guests started if the previous constraints are not"},{"line_number":62,"context_line":"satified."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"In case the values are updated while guests are running on the"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df7087c5_eb5a4cf1","line":61,"range":{"start_line":61,"start_character":35,"end_line":61,"end_character":47},"in_reply_to":"df7087c5_506449b9","updated":"2018-03-12 12:44:02.000000000","message":"Not sure what you mean here?","commit_id":"552b6b9ff075446adcf975fed7b58564c33403b8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"20d547030eacf95e90c8ce182012cb48e2379f52","unresolved":false,"context_lines":[{"line_number":58,"context_line":""},{"line_number":59,"context_line":"The current implementation allows the size to be between 256 and 1024,"},{"line_number":60,"context_line":"and that number should be a power of two. A warning message will be"},{"line_number":61,"context_line":"printed for each guests started if the previous constraints are not"},{"line_number":62,"context_line":"satified."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"In case the values are updated while guests are running on the"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df7087c5_6ee08997","line":61,"range":{"start_line":61,"start_character":35,"end_line":61,"end_character":47},"in_reply_to":"df7087c5_eb5a4cf1","updated":"2018-03-12 14:01:51.000000000","message":"I...don\u0027t know either. You can ignore this comment","commit_id":"552b6b9ff075446adcf975fed7b58564c33403b8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b8569d2aad1fe4441dcb43bd4b53924409b8374e","unresolved":false,"context_lines":[{"line_number":56,"context_line":"driver will not include any value for the queue size in the domain XML"},{"line_number":57,"context_line":"of the guests."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"The current implementation allows the size to be between 256 and 1024,"},{"line_number":60,"context_line":"and that number should be a power of two. A warning message will be"},{"line_number":61,"context_line":"printed for each guests started if the previous constraints are not"},{"line_number":62,"context_line":"satified."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"In case the values are updated while guests are running on the"},{"line_number":65,"context_line":"host. Only new guests booted will take advantage of those new"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df7087c5_105ed1e5","line":62,"range":{"start_line":59,"start_character":0,"end_line":62,"end_character":9},"updated":"2018-03-12 11:52:39.000000000","message":"Should we refuse to start nova-compute if the configuration value is not valid?","commit_id":"552b6b9ff075446adcf975fed7b58564c33403b8"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"84d56922bc3b95991f64b2db9f3ff427dc2b13aa","unresolved":false,"context_lines":[{"line_number":56,"context_line":"driver will not include any value for the queue size in the domain XML"},{"line_number":57,"context_line":"of the guests."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"The current implementation allows the size to be between 256 and 1024,"},{"line_number":60,"context_line":"and that number should be a power of two. A warning message will be"},{"line_number":61,"context_line":"printed for each guests started if the previous constraints are not"},{"line_number":62,"context_line":"satified."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"In case the values are updated while guests are running on the"},{"line_number":65,"context_line":"host. Only new guests booted will take advantage of those new"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df7087c5_ebe7ace3","line":62,"range":{"start_line":59,"start_character":0,"end_line":62,"end_character":9},"in_reply_to":"df7087c5_105ed1e5","updated":"2018-03-12 12:44:02.000000000","message":"Yes it\u0027s a possibility - I choice to make it in that way because it\u0027s not related to the service itself but to the guests. We are using nova.conf to tweak the guests.\n\nI don\u0027t think we have a specific rule, so I can change the behavior whether there is a preference.","commit_id":"552b6b9ff075446adcf975fed7b58564c33403b8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"20d547030eacf95e90c8ce182012cb48e2379f52","unresolved":false,"context_lines":[{"line_number":56,"context_line":"driver will not include any value for the queue size in the domain XML"},{"line_number":57,"context_line":"of the guests."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"The current implementation allows the size to be between 256 and 1024,"},{"line_number":60,"context_line":"and that number should be a power of two. A warning message will be"},{"line_number":61,"context_line":"printed for each guests started if the previous constraints are not"},{"line_number":62,"context_line":"satified."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"In case the values are updated while guests are running on the"},{"line_number":65,"context_line":"host. Only new guests booted will take advantage of those new"}],"source_content_type":"text/x-rst","patch_set":6,"id":"df7087c5_eed499bf","line":62,"range":{"start_line":59,"start_character":0,"end_line":62,"end_character":9},"in_reply_to":"df7087c5_ebe7ace3","updated":"2018-03-12 14:01:51.000000000","message":"Sounds good to me","commit_id":"552b6b9ff075446adcf975fed7b58564c33403b8"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"b8569d2aad1fe4441dcb43bd4b53924409b8374e","unresolved":false,"context_lines":[{"line_number":108,"context_line":"Other end user impact"},{"line_number":109,"context_line":"---------------------"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"An user whom want take advantage of that network improvement for its"},{"line_number":112,"context_line":"guests must use flavors that have been to be booted in the aggregates"},{"line_number":113,"context_line":"where hosts are configured with the tx/rx queue sizes updated."},{"line_number":114,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"df7087c5_5009a9da","line":111,"range":{"start_line":111,"start_character":0,"end_line":111,"end_character":18},"updated":"2018-03-12 11:52:39.000000000","message":"Assuming flavor aggregates have been used, a user who wants to","commit_id":"552b6b9ff075446adcf975fed7b58564c33403b8"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"200951df804fb807fc7d87275a176f09fef024ed","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/libvirt-virtio-set-queue-sizes"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"With the current multi-queue virtio-net approach, network performance"},{"line_number":14,"context_line":"scales as the number of CPUs increase.  Large efforts are continuing"},{"line_number":15,"context_line":"to increase the performance of network (typically DPDK applications)"},{"line_number":16,"context_line":"in order to take advantage of the full capacity of each individual"},{"line_number":17,"context_line":"vCPU."}],"source_content_type":"text/x-rst","patch_set":7,"id":"df7087c5_439777ed","line":14,"range":{"start_line":13,"start_character":0,"end_line":14,"end_character":38},"updated":"2018-03-13 16:11:10.000000000","message":"Which is this code right?\n\nhttps://github.com/openstack/nova/blob/107ad403d46c9d6961c5b15c68df0fa24014a832/nova/virt/libvirt/vif.py#L168-L173","commit_id":"58e2b41aed99612cbf7ef4b11e0ddf6abb0a9fce"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"0843e7c197580ea7f862902b71ea99b8341fa36c","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"https://blueprints.launchpad.net/nova/+spec/libvirt-virtio-set-queue-sizes"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"With the current multi-queue virtio-net approach, network performance"},{"line_number":14,"context_line":"scales as the number of CPUs increase.  Large efforts are continuing"},{"line_number":15,"context_line":"to increase the performance of network (typically DPDK applications)"},{"line_number":16,"context_line":"in order to take advantage of the full capacity of each individual"},{"line_number":17,"context_line":"vCPU."}],"source_content_type":"text/x-rst","patch_set":7,"id":"df7087c5_99c0a02c","line":14,"range":{"start_line":13,"start_character":0,"end_line":14,"end_character":38},"in_reply_to":"df7087c5_439777ed","updated":"2018-03-13 17:56:04.000000000","message":"I would say yes. That code is related to the number of queues we want to initialize where the spec is related to their sizes.","commit_id":"58e2b41aed99612cbf7ef4b11e0ddf6abb0a9fce"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"200951df804fb807fc7d87275a176f09fef024ed","unresolved":false,"context_lines":[{"line_number":46,"context_line":"tunable has been introduced to update TX queue size of virtio NICs."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"The proposed change is to add new options in \"nova.conf\" under the"},{"line_number":49,"context_line":"\"libvirt\" section to update the default values of guest XML started on"},{"line_number":50,"context_line":"host. So all guests will be booted with those new values."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"* \u0027tx_queue_size\u0027"}],"source_content_type":"text/x-rst","patch_set":7,"id":"df7087c5_a329b39b","line":49,"range":{"start_line":49,"start_character":21,"end_line":49,"end_character":59},"updated":"2018-03-13 16:11:10.000000000","message":"This, along with the default of \u0027None\u0027 on L55, is confusing for me. Are you saying if set, the config options set a default value for the guest but those can be overridden by something else? Flavor extra spec or image metadata maybe?","commit_id":"58e2b41aed99612cbf7ef4b11e0ddf6abb0a9fce"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"5e06de9b31ebd65b19927e2edbd7abb5aa65ef10","unresolved":false,"context_lines":[{"line_number":46,"context_line":"tunable has been introduced to update TX queue size of virtio NICs."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"The proposed change is to add new options in \"nova.conf\" under the"},{"line_number":49,"context_line":"\"libvirt\" section to update the default values of guest XML started on"},{"line_number":50,"context_line":"host. So all guests will be booted with those new values."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"* \u0027tx_queue_size\u0027"}],"source_content_type":"text/x-rst","patch_set":7,"id":"df7087c5_d9f8587c","line":49,"range":{"start_line":49,"start_character":21,"end_line":49,"end_character":59},"in_reply_to":"df7087c5_a329b39b","updated":"2018-03-13 17:42:01.000000000","message":"No, he\u0027s saying all guests, not overridable via extra specs or image metadata.","commit_id":"58e2b41aed99612cbf7ef4b11e0ddf6abb0a9fce"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"0843e7c197580ea7f862902b71ea99b8341fa36c","unresolved":false,"context_lines":[{"line_number":46,"context_line":"tunable has been introduced to update TX queue size of virtio NICs."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"The proposed change is to add new options in \"nova.conf\" under the"},{"line_number":49,"context_line":"\"libvirt\" section to update the default values of guest XML started on"},{"line_number":50,"context_line":"host. So all guests will be booted with those new values."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"* \u0027tx_queue_size\u0027"}],"source_content_type":"text/x-rst","patch_set":7,"id":"df7087c5_591be8ce","line":49,"range":{"start_line":49,"start_character":21,"end_line":49,"end_character":59},"in_reply_to":"df7087c5_a329b39b","updated":"2018-03-13 17:56:04.000000000","message":"You probably get confused because of the commit message. But nothing related to flavor extra-specs. Only nova.conf is going to tweak these values.","commit_id":"58e2b41aed99612cbf7ef4b11e0ddf6abb0a9fce"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"200951df804fb807fc7d87275a176f09fef024ed","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"The proposed change is to add new options in \"nova.conf\" under the"},{"line_number":49,"context_line":"\"libvirt\" section to update the default values of guest XML started on"},{"line_number":50,"context_line":"host. So all guests will be booted with those new values."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"* \u0027tx_queue_size\u0027"},{"line_number":53,"context_line":"* \u0027rx_queue_size\u0027"}],"source_content_type":"text/x-rst","patch_set":7,"id":"df7087c5_a3a69352","line":50,"range":{"start_line":50,"start_character":9,"end_line":50,"end_character":19},"updated":"2018-03-13 16:11:10.000000000","message":"all guests, or all guests using a certain vif type (vhost?). Or is this something completely separate from vif type? I\u0027m not very familiar with the virtio-net multiqueue feature.\n\nThere also seem to be quite a few conditionals in the existing code:\n\nhttps://github.com/openstack/nova/blob/107ad403d46c9d6961c5b15c68df0fa24014a832/nova/virt/libvirt/vif.py#L135","commit_id":"58e2b41aed99612cbf7ef4b11e0ddf6abb0a9fce"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"0843e7c197580ea7f862902b71ea99b8341fa36c","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"The proposed change is to add new options in \"nova.conf\" under the"},{"line_number":49,"context_line":"\"libvirt\" section to update the default values of guest XML started on"},{"line_number":50,"context_line":"host. So all guests will be booted with those new values."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"* \u0027tx_queue_size\u0027"},{"line_number":53,"context_line":"* \u0027rx_queue_size\u0027"}],"source_content_type":"text/x-rst","patch_set":7,"id":"df7087c5_34015b06","line":50,"range":{"start_line":50,"start_character":9,"end_line":50,"end_character":19},"in_reply_to":"df7087c5_a3a69352","updated":"2018-03-13 17:56:04.000000000","message":"Is that possible to have different vif type running on a same host? (except SRIOV)\n\nOnly virtio model type that are using vhost backend (VIF_TYPE_BRIDGE, VIF_TYPE_OVS) and vhostuser interfaces (VIF_TYPE_VHOSTUSER)\n\nThe condition you are referring with SRIOV is because we could have guests using virtio in conjuncture with a SRIOV device that because they are interconnected using a macvtap. But that looks to be out of the scope of this spec.\n\nI will add a note to make that clear.","commit_id":"58e2b41aed99612cbf7ef4b11e0ddf6abb0a9fce"},{"author":{"_account_id":25625,"name":"Tetsuro Nakamura","email":"tetsuro.nakamura.bc@hco.ntt.co.jp","username":"tetsuro0907"},"change_message_id":"f44d0fbeb3b1a4306f7e02d31ce7b2a8275d297c","unresolved":false,"context_lines":[{"line_number":59,"context_line":"The current implementation allows the size to be between 256 and 1024,"},{"line_number":60,"context_line":"and that number should be a power of two. A warning message will be"},{"line_number":61,"context_line":"printed for each guests started if the previous constraints are not"},{"line_number":62,"context_line":"satified."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"In case the values are updated while guests are running on the"},{"line_number":65,"context_line":"host. Only new guests booted will take advantage of those new"}],"source_content_type":"text/x-rst","patch_set":7,"id":"df7087c5_6b7860c3","line":62,"range":{"start_line":62,"start_character":0,"end_line":62,"end_character":8},"updated":"2018-03-13 08:23:58.000000000","message":"satisfied?","commit_id":"58e2b41aed99612cbf7ef4b11e0ddf6abb0a9fce"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"200951df804fb807fc7d87275a176f09fef024ed","unresolved":false,"context_lines":[{"line_number":61,"context_line":"printed for each guests started if the previous constraints are not"},{"line_number":62,"context_line":"satified."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"In case the values are updated while guests are running on the"},{"line_number":65,"context_line":"host. Only new guests booted will take advantage of those new"},{"line_number":66,"context_line":"values. Meaning that the \"old\" guests running will remaining with the"},{"line_number":67,"context_line":"previous values."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"Alternatives"},{"line_number":70,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"df7087c5_a3545322","line":67,"range":{"start_line":64,"start_character":0,"end_line":67,"end_character":16},"updated":"2018-03-13 16:11:10.000000000","message":"What if a guest is resized, (hard) rebooted or live migrated?","commit_id":"58e2b41aed99612cbf7ef4b11e0ddf6abb0a9fce"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"0843e7c197580ea7f862902b71ea99b8341fa36c","unresolved":false,"context_lines":[{"line_number":61,"context_line":"printed for each guests started if the previous constraints are not"},{"line_number":62,"context_line":"satified."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"In case the values are updated while guests are running on the"},{"line_number":65,"context_line":"host. Only new guests booted will take advantage of those new"},{"line_number":66,"context_line":"values. Meaning that the \"old\" guests running will remaining with the"},{"line_number":67,"context_line":"previous values."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"Alternatives"},{"line_number":70,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"df7087c5_b97804c4","line":67,"range":{"start_line":64,"start_character":0,"end_line":67,"end_character":16},"in_reply_to":"df7087c5_a3545322","updated":"2018-03-13 17:56:04.000000000","message":"Since hard reboot is rewriting guest XML so the new values will be applied. For live-migration we do not rewrite guest XML, so the values should not change.\n\nI will add a note to make that clear.","commit_id":"58e2b41aed99612cbf7ef4b11e0ddf6abb0a9fce"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"200951df804fb807fc7d87275a176f09fef024ed","unresolved":false,"context_lines":[{"line_number":69,"context_line":"Alternatives"},{"line_number":70,"context_line":"------------"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"Operators could achieve this by manually update domain XML of guests."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"In Nova configuring the tx/rx queues could also be achieved by"},{"line_number":75,"context_line":"updating the binding profile of the ports created for an instance. But"}],"source_content_type":"text/x-rst","patch_set":7,"id":"df7087c5_c30f0735","line":72,"range":{"start_line":72,"start_character":0,"end_line":72,"end_character":69},"updated":"2018-03-13 16:11:10.000000000","message":"I wouldn\u0027t even list this as it\u0027s not a realistic alternative.","commit_id":"58e2b41aed99612cbf7ef4b11e0ddf6abb0a9fce"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"5e06de9b31ebd65b19927e2edbd7abb5aa65ef10","unresolved":false,"context_lines":[{"line_number":69,"context_line":"Alternatives"},{"line_number":70,"context_line":"------------"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"Operators could achieve this by manually update domain XML of guests."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"In Nova configuring the tx/rx queues could also be achieved by"},{"line_number":75,"context_line":"updating the binding profile of the ports created for an instance. But"}],"source_content_type":"text/x-rst","patch_set":7,"id":"df7087c5_34eb9b13","line":72,"range":{"start_line":72,"start_character":0,"end_line":72,"end_character":69},"in_reply_to":"df7087c5_c30f0735","updated":"2018-03-13 17:42:01.000000000","message":"And yet, distributions of OpenStack for NFV (RH + Dell/EMC) have done exactly this...\n\nFor example, see the RHOS NFV deployment guide, section \"4.10.1. Optimizing Performance with Emulator Thread Pinning\" where they are explicitly overriding the libvirt XML for a specific VM:\n\n virsh emulatorpin \u003cvm-name\u003e --cpulist 2","commit_id":"58e2b41aed99612cbf7ef4b11e0ddf6abb0a9fce"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"200951df804fb807fc7d87275a176f09fef024ed","unresolved":false,"context_lines":[{"line_number":76,"context_line":"it has been noticed that the tx/rx queues option is not related to"},{"line_number":77,"context_line":"Networking but specific to the virtio framework, then allowing users"},{"line_number":78,"context_line":"to update these values is not desirable since to correctly configure"},{"line_number":79,"context_line":"them the hardware should be knowing."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"In Nova configuring the tx/rx queue sizes could also be achieved by"},{"line_number":82,"context_line":"introducing flavor extra-specs which would have provided ability for"}],"source_content_type":"text/x-rst","patch_set":7,"id":"df7087c5_160c5f39","line":79,"range":{"start_line":79,"start_character":9,"end_line":79,"end_character":17},"updated":"2018-03-13 16:11:10.000000000","message":"And kernel version? And libvirt/qemu versions?","commit_id":"58e2b41aed99612cbf7ef4b11e0ddf6abb0a9fce"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"5e06de9b31ebd65b19927e2edbd7abb5aa65ef10","unresolved":false,"context_lines":[{"line_number":76,"context_line":"it has been noticed that the tx/rx queues option is not related to"},{"line_number":77,"context_line":"Networking but specific to the virtio framework, then allowing users"},{"line_number":78,"context_line":"to update these values is not desirable since to correctly configure"},{"line_number":79,"context_line":"them the hardware should be knowing."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"In Nova configuring the tx/rx queue sizes could also be achieved by"},{"line_number":82,"context_line":"introducing flavor extra-specs which would have provided ability for"}],"source_content_type":"text/x-rst","patch_set":7,"id":"df7087c5_b4d1eb25","line":79,"range":{"start_line":79,"start_character":28,"end_line":79,"end_character":35},"updated":"2018-03-13 17:42:01.000000000","message":"known","commit_id":"58e2b41aed99612cbf7ef4b11e0ddf6abb0a9fce"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"0843e7c197580ea7f862902b71ea99b8341fa36c","unresolved":false,"context_lines":[{"line_number":76,"context_line":"it has been noticed that the tx/rx queues option is not related to"},{"line_number":77,"context_line":"Networking but specific to the virtio framework, then allowing users"},{"line_number":78,"context_line":"to update these values is not desirable since to correctly configure"},{"line_number":79,"context_line":"them the hardware should be knowing."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"In Nova configuring the tx/rx queue sizes could also be achieved by"},{"line_number":82,"context_line":"introducing flavor extra-specs which would have provided ability for"}],"source_content_type":"text/x-rst","patch_set":7,"id":"df7087c5_d9d938f3","line":79,"range":{"start_line":79,"start_character":9,"end_line":79,"end_character":17},"in_reply_to":"df7087c5_160c5f39","updated":"2018-03-13 17:56:04.000000000","message":"yes also the NIC and network performance.","commit_id":"58e2b41aed99612cbf7ef4b11e0ddf6abb0a9fce"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"200951df804fb807fc7d87275a176f09fef024ed","unresolved":false,"context_lines":[{"line_number":78,"context_line":"to update these values is not desirable since to correctly configure"},{"line_number":79,"context_line":"them the hardware should be knowing."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"In Nova configuring the tx/rx queue sizes could also be achieved by"},{"line_number":82,"context_line":"introducing flavor extra-specs which would have provided ability for"},{"line_number":83,"context_line":"operators to restrict that feature to certain tenants, flexibility to"},{"line_number":84,"context_line":"update the values and manage the hosts using aggregates. Ability to"},{"line_number":85,"context_line":"configure different size for different flavors and finally any update"},{"line_number":86,"context_line":"of the values would have been without restarting nova-compute service."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"Data model impact"},{"line_number":89,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"df7087c5_362ac37e","line":86,"range":{"start_line":81,"start_character":0,"end_line":86,"end_character":70},"updated":"2018-03-13 16:11:10.000000000","message":"This seems much more flexible than adding new config options - why wouldn\u0027t we just do this instead? This would also likely mean other virt drivers besides just the libvirt driver could support this feature.","commit_id":"58e2b41aed99612cbf7ef4b11e0ddf6abb0a9fce"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"0843e7c197580ea7f862902b71ea99b8341fa36c","unresolved":false,"context_lines":[{"line_number":78,"context_line":"to update these values is not desirable since to correctly configure"},{"line_number":79,"context_line":"them the hardware should be knowing."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"In Nova configuring the tx/rx queue sizes could also be achieved by"},{"line_number":82,"context_line":"introducing flavor extra-specs which would have provided ability for"},{"line_number":83,"context_line":"operators to restrict that feature to certain tenants, flexibility to"},{"line_number":84,"context_line":"update the values and manage the hosts using aggregates. Ability to"},{"line_number":85,"context_line":"configure different size for different flavors and finally any update"},{"line_number":86,"context_line":"of the values would have been without restarting nova-compute service."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"Data model impact"},{"line_number":89,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"df7087c5_596a08ee","line":86,"range":{"start_line":81,"start_character":0,"end_line":86,"end_character":70},"in_reply_to":"df7087c5_362ac37e","updated":"2018-03-13 17:56:04.000000000","message":"It is yes. My original spec and preference was to use flavor-extra specs and I re-wrote the original code from Nicolas to use flavor-extra specs [0].\n\nBut It seems that you have decided during the PTG that the preference is for using nova.conf. I don\u0027t have the detail. Please refer yourself to Sylvain comment on Patchset 3.\n\n[0] https://review.openstack.org/#/c/484997/","commit_id":"58e2b41aed99612cbf7ef4b11e0ddf6abb0a9fce"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"5e06de9b31ebd65b19927e2edbd7abb5aa65ef10","unresolved":false,"context_lines":[{"line_number":78,"context_line":"to update these values is not desirable since to correctly configure"},{"line_number":79,"context_line":"them the hardware should be knowing."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"In Nova configuring the tx/rx queue sizes could also be achieved by"},{"line_number":82,"context_line":"introducing flavor extra-specs which would have provided ability for"},{"line_number":83,"context_line":"operators to restrict that feature to certain tenants, flexibility to"},{"line_number":84,"context_line":"update the values and manage the hosts using aggregates. Ability to"},{"line_number":85,"context_line":"configure different size for different flavors and finally any update"},{"line_number":86,"context_line":"of the values would have been without restarting nova-compute service."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"Data model impact"},{"line_number":89,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"df7087c5_344e3b97","line":86,"range":{"start_line":81,"start_character":0,"end_line":86,"end_character":70},"in_reply_to":"df7087c5_362ac37e","updated":"2018-03-13 17:42:01.000000000","message":"meh, probably because this isn\u0027t something that anyone but the OpenStack NFV distribution developer would ever tinker with...","commit_id":"58e2b41aed99612cbf7ef4b11e0ddf6abb0a9fce"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"aca267f8d334cabe3623c307140048b0dde45df0","unresolved":false,"context_lines":[{"line_number":78,"context_line":"to update these values is not desirable since to correctly configure"},{"line_number":79,"context_line":"them the hardware should be knowing."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"In Nova configuring the tx/rx queue sizes could also be achieved by"},{"line_number":82,"context_line":"introducing flavor extra-specs which would have provided ability for"},{"line_number":83,"context_line":"operators to restrict that feature to certain tenants, flexibility to"},{"line_number":84,"context_line":"update the values and manage the hosts using aggregates. Ability to"},{"line_number":85,"context_line":"configure different size for different flavors and finally any update"},{"line_number":86,"context_line":"of the values would have been without restarting nova-compute service."},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"Data model impact"},{"line_number":89,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"df7087c5_a67f5dde","line":86,"range":{"start_line":81,"start_character":0,"end_line":86,"end_character":70},"in_reply_to":"df7087c5_596a08ee","updated":"2018-03-14 19:32:06.000000000","message":"I don\u0027t remember talking about this at the PTG, but I probably wasn\u0027t paying attention to that either, but yes I was confused when I read this spec and then looked at the code change:\n\nhttps://review.openstack.org/#/c/484997/\n\nAnd noticed that it was using flavor extra specs as this spec describes.\n\nI see the notes at L503 here:\n\nhttps://etherpad.openstack.org/p/nova-ptg-rocky\n\nSpecifically:\n\n    How to expose this configurability to the user?\n\n    a) new flavor extra_spec values, e.g. hw:tx_queue_size and hw:rx_queue_size\n\n    b) a new libvirt specific config in nova.conf on the compute host\n\n    c) through neutron port\n\n    d) Don\u0027t expose this at all and simply default everyone to 1024 or whatever\n\n    We already tried to expose this via libvirt\u0027s qemu.conf. The patch was merged but later reverted as libvirt think this is a management application\u0027s problem. nova has to own this.\n\n    AGREED: make that a config option and in case people want to have different TX/RX queue sizes, just use host aggregates with flavor mapping\n\n--\n\nI\u0027d like Sylvain to explain why libvirt-specific config options are better than flavor extra specs here. I also don\u0027t understand the comment, \"in case people want to have different TX/RX queue sizes, just use host aggregates with flavor mapping\" that means the operator has to create different flavors with different extra specs just to map them to hosts that have a specific configuration, which is totally redundant (just add the extra spec and skip the host-level config).","commit_id":"58e2b41aed99612cbf7ef4b11e0ddf6abb0a9fce"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"200951df804fb807fc7d87275a176f09fef024ed","unresolved":false,"context_lines":[{"line_number":108,"context_line":"Other end user impact"},{"line_number":109,"context_line":"---------------------"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"An user who wants to take advantage of that network improvement for"},{"line_number":112,"context_line":"its guests must use flavors that have been to be booted in the"},{"line_number":113,"context_line":"aggregates where hosts are configured with the tx/rx queue sizes"},{"line_number":114,"context_line":"updated."},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"Performance Impact"},{"line_number":117,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"df7087c5_567df77c","line":114,"range":{"start_line":111,"start_character":0,"end_line":114,"end_character":8},"updated":"2018-03-13 16:11:10.000000000","message":"The last alternative above talks about flavor extra specs, but since it\u0027s in the alternatives section, it sounds like defining this via flavor extra specs (or image properties) isn\u0027t the proposed solution, so I\u0027m confused as to why it\u0027s mentioned here.","commit_id":"58e2b41aed99612cbf7ef4b11e0ddf6abb0a9fce"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"0843e7c197580ea7f862902b71ea99b8341fa36c","unresolved":false,"context_lines":[{"line_number":108,"context_line":"Other end user impact"},{"line_number":109,"context_line":"---------------------"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"An user who wants to take advantage of that network improvement for"},{"line_number":112,"context_line":"its guests must use flavors that have been to be booted in the"},{"line_number":113,"context_line":"aggregates where hosts are configured with the tx/rx queue sizes"},{"line_number":114,"context_line":"updated."},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"Performance Impact"},{"line_number":117,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"df7087c5_4fd9d67c","line":114,"range":{"start_line":111,"start_character":0,"end_line":114,"end_character":8},"in_reply_to":"df7087c5_567df77c","updated":"2018-03-13 17:56:04.000000000","message":"We do not suppose all the hosts are going to be configured to use new values for TX/RX queue sizes. So we are suggesting operators to isolate the hosts on a specific aggregate. So using the flavors to match with the aggregate.\n\nI will rewrote that to make it more clear.","commit_id":"58e2b41aed99612cbf7ef4b11e0ddf6abb0a9fce"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"200951df804fb807fc7d87275a176f09fef024ed","unresolved":false,"context_lines":[{"line_number":126,"context_line":"Developer impact"},{"line_number":127,"context_line":"----------------"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"Operators must configure `tx_queue_size` and/or `rx_queue_size`, then"},{"line_number":130,"context_line":"isolate the hosts on specific host aggregates and configure flavor"},{"line_number":131,"context_line":"properties that will match properties of that aggregate."},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"Alternatively, operators can avoid isolate hosts."},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"Upgrade impact"},{"line_number":136,"context_line":"--------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"df7087c5_965e2f10","line":133,"range":{"start_line":129,"start_character":0,"end_line":133,"end_character":49},"updated":"2018-03-13 16:11:10.000000000","message":"This isn\u0027t a developer impact, this is a deployer impact.","commit_id":"58e2b41aed99612cbf7ef4b11e0ddf6abb0a9fce"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"0843e7c197580ea7f862902b71ea99b8341fa36c","unresolved":false,"context_lines":[{"line_number":126,"context_line":"Developer impact"},{"line_number":127,"context_line":"----------------"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"Operators must configure `tx_queue_size` and/or `rx_queue_size`, then"},{"line_number":130,"context_line":"isolate the hosts on specific host aggregates and configure flavor"},{"line_number":131,"context_line":"properties that will match properties of that aggregate."},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"Alternatively, operators can avoid isolate hosts."},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"Upgrade impact"},{"line_number":136,"context_line":"--------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"df7087c5_cfc40694","line":133,"range":{"start_line":129,"start_character":0,"end_line":133,"end_character":49},"in_reply_to":"df7087c5_965e2f10","updated":"2018-03-13 17:56:04.000000000","message":"right","commit_id":"58e2b41aed99612cbf7ef4b11e0ddf6abb0a9fce"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"200951df804fb807fc7d87275a176f09fef024ed","unresolved":false,"context_lines":[{"line_number":161,"context_line":"Testing"},{"line_number":162,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"None"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"Documentation Impact"},{"line_number":167,"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":7,"id":"df7087c5_d6ad87e9","line":164,"updated":"2018-03-13 16:11:10.000000000","message":"No testing? Surely there will at least be unit tests.","commit_id":"58e2b41aed99612cbf7ef4b11e0ddf6abb0a9fce"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"200951df804fb807fc7d87275a176f09fef024ed","unresolved":false,"context_lines":[{"line_number":166,"context_line":"Documentation Impact"},{"line_number":167,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"Operators would have to change the nova.conf to take benefit of this"},{"line_number":170,"context_line":"feature."},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"References"},{"line_number":173,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":7,"id":"df7087c5_d6db4779","line":170,"range":{"start_line":169,"start_character":0,"end_line":170,"end_character":8},"updated":"2018-03-13 16:11:10.000000000","message":"So there will be documentation of the config options themselves and any restrictions / limitations in using them (are these supported for all virt types including qemu and SR-IOV nics?).","commit_id":"58e2b41aed99612cbf7ef4b11e0ddf6abb0a9fce"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"0843e7c197580ea7f862902b71ea99b8341fa36c","unresolved":false,"context_lines":[{"line_number":166,"context_line":"Documentation Impact"},{"line_number":167,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"Operators would have to change the nova.conf to take benefit of this"},{"line_number":170,"context_line":"feature."},{"line_number":171,"context_line":""},{"line_number":172,"context_line":"References"},{"line_number":173,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":7,"id":"df7087c5_af4c3242","line":170,"range":{"start_line":169,"start_character":0,"end_line":170,"end_character":8},"in_reply_to":"df7087c5_d6db4779","updated":"2018-03-13 17:56:04.000000000","message":"I will make that clear.","commit_id":"58e2b41aed99612cbf7ef4b11e0ddf6abb0a9fce"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"652d466a4c55a55c6b4cef534a59e6ecc7f5bf29","unresolved":false,"context_lines":[{"line_number":84,"context_line":"to update these values is not desirable since to correctly configure"},{"line_number":85,"context_line":"them the hardware should be knowing."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"In Nova configuring the tx/rx queue sizes could also be achieved by"},{"line_number":88,"context_line":"introducing flavor extra-specs which would have provided ability for"},{"line_number":89,"context_line":"operators to restrict that feature to certain tenants, flexibility to"},{"line_number":90,"context_line":"update the values and manage the hosts using aggregates. Ability to"},{"line_number":91,"context_line":"configure different size for different flavors and finally any update"},{"line_number":92,"context_line":"of the values would have been without restarting nova-compute service."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Data model impact"},{"line_number":95,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"df7087c5_067f2915","line":92,"range":{"start_line":87,"start_character":0,"end_line":92,"end_character":70},"updated":"2018-03-14 19:24:18.000000000","message":"@sahid: I believe this is the alternative that @mriedem would like to see implemented. His argument is that not only would this be more flexible, but it would align with the many other NUMA and hardware-specific toggles that we currently support in the flavor extra specs and image metadata.","commit_id":"b2c35d29735a75c6899e65a413d49256e840482e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6de14b3e45d699f9d3f3663228046bf280f160ca","unresolved":false,"context_lines":[{"line_number":84,"context_line":"to update these values is not desirable since to correctly configure"},{"line_number":85,"context_line":"them the hardware should be knowing."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"In Nova configuring the tx/rx queue sizes could also be achieved by"},{"line_number":88,"context_line":"introducing flavor extra-specs which would have provided ability for"},{"line_number":89,"context_line":"operators to restrict that feature to certain tenants, flexibility to"},{"line_number":90,"context_line":"update the values and manage the hosts using aggregates. Ability to"},{"line_number":91,"context_line":"configure different size for different flavors and finally any update"},{"line_number":92,"context_line":"of the values would have been without restarting nova-compute service."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Data model impact"},{"line_number":95,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"df7087c5_a6cd1d32","line":92,"range":{"start_line":87,"start_character":0,"end_line":92,"end_character":70},"in_reply_to":"df7087c5_067f2915","updated":"2018-03-14 19:33:15.000000000","message":"Yes. See my replies in PS7. I didn\u0027t remember this being discussed at the PTG but also don\u0027t understand the agreement stated in the etherpad - maybe Sylvain can elaborate, but he\u0027s on vacation until next week.","commit_id":"b2c35d29735a75c6899e65a413d49256e840482e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"84ef11d6c895116663f987bbcccf3de81eda57c7","unresolved":false,"context_lines":[{"line_number":84,"context_line":"to update these values is not desirable since to correctly configure"},{"line_number":85,"context_line":"them the hardware should be knowing."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"In Nova configuring the tx/rx queue sizes could also be achieved by"},{"line_number":88,"context_line":"introducing flavor extra-specs which would have provided ability for"},{"line_number":89,"context_line":"operators to restrict that feature to certain tenants, flexibility to"},{"line_number":90,"context_line":"update the values and manage the hosts using aggregates. Ability to"},{"line_number":91,"context_line":"configure different size for different flavors and finally any update"},{"line_number":92,"context_line":"of the values would have been without restarting nova-compute service."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Data model impact"},{"line_number":95,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"df7087c5_ff7b8988","line":92,"range":{"start_line":87,"start_character":0,"end_line":92,"end_character":70},"in_reply_to":"df7087c5_a6cd1d32","updated":"2018-03-15 09:48:49.000000000","message":"Wait, what? Hasn\u0027t there been explicit asks in the past to avoid adding yet more flavor extra spec \"knobs\" to nova where possible? I\u0027d been pushing the global config approach because (a) it avoided said knobs and (b) there was no ask to make this configurable on a per-instance basis so a global option was perfectly adequate. With this in mind, @gibi, @bauzas and I (plus everyone else in the room, I thought) agreed this was the way to go.\n\nIf that\u0027s not the case, then we definitely need some clarity on what is/isn\u0027t considered acceptable in nova to avoid sending people the wrong way like this in the future. We also need to provide this as PTG feedback as this is the second time this week that I\u0027ve been caught by something that was agreed in principle at the PTG and later questioned.","commit_id":"b2c35d29735a75c6899e65a413d49256e840482e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"9ee90b45792836ac3733ec0251a71e45c67fd02d","unresolved":false,"context_lines":[{"line_number":84,"context_line":"to update these values is not desirable since to correctly configure"},{"line_number":85,"context_line":"them the hardware should be knowing."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"In Nova configuring the tx/rx queue sizes could also be achieved by"},{"line_number":88,"context_line":"introducing flavor extra-specs which would have provided ability for"},{"line_number":89,"context_line":"operators to restrict that feature to certain tenants, flexibility to"},{"line_number":90,"context_line":"update the values and manage the hosts using aggregates. Ability to"},{"line_number":91,"context_line":"configure different size for different flavors and finally any update"},{"line_number":92,"context_line":"of the values would have been without restarting nova-compute service."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Data model impact"},{"line_number":95,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"df7087c5_7734ecfb","line":92,"range":{"start_line":87,"start_character":0,"end_line":92,"end_character":70},"in_reply_to":"df7087c5_d244fc49","updated":"2018-03-21 16:12:13.000000000","message":"I think this came up at the end of Thursday\u0027s nova-neutron cross project discussion. \n\nI think having flavor extra spec in case if this is a libvirt only feature (and it is today) actually counterproductive because it creates the extra need to signal to the end user when the requested flavor extra spec cannot be supported as none of the compute hosts are running (new enough) libvirt.\nIn the other hand having a host level config makes this problem well contained in the deployer\u0027s hands.","commit_id":"b2c35d29735a75c6899e65a413d49256e840482e"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d8c814a251a25e16930c4f3859facf7207ebbd5b","unresolved":false,"context_lines":[{"line_number":84,"context_line":"to update these values is not desirable since to correctly configure"},{"line_number":85,"context_line":"them the hardware should be knowing."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"In Nova configuring the tx/rx queue sizes could also be achieved by"},{"line_number":88,"context_line":"introducing flavor extra-specs which would have provided ability for"},{"line_number":89,"context_line":"operators to restrict that feature to certain tenants, flexibility to"},{"line_number":90,"context_line":"update the values and manage the hosts using aggregates. Ability to"},{"line_number":91,"context_line":"configure different size for different flavors and finally any update"},{"line_number":92,"context_line":"of the values would have been without restarting nova-compute service."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Data model impact"},{"line_number":95,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":8,"id":"df7087c5_d244fc49","line":92,"range":{"start_line":87,"start_character":0,"end_line":92,"end_character":70},"in_reply_to":"df7087c5_ff7b8988","updated":"2018-03-21 00:03:20.000000000","message":"I honestly didn\u0027t pay attention to the discussion about this at the PTG. It came up during the Friday miscellaneous everything discussion and that gets hard to pay attention to everything.\n\nYes flavor extra specs aren\u0027t great since they aren\u0027t standardized and validated like image properties.\n\nBut config options aren\u0027t great either, and at least with flavor extra specs we have an API (and can be set regardless of virt driver backend - it\u0027s my understanding that these new options would be libvirt-specific).","commit_id":"b2c35d29735a75c6899e65a413d49256e840482e"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"84944407f4fc2d47e332e145c323311f69f7f372","unresolved":false,"context_lines":[{"line_number":52,"context_line":"(VIF_TYPE_VHOSTUSER) will be booted with those new values."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"* \u0027hw:tx_queue_size\u0027"},{"line_number":55,"context_line":"* \u0027hw:rx_queue_size\u0027"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"The current virtio implementation allows the size to be between 256"},{"line_number":58,"context_line":"and 1024, and that number should be a power of two. A specific code"}],"source_content_type":"text/x-rst","patch_set":11,"id":"df7087c5_1d733318","line":55,"updated":"2018-03-22 14:35:29.000000000","message":"From the operator point of view, this seems like a per host setting, so I am leaning towards a configuration setting instead. Rather than having to modify a bunch of existing flavors and cause strange issues with rebuilds of old instances.\n\nI probably shouldn\u0027t ask what different settings on both side of a live-migration does? Might be worth ignoring that one I guess, except I am curious due to the upgrade path.","commit_id":"2f1df87d7f0cc32177ccd46540094fcdb31e94e8"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"b330d101cb0d773c56f1af56049a6ca2c9c7acf6","unresolved":false,"context_lines":[{"line_number":71,"context_line":"to update these values is not desirable since to correctly configure"},{"line_number":72,"context_line":"them the hardware should be knowing."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"In Nova configuring the tx/rx queue size could also be achieved by"},{"line_number":75,"context_line":"introducing options in Nova.conf. This would update the default values"},{"line_number":76,"context_line":"of each domain XML booted on host. It has been indicated that using"},{"line_number":77,"context_line":"nova.conf to update default values of guest XML is not a recommended"},{"line_number":78,"context_line":"way. Also operators will lost flexibility of having different values"}],"source_content_type":"text/x-rst","patch_set":11,"id":"df7087c5_7d534f6c","line":75,"range":{"start_line":74,"start_character":0,"end_line":75,"end_character":33},"updated":"2018-03-22 14:36:05.000000000","message":"Okay, I know this sucks, so let me start out by apologizing for the churn.\n\nOn the nova meeting just now, Stephen brought this up as a stuck review and we had a quick discussion about it. Overwhelming consensus was that a libvirt-specific config option would be more palatable to more people than this being in extra_specs. If we do the latter, we would want to try to normalize the value to \"shares\" or something generic enough that it could be used elsewhere. That, of course, will take more time and arguing and is more likely to get stuck in the mud.\n\nSo, johnthetubaguy and myself agreed to take responsibility for reviewing this if you can flip it back to being a config option and let us know when it\u0027s ready to review. Sorry for the churn, but hopefully that is as easy as reverting to a previous version.","commit_id":"2f1df87d7f0cc32177ccd46540094fcdb31e94e8"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"ffe80b2cb47c7aa0ec76f4f3ba55388762dec36c","unresolved":false,"context_lines":[{"line_number":30,"context_line":"Use Cases"},{"line_number":31,"context_line":"---------"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Larger queues sizes permit to amortize the vCPU preemption and avoid"},{"line_number":34,"context_line":"packet drops, which is one of the main NFV requirement: zero packet"},{"line_number":35,"context_line":"drop. With today\u0027s NFV VMs, 1k queues permit to achieve high"},{"line_number":36,"context_line":"performance without any packet drop, so being able to increase the"}],"source_content_type":"text/x-rst","patch_set":12,"id":"df7087c5_b256f1cd","line":33,"range":{"start_line":33,"start_character":27,"end_line":33,"end_character":38},"updated":"2018-03-22 16:54:04.000000000","message":"amortizing","commit_id":"138f294211f9aec3815889c2bc220141ae307b7d"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"ffe80b2cb47c7aa0ec76f4f3ba55388762dec36c","unresolved":false,"context_lines":[{"line_number":30,"context_line":"Use Cases"},{"line_number":31,"context_line":"---------"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Larger queues sizes permit to amortize the vCPU preemption and avoid"},{"line_number":34,"context_line":"packet drops, which is one of the main NFV requirement: zero packet"},{"line_number":35,"context_line":"drop. With today\u0027s NFV VMs, 1k queues permit to achieve high"},{"line_number":36,"context_line":"performance without any packet drop, so being able to increase the"}],"source_content_type":"text/x-rst","patch_set":12,"id":"df7087c5_92716d79","line":33,"range":{"start_line":33,"start_character":63,"end_line":33,"end_character":68},"updated":"2018-03-22 16:54:04.000000000","message":"avoiding","commit_id":"138f294211f9aec3815889c2bc220141ae307b7d"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"ffe80b2cb47c7aa0ec76f4f3ba55388762dec36c","unresolved":false,"context_lines":[{"line_number":31,"context_line":"---------"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Larger queues sizes permit to amortize the vCPU preemption and avoid"},{"line_number":34,"context_line":"packet drops, which is one of the main NFV requirement: zero packet"},{"line_number":35,"context_line":"drop. With today\u0027s NFV VMs, 1k queues permit to achieve high"},{"line_number":36,"context_line":"performance without any packet drop, so being able to increase the"},{"line_number":37,"context_line":"default queue size to 1k will solves today\u0027s issues. Making it"}],"source_content_type":"text/x-rst","patch_set":12,"id":"df7087c5_f20549c3","line":34,"range":{"start_line":34,"start_character":43,"end_line":34,"end_character":54},"updated":"2018-03-22 16:54:04.000000000","message":"requirements","commit_id":"138f294211f9aec3815889c2bc220141ae307b7d"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"ffe80b2cb47c7aa0ec76f4f3ba55388762dec36c","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Larger queues sizes permit to amortize the vCPU preemption and avoid"},{"line_number":34,"context_line":"packet drops, which is one of the main NFV requirement: zero packet"},{"line_number":35,"context_line":"drop. With today\u0027s NFV VMs, 1k queues permit to achieve high"},{"line_number":36,"context_line":"performance without any packet drop, so being able to increase the"},{"line_number":37,"context_line":"default queue size to 1k will solves today\u0027s issues. Making it"},{"line_number":38,"context_line":"configurable, per operator choice, will also help to address future"}],"source_content_type":"text/x-rst","patch_set":12,"id":"df7087c5_52fc35b4","line":35,"range":{"start_line":35,"start_character":45,"end_line":35,"end_character":55},"updated":"2018-03-22 16:54:04.000000000","message":"achieving","commit_id":"138f294211f9aec3815889c2bc220141ae307b7d"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"a89c9f76950fde5fbd1541596923c4cc2011d7fd","unresolved":false,"context_lines":[{"line_number":36,"context_line":"performance without any packet drop, so being able to increase the"},{"line_number":37,"context_line":"default queue size to 1k will solves today\u0027s issues. Making it"},{"line_number":38,"context_line":"configurable, per operator choice, will also help to address future"},{"line_number":39,"context_line":"NFV use cases (we are now shifting from 10Gbps NICs to 25Gbps NICs)."},{"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":12,"id":"df7087c5_b556dbcd","line":39,"updated":"2018-03-22 17:18:09.000000000","message":"Currently working on a setup with a 100Gb and 25Gb connection to each node, and another with 40Gb to each node. So +1 all that.","commit_id":"138f294211f9aec3815889c2bc220141ae307b7d"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"a89c9f76950fde5fbd1541596923c4cc2011d7fd","unresolved":false,"context_lines":[{"line_number":52,"context_line":"(VIF_TYPE_VHOSTUSER) will be booted with those new values."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"* \u0027tx_queue_size\u0027"},{"line_number":55,"context_line":"* \u0027rx_queue_size\u0027"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"For both option, `None` will be the default, meaning that libvirt"},{"line_number":58,"context_line":"driver will not include any value for the queue size in the domain XML"}],"source_content_type":"text/x-rst","patch_set":12,"id":"df7087c5_d5acafa0","line":55,"updated":"2018-03-22 17:18:09.000000000","message":"Its not clear if this requires a particular kernel version in the guest to deal with the queue size correctly, but that is a negotiation problem for QEMU not us, so I believe we can ignore that concern.","commit_id":"138f294211f9aec3815889c2bc220141ae307b7d"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"4c12cba6c4488144c7ab2df64b907c8a7159abe0","unresolved":false,"context_lines":[{"line_number":52,"context_line":"(VIF_TYPE_VHOSTUSER) will be booted with those new values."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"* \u0027tx_queue_size\u0027"},{"line_number":55,"context_line":"* \u0027rx_queue_size\u0027"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"For both option, `None` will be the default, meaning that libvirt"},{"line_number":58,"context_line":"driver will not include any value for the queue size in the domain XML"}],"source_content_type":"text/x-rst","patch_set":12,"id":"df7087c5_b537bbfe","line":55,"in_reply_to":"df7087c5_d5acafa0","updated":"2018-03-22 17:27:49.000000000","message":"We do not need particular version, the kernel limit the number of descriptors to 1024 and we add constraints to never overlap this value.","commit_id":"138f294211f9aec3815889c2bc220141ae307b7d"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"ffe80b2cb47c7aa0ec76f4f3ba55388762dec36c","unresolved":false,"context_lines":[{"line_number":54,"context_line":"* \u0027tx_queue_size\u0027"},{"line_number":55,"context_line":"* \u0027rx_queue_size\u0027"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"For both option, `None` will be the default, meaning that libvirt"},{"line_number":58,"context_line":"driver will not include any value for the queue size in the domain XML"},{"line_number":59,"context_line":"of the guests."},{"line_number":60,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"df7087c5_b2b27105","line":57,"range":{"start_line":57,"start_character":9,"end_line":57,"end_character":15},"updated":"2018-03-22 16:54:04.000000000","message":"options","commit_id":"138f294211f9aec3815889c2bc220141ae307b7d"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"ffe80b2cb47c7aa0ec76f4f3ba55388762dec36c","unresolved":false,"context_lines":[{"line_number":60,"context_line":""},{"line_number":61,"context_line":"The current implementation allows the size to be between 256 and 1024,"},{"line_number":62,"context_line":"and that number should be a power of two. A warning message will be"},{"line_number":63,"context_line":"printed for each guests started if the previous constraints are not"},{"line_number":64,"context_line":"satisfied."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"In case the values are updated while guests are running on the"}],"source_content_type":"text/x-rst","patch_set":12,"id":"df7087c5_9292cd56","line":63,"range":{"start_line":63,"start_character":17,"end_line":63,"end_character":23},"updated":"2018-03-22 16:54:04.000000000","message":"guest","commit_id":"138f294211f9aec3815889c2bc220141ae307b7d"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"ffe80b2cb47c7aa0ec76f4f3ba55388762dec36c","unresolved":false,"context_lines":[{"line_number":64,"context_line":"satisfied."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"In case the values are updated while guests are running on the"},{"line_number":67,"context_line":"host. Only new guests booted will take advantage of those new"},{"line_number":68,"context_line":"values. Meaning that the \"old\" guests running will remaining with the"},{"line_number":69,"context_line":"previous values."},{"line_number":70,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"df7087c5_f28a2919","line":67,"range":{"start_line":67,"start_character":0,"end_line":67,"end_character":10},"updated":"2018-03-22 16:54:04.000000000","message":"host, only","commit_id":"138f294211f9aec3815889c2bc220141ae307b7d"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"a89c9f76950fde5fbd1541596923c4cc2011d7fd","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"NOTE: One special case, during hard-reboot, the domain XML of guests"},{"line_number":72,"context_line":"are regenerated meaning that they will take advantage of the new"},{"line_number":73,"context_line":"values configured in \"nova.conf\"."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"Alternatives"},{"line_number":76,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":12,"id":"df7087c5_d5858f08","line":73,"updated":"2018-03-22 17:18:09.000000000","message":"No mention of the live-migration impact if you try to apply this during an upgrade. It sounds like it would just get adopted on the destination host?\n\nCould we confirm it doesn\u0027t block a live-migration so operators have a way to adopt this without guest downtime?","commit_id":"138f294211f9aec3815889c2bc220141ae307b7d"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"ffe80b2cb47c7aa0ec76f4f3ba55388762dec36c","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"NOTE: One special case, during hard-reboot, the domain XML of guests"},{"line_number":72,"context_line":"are regenerated meaning that they will take advantage of the new"},{"line_number":73,"context_line":"values configured in \"nova.conf\"."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"Alternatives"},{"line_number":76,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":12,"id":"df7087c5_72fa9975","line":73,"updated":"2018-03-22 16:54:04.000000000","message":"What about cold/live migration? I\u0027m guessing cold migration at least...","commit_id":"138f294211f9aec3815889c2bc220141ae307b7d"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"ae609dcd85fc63082fe23ff1ad6b51ba1576c812","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"NOTE: One special case, during hard-reboot, the domain XML of guests"},{"line_number":72,"context_line":"are regenerated meaning that they will take advantage of the new"},{"line_number":73,"context_line":"values configured in \"nova.conf\"."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"Alternatives"},{"line_number":76,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":12,"id":"df7087c5_eb1a307b","line":73,"in_reply_to":"df7087c5_55a5ff45","updated":"2018-03-22 18:38:24.000000000","message":"What happens if you live migrate something from one compute to another where the destination has a smaller value set, or where it is unset indicating that guests on that host should not have queues set?\n\nIs that likely to be a problem due to kernel or libvirt support versions? Or do we just warn the operator in the logs? Or fail the migration early?","commit_id":"138f294211f9aec3815889c2bc220141ae307b7d"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"4d26a150f86d74b35eda97674197192ceeff66ea","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"NOTE: One special case, during hard-reboot, the domain XML of guests"},{"line_number":72,"context_line":"are regenerated meaning that they will take advantage of the new"},{"line_number":73,"context_line":"values configured in \"nova.conf\"."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"Alternatives"},{"line_number":76,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":12,"id":"df7087c5_35d72bf1","line":73,"in_reply_to":"df7087c5_72fa9975","updated":"2018-03-22 17:21:58.000000000","message":"Good point, during cold migration we regenerate the domain xml on destination host. Matt asked me the same question but I only responded about live migration.","commit_id":"138f294211f9aec3815889c2bc220141ae307b7d"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"4c12cba6c4488144c7ab2df64b907c8a7159abe0","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"NOTE: One special case, during hard-reboot, the domain XML of guests"},{"line_number":72,"context_line":"are regenerated meaning that they will take advantage of the new"},{"line_number":73,"context_line":"values configured in \"nova.conf\"."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"Alternatives"},{"line_number":76,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":12,"id":"df7087c5_55a5ff45","line":73,"in_reply_to":"df7087c5_d5858f08","updated":"2018-03-22 17:27:49.000000000","message":"\u003eNo mention of the live-migration impact if you try to apply this during an upgrade. It sounds like it would just get adopted on the destination host?\n\nDuring live-migration we do not regenerate the domain XML, we just pass it to the destination host.","commit_id":"138f294211f9aec3815889c2bc220141ae307b7d"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"c4aec9d8eda6119b920b519273b92f5ab04cc65f","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"NOTE: One special case, during hard-reboot, the domain XML of guests"},{"line_number":72,"context_line":"are regenerated meaning that they will take advantage of the new"},{"line_number":73,"context_line":"values configured in \"nova.conf\"."},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"Alternatives"},{"line_number":76,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":12,"id":"df7087c5_961b8fc8","line":73,"in_reply_to":"df7087c5_eb1a307b","updated":"2018-03-23 07:13:54.000000000","message":"\u003e What happens if you live migrate something from one compute to another where the destination has a smaller value set, or where it is unset indicating that guests on that host should not have queues set?\n\nWe are updating virtio-net which is the guest side (QEMU process). If the destination host does not have or have a smaller value configured in nova.conf that is not going to make any difference. (it\u0027s also why I think having nova.conf changing elements of domain XML is not the best approach).\n\n\u003e Is that likely to be a problem due to kernel or libvirt support versions? Or do we just warn the operator in the logs? Or fail the migration early?\n\nIf your live-migrate to a host that does not have a libvirt version which supports this change in the interface element, libvirt will return an error when calling migrateToURI*, Nova will rollback migration.\n\nIf it\u0027s the QEMU version, when libvirt will start the QEMU -incoming process, QEMU will reject that argument, libvirt will return an error, Nova will rollback migration.\n\nI will add note about all of that.","commit_id":"138f294211f9aec3815889c2bc220141ae307b7d"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"ffe80b2cb47c7aa0ec76f4f3ba55388762dec36c","unresolved":false,"context_lines":[{"line_number":75,"context_line":"Alternatives"},{"line_number":76,"context_line":"------------"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Operators could achieve this by manually update domain XML of guests."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"In Nova configuring the tx/rx queues could also be achieved by"},{"line_number":81,"context_line":"updating the binding profile of the ports created for an instance. But"}],"source_content_type":"text/x-rst","patch_set":12,"id":"df7087c5_b231115c","line":78,"range":{"start_line":78,"start_character":41,"end_line":78,"end_character":47},"updated":"2018-03-22 16:54:04.000000000","message":"updating\n\nThis isn\u0027t really an alternative, right? Because we don\u0027t support that, and would overwrite it at any point.","commit_id":"138f294211f9aec3815889c2bc220141ae307b7d"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"ae609dcd85fc63082fe23ff1ad6b51ba1576c812","unresolved":false,"context_lines":[{"line_number":75,"context_line":"Alternatives"},{"line_number":76,"context_line":"------------"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Operators could achieve this by manually update domain XML of guests."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"In Nova configuring the tx/rx queues could also be achieved by"},{"line_number":81,"context_line":"updating the binding profile of the ports created for an instance. But"}],"source_content_type":"text/x-rst","patch_set":12,"id":"df7087c5_eb4c709f","line":78,"range":{"start_line":78,"start_character":41,"end_line":78,"end_character":47},"in_reply_to":"df7087c5_1531c75a","updated":"2018-03-22 18:38:24.000000000","message":"I don\u0027t think it should be listed, but if you think it\u0027s important for some reason, I guess I won\u0027t block over it.","commit_id":"138f294211f9aec3815889c2bc220141ae307b7d"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"4d26a150f86d74b35eda97674197192ceeff66ea","unresolved":false,"context_lines":[{"line_number":75,"context_line":"Alternatives"},{"line_number":76,"context_line":"------------"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Operators could achieve this by manually update domain XML of guests."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"In Nova configuring the tx/rx queues could also be achieved by"},{"line_number":81,"context_line":"updating the binding profile of the ports created for an instance. But"}],"source_content_type":"text/x-rst","patch_set":12,"id":"df7087c5_1531c75a","line":78,"range":{"start_line":78,"start_character":41,"end_line":78,"end_character":47},"in_reply_to":"df7087c5_b231115c","updated":"2018-03-22 17:21:58.000000000","message":"Matt asked the same question [0], sounds ok for you?\n\n[0] https://review.openstack.org/#/c/539605/7/specs/rocky/approved/libvirt-virtio-set-queue-sizes.rst@72","commit_id":"138f294211f9aec3815889c2bc220141ae307b7d"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"ffe80b2cb47c7aa0ec76f4f3ba55388762dec36c","unresolved":false,"context_lines":[{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Operators could achieve this by manually update domain XML of guests."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"In Nova configuring the tx/rx queues could also be achieved by"},{"line_number":81,"context_line":"updating the binding profile of the ports created for an instance. But"},{"line_number":82,"context_line":"it has been noticed that the tx/rx queues option is not related to"},{"line_number":83,"context_line":"Networking but specific to the virtio framework, then allowing users"}],"source_content_type":"text/x-rst","patch_set":12,"id":"df7087c5_f262293e","line":80,"range":{"start_line":80,"start_character":3,"end_line":80,"end_character":7},"updated":"2018-03-22 16:54:04.000000000","message":"Nova,","commit_id":"138f294211f9aec3815889c2bc220141ae307b7d"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"ffe80b2cb47c7aa0ec76f4f3ba55388762dec36c","unresolved":false,"context_lines":[{"line_number":89,"context_line":"operators to restrict that feature to certain tenants, flexibility to"},{"line_number":90,"context_line":"update the values and manage the hosts using aggregates. Ability to"},{"line_number":91,"context_line":"configure different size for different flavors and finally any update"},{"line_number":92,"context_line":"of the values would have been without restarting nova-compute service."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Data model impact"},{"line_number":95,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":12,"id":"df7087c5_b2cd9131","line":92,"range":{"start_line":92,"start_character":30,"end_line":92,"end_character":69},"updated":"2018-03-22 16:54:04.000000000","message":"Note that for your config-based approach, you could decorate the new config option with the \"reloadable\" marking and then a SIGHUP would re-load that value and make it active immediately.","commit_id":"138f294211f9aec3815889c2bc220141ae307b7d"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"a89c9f76950fde5fbd1541596923c4cc2011d7fd","unresolved":false,"context_lines":[{"line_number":89,"context_line":"operators to restrict that feature to certain tenants, flexibility to"},{"line_number":90,"context_line":"update the values and manage the hosts using aggregates. Ability to"},{"line_number":91,"context_line":"configure different size for different flavors and finally any update"},{"line_number":92,"context_line":"of the values would have been without restarting nova-compute service."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Data model impact"},{"line_number":95,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":12,"id":"df7087c5_b5957b34","line":92,"range":{"start_line":92,"start_character":30,"end_line":92,"end_character":69},"in_reply_to":"df7087c5_b2cd9131","updated":"2018-03-22 17:18:09.000000000","message":"Good point, we should probably do that.","commit_id":"138f294211f9aec3815889c2bc220141ae307b7d"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"4d26a150f86d74b35eda97674197192ceeff66ea","unresolved":false,"context_lines":[{"line_number":89,"context_line":"operators to restrict that feature to certain tenants, flexibility to"},{"line_number":90,"context_line":"update the values and manage the hosts using aggregates. Ability to"},{"line_number":91,"context_line":"configure different size for different flavors and finally any update"},{"line_number":92,"context_line":"of the values would have been without restarting nova-compute service."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Data model impact"},{"line_number":95,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":12,"id":"df7087c5_55eadfd7","line":92,"range":{"start_line":92,"start_character":30,"end_line":92,"end_character":69},"in_reply_to":"df7087c5_b2cd9131","updated":"2018-03-22 17:21:58.000000000","message":"Ok so I will remove that point.","commit_id":"138f294211f9aec3815889c2bc220141ae307b7d"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"ffe80b2cb47c7aa0ec76f4f3ba55388762dec36c","unresolved":false,"context_lines":[{"line_number":116,"context_line":""},{"line_number":117,"context_line":"We are assuming that the compute nodes configured with new values for"},{"line_number":118,"context_line":"network improvement are going to be isolated in specific"},{"line_number":119,"context_line":"aggregates. An user who wants to take advantage of that network"},{"line_number":120,"context_line":"improvement would use flavors that are configured to boot on those"},{"line_number":121,"context_line":"specifics aggregates."},{"line_number":122,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"df7087c5_f24c699f","line":119,"range":{"start_line":119,"start_character":12,"end_line":119,"end_character":14},"updated":"2018-03-22 16:54:04.000000000","message":"A","commit_id":"138f294211f9aec3815889c2bc220141ae307b7d"},{"author":{"_account_id":782,"name":"John Garbutt","email":"john@johngarbutt.com","username":"johngarbutt"},"change_message_id":"a89c9f76950fde5fbd1541596923c4cc2011d7fd","unresolved":false,"context_lines":[{"line_number":118,"context_line":"network improvement are going to be isolated in specific"},{"line_number":119,"context_line":"aggregates. An user who wants to take advantage of that network"},{"line_number":120,"context_line":"improvement would use flavors that are configured to boot on those"},{"line_number":121,"context_line":"specifics aggregates."},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"Performance Impact"},{"line_number":124,"context_line":"------------------"}],"source_content_type":"text/x-rst","patch_set":12,"id":"df7087c5_b5249b61","line":121,"updated":"2018-03-22 17:18:09.000000000","message":"+1 it seems related to the host more than anything.","commit_id":"138f294211f9aec3815889c2bc220141ae307b7d"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"45d519c5263b72856ff04ab4cee326e42c4442c4","unresolved":false,"context_lines":[{"line_number":30,"context_line":"Use Cases"},{"line_number":31,"context_line":"---------"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Larger queues sizes permit to amortizing the vCPU preemption and"},{"line_number":34,"context_line":"avoiding packet drops, which is one of the main NFV requirements: zero"},{"line_number":35,"context_line":"packet drop. With today\u0027s NFV VMs, 1k queues permit achieving high"},{"line_number":36,"context_line":"performance without any packet drop, so being able to increase the"}],"source_content_type":"text/x-rst","patch_set":14,"id":"df7087c5_9f3cf793","line":33,"range":{"start_line":33,"start_character":20,"end_line":33,"end_character":41},"updated":"2018-03-23 14:39:17.000000000","message":"allow amortizing the preemption costs and avoid packet drops","commit_id":"eb0454aee1b7601b3450e61df88fd38dd78a8314"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"45d519c5263b72856ff04ab4cee326e42c4442c4","unresolved":false,"context_lines":[{"line_number":34,"context_line":"avoiding packet drops, which is one of the main NFV requirements: zero"},{"line_number":35,"context_line":"packet drop. With today\u0027s NFV VMs, 1k queues permit achieving high"},{"line_number":36,"context_line":"performance without any packet drop, so being able to increase the"},{"line_number":37,"context_line":"default queue size to 1k will solves today\u0027s issues. Making it"},{"line_number":38,"context_line":"configurable, per operator choice, will also help to address future"},{"line_number":39,"context_line":"NFV use cases (we are now shifting from 10Gbps NICs to 25Gbps NICs)."},{"line_number":40,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"df7087c5_1f71c776","line":37,"range":{"start_line":37,"start_character":30,"end_line":37,"end_character":36},"updated":"2018-03-23 14:39:17.000000000","message":"solve","commit_id":"eb0454aee1b7601b3450e61df88fd38dd78a8314"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"f225c6c7a8f4a0310ec13d037a2e4cd70ae0ab54","unresolved":false,"context_lines":[{"line_number":45,"context_line":"configure RX queue size. In QEMU 2.10.0 and libvirt 3.7.0 a new"},{"line_number":46,"context_line":"tunable has been introduced to update TX queue size of virtio NICs."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"The proposed change is to add new options in \"nova.conf\" under the"},{"line_number":49,"context_line":"\"libvirt\" section to update the default values of guest XML started on"},{"line_number":50,"context_line":"host. So all guests that are using vif type model virtio backed to"},{"line_number":51,"context_line":"vhost (VIF_TYPE_BRIDGE, VIF_TYPE_OVS) or backed to vhostuser"},{"line_number":52,"context_line":"(VIF_TYPE_VHOSTUSER) will be booted with those new values."}],"source_content_type":"text/x-rst","patch_set":14,"id":"df7087c5_2e233aa9","line":49,"range":{"start_line":48,"start_character":0,"end_line":49,"end_character":9},"updated":"2018-03-23 15:12:40.000000000","message":"thanks for the last update.","commit_id":"eb0454aee1b7601b3450e61df88fd38dd78a8314"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"f225c6c7a8f4a0310ec13d037a2e4cd70ae0ab54","unresolved":false,"context_lines":[{"line_number":134,"context_line":"Operators must configure `tx_queue_size` and/or `rx_queue_size` via"},{"line_number":135,"context_line":"\"nova.conf\", then isolate the hosts on specific host aggregates and"},{"line_number":136,"context_line":"configure flavor properties that will match properties of that"},{"line_number":137,"context_line":"aggregate."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"Alternatively, operators can avoid isolating hosts."},{"line_number":140,"context_line":""}],"source_content_type":"text/x-rst","patch_set":14,"id":"df7087c5_ae2e6a89","line":137,"updated":"2018-03-23 15:12:40.000000000","message":"++","commit_id":"eb0454aee1b7601b3450e61df88fd38dd78a8314"}]}
