← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1939604] Re: Cannot create 1vcpu instance with multiqueue image, vif_type=tap (calico)

 

Reviewed:  https://review.opendev.org/c/openstack/nova/+/804303
Committed: https://opendev.org/openstack/nova/commit/7fc6fe6fae891eae42b36ccb9d69cd0f6d6db21d
Submitter: "Zuul (22348)"
Branch:    master

commit 7fc6fe6fae891eae42b36ccb9d69cd0f6d6db21d
Author: Rodrigo Barbieri <rodrigo.barbieri2010@xxxxxxxxx>
Date:   Wed Aug 11 16:03:58 2021 -0300

    Fix 1vcpu error with multiqueue and vif_type=tap
    
    Fix for bug #1893263 introduced a regression where
    1 vcpu instances would fail to build when paired with
    multiqueue-enabled images, in the scenario vif_type=tap.
    
    Solution is to not pass multiqueue parameter when
    instances.get_flavor().vcpus = 1.
    
    Closes-bug: #1939604
    Change-Id: Iaccf2eeeb6e8bb80c658f51ce9ab4e8eb4093a55


** 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/1939604

Title:
  Cannot create 1vcpu instance with multiqueue image, vif_type=tap
  (calico)

Status in OpenStack Compute (nova):
  Fix Released

