Why does nova limit the number of queues to 8 when booting an instance with a flavor extra spec of "hw:vif_multiqueue_enabled": "true" and more than 8 vCPUs in Red Hat OpenStack Platform?

Solution In Progress - Updated -

Issue

Disclaimer: Links contained herein to external website(s) are provided for convenience only. Red Hat has not reviewed the links and is not responsible for the content or its availability. The inclusion of any link to an external website does not imply endorsement by Red Hat of the website or their entities, products or services. You agree that Red Hat is not responsible or liable for any loss or expenses that may result due to your use of (or reliance on) the external site or content.

Why does nova limit the number of queues to 8 when booting an instance with a flavor extra spec of "hw:vif_multiqueue_enabled": "true" and more than 8 vCPUs in Red Hat OpenStack Platform?

Flavor's extra specs:

[stack@undercloud-4 ~]$ nova flavor-show m1.small.12cpu | grep extra| extra_specs                | {"hw:cpu_policy": "dedicated", "hw:vif_multiqueue_enabled": "true", "hw:mem_page_size": "large", "hw:numa_nodes": "2"} |

Booting an instance with this flavor:

nova boot --nic net-id=$NETID --image rhel --flavor m1.small.12cpu --key-name id_rsa rhel-test2

This generates the following XML:

virsh dumpxml 16 | less
(...)
    <interface type='vhostuser'>
      <mac address='fa:16:3e:b7:76:4e'/>
      <source type='unix' path='/var/run/openvswitch/vhu1e79eee9-37' mode='client'/>
      <model type='virtio'/>
      <driver name='vhost' queues='8'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
(...)

And from nova-compute.log

[root@overcloud-compute-0 ~]# grep queue /var/log/nova/nova-compute.log | grep vhost | grep driver | tail -n1
      <driver name="vhost" queues="8"/>

Environment

Red Hat OpenStack Platform
Red Hat Enterprise Linux 7
Red Hat Enterprise Linux with 3.x kernel versions

This article is applicable in OSP 10 when nova/neutron uses tap interfaces to connect an instance to the virtual network.
This article is applicable in OSP 13 when nova/neutron uses tap interfaces to connect an instance to the virtual network
While this article covers nova/neutron networking with tap interfaces, setups with OVS-DPDK have the same 8 queue limit

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content