← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1797146] Re: failed to boot guest with vnic_type direct when rx_queue_size, tx_queue_size and hw_vif_type are set

 

Reviewed:  https://review.opendev.org/609460
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=a235451578ad7af25268e82500dff5ba6a64ea4e
Submitter: Zuul
Branch:    master

commit a235451578ad7af25268e82500dff5ba6a64ea4e
Author: Stephen Finucane <sfinucan@xxxxxxxxxx>
Date:   Wed Oct 10 16:29:40 2018 +0100

    Ignore hw_vif_type for direct, direct-physical vNIC types
    
    As part of the fix for bug #1789074, we stopped setting the VIF model to
    virtio for a vif_type of 'direct' or 'direct-physical'. However, if
    users configured the 'hw_vif_type' image metadata property, the VIF
    model would be unconditionally set to whatever the user provided. This
    would result in bug #1789074 recurring. Given that the model attribute
    is unnecessary for these vNIC types, we can resolve this issue by
    simply ignoring the image metadata property when configuring such VIFs.
    
    Change-Id: I3bf5587c3a49c807bb14533dbbea8f72dca2f02b
    Signed-off-by: Stephen Finucane <sfinucan@xxxxxxxxxx>
    Closes-bug: #1797146


** Changed in: nova
       Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1797146

Title:
  failed to boot guest with vnic_type direct when rx_queue_size,
  tx_queue_size and hw_vif_type are set

Status in OpenStack Compute (nova):
  Fix Released

Bug description:
  Bug #1789074 addressed an issue with booting a guest with vnic_type
  direct when rx_queue_size and tx_queue_size. However, this failed to
  address an additional permutation: the user specifying
  hw_vif_type=virtio. If the user does this, the problem occurs once
  again.

  Reproduction steps are the same noted in bug #1789074 with one
  additional step needed:

    openstack image set --property hw_vif_type=virtio $IMAGE

  Once configured, boot an instance with this image and an SRIOV (PF or
  VF) interface and the instance will fail to spawn. This is because we
  first read and set the VIF model from the image metadata property:

  https://github.com/openstack/nova/blob/622ebf2fab0a9bf75ee12437bef28f60e083f849/nova/virt/libvirt/vif.py#L134-L135

  Which means a later check passes:

  https://github.com/openstack/nova/blob/622ebf2fab0a9bf75ee12437bef28f60e083f849/nova/virt/libvirt/vif.py#L172

  Without setting this property, that check would fail as we never
  configure the model for direct SR-IOV interfaces.

  https://github.com/openstack/nova/blob/622ebf2fab0a9bf75ee12437bef28f60e083f849/nova/virt/libvirt/vif.py#L139

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1797146/+subscriptions


References