Public bug reported: When a VM instantiated with a PF-PT (direct-physical) port, the Neutron SR-IOV agent removes the respective embedded switch device instance from the switch manager. After the VM releases the PF, the associated device (sys/class/net/<device>) appears immediately, but the initialization of its VFs and the creation of the appropriate sysfs entries (/sys/class/net/<device>/device/virtfn<#vf>) may even take more than a second, depending on the platform and the NIC's kernel driver capabilities. The Neutron SR-IOV agent eagerly tries to discover and register NIC devices, that are not blacklisted and not yet known, by creating the respective embedded switch instances and enumerating the avalable VFs underneat them. However, when it is done in an early phase, where the sysfs entries for the VFs are not yet present, because the PF has just been released, then a port-less embedded switch will be created to represent that device. As a consequence, port updates that target VFs which are supposed to belong to a incorrectly registered embedded device, won't be treated properly by the agent, causing a VM instantiation timeout.
** Affects: neutron Importance: Undecided Assignee: Oleg Bondarev (obondarev) Status: In Progress ** Tags: sriov-pci-pt -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to neutron. https://bugs.launchpad.net/bugs/1831622 Title: SRIOV: agent may not register VFs Status in neutron: In Progress Bug description: When a VM instantiated with a PF-PT (direct-physical) port, the Neutron SR-IOV agent removes the respective embedded switch device instance from the switch manager. After the VM releases the PF, the associated device (sys/class/net/<device>) appears immediately, but the initialization of its VFs and the creation of the appropriate sysfs entries (/sys/class/net/<device>/device/virtfn<#vf>) may even take more than a second, depending on the platform and the NIC's kernel driver capabilities. The Neutron SR-IOV agent eagerly tries to discover and register NIC devices, that are not blacklisted and not yet known, by creating the respective embedded switch instances and enumerating the avalable VFs underneat them. However, when it is done in an early phase, where the sysfs entries for the VFs are not yet present, because the PF has just been released, then a port-less embedded switch will be created to represent that device. As a consequence, port updates that target VFs which are supposed to belong to a incorrectly registered embedded device, won't be treated properly by the agent, causing a VM instantiation timeout. To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/1831622/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp