Instance creation randomly fails with "Failed to allocate the network(s), not rescheduling" due to flapping SR-IOV ports exhausting the Neutron event queue

Solution Verified - Updated -

Issue

  • Instance creation fails intermittently and randomly due to Failed to allocate the network(s), not rescheduling error.

    </var/log/containers/nova/nova-compute.log on a compute node>
    WARNING nova.virt.libvirt.driver [...] [instance: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa] Timeout waiting for [('network-vif-plugged', 'bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb')] for instance with vm_state building and task_state spawning: eventlet.timeout.Timeout: 300 seconds
    ERROR nova.virt.block_device [...] [instance: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa] Build of instance aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa aborted: Failed to allocate the network(s), not rescheduling.: nova.exception.BuildAbortException: Build of instance aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa aborted: Failed to allocate the network(s), not rescheduling.
    
  • neutron-server logs show an abnormally high rate of OVN reports status up/down for port: <port-id> messages (e.g.: tens of thousands per hour).

    </var/log/containers/nova/nova-compute.log on a controller node>
      :
    INFO neutron.plugins.ml2.drivers.ovn.mech_driver.mech_driver [...] OVN reports status down for port: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
    INFO neutron.plugins.ml2.drivers.ovn.mech_driver.mech_driver [...] OVN reports status down for port: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
    INFO neutron.plugins.ml2.drivers.ovn.mech_driver.mech_driver [...] OVN reports status down for port: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
    INFO neutron.plugins.ml2.drivers.ovn.mech_driver.mech_driver [...] OVN reports status up for port: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
    INFO neutron.plugins.ml2.drivers.ovn.mech_driver.mech_driver [...] OVN reports status up for port: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
    INFO neutron.plugins.ml2.drivers.ovn.mech_driver.mech_driver [...] OVN reports status down for port: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
    INFO neutron.plugins.ml2.drivers.ovn.mech_driver.mech_driver [...] OVN reports status down for port: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
    INFO neutron.plugins.ml2.drivers.ovn.mech_driver.mech_driver [...] OVN reports status up for port: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
    INFO neutron.plugins.ml2.drivers.ovn.mech_driver.mech_driver [...] OVN reports status down for port: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa
    

Environment

  • Red Hat OpenStack Platform 17.1
  • ML2/OVN mechanism driver
  • SR-IOV ports (vnic_type=direct) in use

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