Bug description:
  Tested on stable/wallaby

  Fix for bug #1893263, in which it enabled vif_type=tap (calico use
  case) devices to support multiqueue in nova, also caused a regression
  where now when creating the instances with multiqueue, if using a
  flavor with only VCPU, it fails with the error below in the logs.

  This problem can easily be avoided by not using 1VCPUs flavors with
  multiqueue images (because they wouldn't make sense anyway), and
  therefore using non-multiqueue images when the flavor is 1VCPU, but
  provides a bad user experience: Users shouldn't need to be concerned
  about flavor+image combinations

  Steps to reproduce are the same as #1893263 but using a 1VCPU flavor +
  multiqueue metadata on images

  21-08-11 17:36:44.317 376565 ERROR nova.compute.manager [req-99e80890-6c99-4015-91b6-ef99e6be3fa7 ea7dfe225d48428c860321498e184739 8833157a5d244727a74017e5f8729312 - 0373963ccb0042da8306b35775521d60 0373963ccb0042da8306b35775521d60] [instance: 505b68b4-498c-4ea9-85ce-8be0c305ec4b] Failed to build and run instance: libvirt.libvirtError: Unable to create tap device tap73a105b8-82: Invalid argument
  2021-08-11 17:36:44.317 376565 ERROR nova.compute.manager [instance: 505b68b4-498c-4ea9-85ce-8be0c305ec4b] Traceback (most recent call last):
  2021-08-11 17:36:44.317 376565 ERROR nova.compute.manager [instance: 505b68b4-498c-4ea9-85ce-8be0c305ec4b]   File "/usr/lib/python3/dist-packages/nova/compute/manager.py", line 2366, in _build_and_run_instance
  2021-08-11 17:36:44.317 376565 ERROR nova.compute.manager [instance: 505b68b4-498c-4ea9-85ce-8be0c305ec4b]     self.driver.spawn(context, instance, image_meta,
  2021-08-11 17:36:44.317 376565 ERROR nova.compute.manager [instance: 505b68b4-498c-4ea9-85ce-8be0c305ec4b]   File "/usr/lib/python3/dist-packages/nova/virt/libvirt/driver.py", line 3885, in spawn
  2021-08-11 17:36:44.317 376565 ERROR nova.compute.manager [instance: 505b68b4-498c-4ea9-85ce-8be0c305ec4b]     self._create_guest_with_network(
  2021-08-11 17:36:44.317 376565 ERROR nova.compute.manager [instance: 505b68b4-498c-4ea9-85ce-8be0c305ec4b]   File "/usr/lib/python3/dist-packages/nova/virt/libvirt/driver.py", line 6961, in _create_guest_with_network
  2021-08-11 17:36:44.317 376565 ERROR nova.compute.manager [instance: 505b68b4-498c-4ea9-85ce-8be0c305ec4b]     self._cleanup_failed_start(
  2021-08-11 17:36:44.317 376565 ERROR nova.compute.manager [instance: 505b68b4-498c-4ea9-85ce-8be0c305ec4b]   File "/usr/lib/python3/dist-packages/oslo_utils/excutils.py", line 227, in __exit__
  2021-08-11 17:36:44.317 376565 ERROR nova.compute.manager [instance: 505b68b4-498c-4ea9-85ce-8be0c305ec4b]     self.force_reraise()
  2021-08-11 17:36:44.317 376565 ERROR nova.compute.manager [instance: 505b68b4-498c-4ea9-85ce-8be0c305ec4b]   File "/usr/lib/python3/dist-packages/oslo_utils/excutils.py", line 200, in force_reraise
  2021-08-11 17:36:44.317 376565 ERROR nova.compute.manager [instance: 505b68b4-498c-4ea9-85ce-8be0c305ec4b]     raise self.value
  2021-08-11 17:36:44.317 376565 ERROR nova.compute.manager [instance: 505b68b4-498c-4ea9-85ce-8be0c305ec4b]   File "/usr/lib/python3/dist-packages/nova/virt/libvirt/driver.py", line 6930, in _create_guest_with_network
  2021-08-11 17:36:44.317 376565 ERROR nova.compute.manager [instance: 505b68b4-498c-4ea9-85ce-8be0c305ec4b]     guest = self._create_guest(
  2021-08-11 17:36:44.317 376565 ERROR nova.compute.manager [instance: 505b68b4-498c-4ea9-85ce-8be0c305ec4b]   File "/usr/lib/python3/dist-packages/nova/virt/libvirt/driver.py", line 6863, in _create_guest
  2021-08-11 17:36:44.317 376565 ERROR nova.compute.manager [instance: 505b68b4-498c-4ea9-85ce-8be0c305ec4b]     guest.launch(pause=pause)
  2021-08-11 17:36:44.317 376565 ERROR nova.compute.manager [instance: 505b68b4-498c-4ea9-85ce-8be0c305ec4b]   File "/usr/lib/python3/dist-packages/nova/virt/libvirt/guest.py", line 158, in launch
  2021-08-11 17:36:44.317 376565 ERROR nova.compute.manager [instance: 505b68b4-498c-4ea9-85ce-8be0c305ec4b]     LOG.exception('Error launching a defined domain with XML: %s',
  2021-08-11 17:36:44.317 376565 ERROR nova.compute.manager [instance: 505b68b4-498c-4ea9-85ce-8be0c305ec4b]   File "/usr/lib/python3/dist-packages/oslo_utils/excutils.py", line 227, in __exit__
  2021-08-11 17:36:44.317 376565 ERROR nova.compute.manager [instance: 505b68b4-498c-4ea9-85ce-8be0c305ec4b]     self.force_reraise()
  2021-08-11 17:36:44.317 376565 ERROR nova.compute.manager [instance: 505b68b4-498c-4ea9-85ce-8be0c305ec4b]   File "/usr/lib/python3/dist-packages/oslo_utils/excutils.py", line 200, in force_reraise
  2021-08-11 17:36:44.317 376565 ERROR nova.compute.manager [instance: 505b68b4-498c-4ea9-85ce-8be0c305ec4b]     raise self.value
  2021-08-11 17:36:44.317 376565 ERROR nova.compute.manager [instance: 505b68b4-498c-4ea9-85ce-8be0c305ec4b]   File "/usr/lib/python3/dist-packages/nova/virt/libvirt/guest.py", line 155, in launch
  2021-08-11 17:36:44.317 376565 ERROR nova.compute.manager [instance: 505b68b4-498c-4ea9-85ce-8be0c305ec4b]     return self._domain.createWithFlags(flags)
  2021-08-11 17:36:44.317 376565 ERROR nova.compute.manager [instance: 505b68b4-498c-4ea9-85ce-8be0c305ec4b]   File "/usr/lib/python3/dist-packages/eventlet/tpool.py", line 193, in doit
  2021-08-11 17:36:44.317 376565 ERROR nova.compute.manager [instance: 505b68b4-498c-4ea9-85ce-8be0c305ec4b]     result = proxy_call(self._autowrap, f, *args, **kwargs)
  2021-08-11 17:36:44.317 376565 ERROR nova.compute.manager [instance: 505b68b4-498c-4ea9-85ce-8be0c305ec4b]   File "/usr/lib/python3/dist-packages/eventlet/tpool.py", line 151, in proxy_call
  2021-08-11 17:36:44.317 376565 ERROR nova.compute.manager [instance: 505b68b4-498c-4ea9-85ce-8be0c305ec4b]     rv = execute(f, *args, **kwargs)
  2021-08-11 17:36:44.317 376565 ERROR nova.compute.manager [instance: 505b68b4-498c-4ea9-85ce-8be0c305ec4b]   File "/usr/lib/python3/dist-packages/eventlet/tpool.py", line 132, in execute
  2021-08-11 17:36:44.317 376565 ERROR nova.compute.manager [instance: 505b68b4-498c-4ea9-85ce-8be0c305ec4b]     six.reraise(c, e, tb)
  2021-08-11 17:36:44.317 376565 ERROR nova.compute.manager [instance: 505b68b4-498c-4ea9-85ce-8be0c305ec4b]   File "/usr/lib/python3/dist-packages/six.py", line 703, in reraise
  2021-08-11 17:36:44.317 376565 ERROR nova.compute.manager [instance: 505b68b4-498c-4ea9-85ce-8be0c305ec4b]     raise value
  2021-08-11 17:36:44.317 376565 ERROR nova.compute.manager [instance: 505b68b4-498c-4ea9-85ce-8be0c305ec4b]   File "/usr/lib/python3/dist-packages/eventlet/tpool.py", line 86, in tworker
  2021-08-11 17:36:44.317 376565 ERROR nova.compute.manager [instance: 505b68b4-498c-4ea9-85ce-8be0c305ec4b]     rv = meth(*args, **kwargs)
  2021-08-11 17:36:44.317 376565 ERROR nova.compute.manager [instance: 505b68b4-498c-4ea9-85ce-8be0c305ec4b]   File "/usr/lib/python3/dist-packages/libvirt.py", line 1265, in createWithFlags
  2021-08-11 17:36:44.317 376565 ERROR nova.compute.manager [instance: 505b68b4-498c-4ea9-85ce-8be0c305ec4b]     if ret == -1: raise libvirtError ('virDomainCreateWithFlags() failed', dom=self)
  2021-08-11 17:36:44.317 376565 ERROR nova.compute.manager [instance: 505b68b4-498c-4ea9-85ce-8be0c305ec4b] libvirt.libvirtError: Unable to create tap device tap73a105b8-82: Invalid argument
  2021-08-11 17:36:44.317 376565 ERROR nova.compute.manager [instance: 505b68b4-498c-4ea9-85ce-8be0c305ec4b]

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



References