yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #46401
[Bug 1540764] Re: build instance fail with sriov port on child cell
I believe the issue is just that Cells does not support PCI pass
through. Cells v1 is frozen, and only regressions will be fixed. So this
is getting marked as Opinion as a future feature which will likely not
ever be done on cells v1.
** Tags added: pci
** Tags added: cells
** Changed in: nova
Status: New => Opinion
** Changed in: nova
Importance: Undecided => Wishlist
--
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/1540764
Title:
build instance fail with sriov port on child cell
Status in OpenStack Compute (nova):
Opinion
Bug description:
Version:
Kilo
Liberty
When I was trying to build instance with sriov port on my child cell, I used the following command:
nova boot --image 6df3b3d4-3c9e-4772-9f18-b6f42c6a9c77 --flavor 3 --nic port-id=61c20d21-43fe-487d-9296-893172cb725f --hint target_cell='api_cell!child_cell' sr-vxlan_vm30
But spawning failed on child_cell compute node. Here are error
information in nova-compute.log:
2016-01-14 11:00:17.246 2908 ERROR nova.compute.manager [req-9d7fafab-ea2a-43c3-a201-4234db29c572 8a9704e00c44452590c6c8d014ed028a 452b30922b3f42b59743158f695264c9 - - -] [instance: b91305de-5501-4083-9a0e-0f4bfc942f5c] Instance failed to spawn
016-01-14 11:00:17.246 2908 TRACE nova.compute.manager [instance: b91305de-5501-4083-9a0e-0f4bfc942f5c] Traceback (most recent call last):
2016-01-14 11:00:17.246 2908 TRACE nova.compute.manager [instance: b91305de-5501-4083-9a0e-0f4bfc942f5c] File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 2660, in _build_resources
2016-01-14 11:00:17.246 2908 TRACE nova.compute.manager [instance: b91305de-5501-4083-9a0e-0f4bfc942f5c] yield resources
2016-01-14 11:00:17.246 2908 TRACE nova.compute.manager [instance: b91305de-5501-4083-9a0e-0f4bfc942f5c] File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 2532, in _build_and_run_instance
2016-01-14 11:00:17.246 2908 TRACE nova.compute.manager [instance: b91305de-5501-4083-9a0e-0f4bfc942f5c] block_device_info=block_device_info)
2016-01-14 11:00:17.246 2908 TRACE nova.compute.manager [instance: b91305de-5501-4083-9a0e-0f4bfc942f5c] File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 2879, in spawn
2016-01-14 11:00:17.246 2908 TRACE nova.compute.manager [instance: b91305de-5501-4083-9a0e-0f4bfc942f5c] write_to_disk=True)
2016-01-14 11:00:17.246 2908 TRACE nova.compute.manager [instance: b91305de-5501-4083-9a0e-0f4bfc942f5c] File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 4844, in _get_guest_xml
2016-01-14 11:00:17.246 2908 TRACE nova.compute.manager [instance: b91305de-5501-4083-9a0e-0f4bfc942f5c] memory_backup_file=memory_backup_file)
2016-01-14 11:00:17.246 2908 TRACE nova.compute.manager [instance: b91305de-5501-4083-9a0e-0f4bfc942f5c] File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 4675, in _get_guest_config
2016-01-14 11:00:17.246 2908 TRACE nova.compute.manager [instance: b91305de-5501-4083-9a0e-0f4bfc942f5c] network_info, virt_type)
2016-01-14 11:00:17.246 2908 TRACE nova.compute.manager [instance: b91305de-5501-4083-9a0e-0f4bfc942f5c] File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 4818, in _get_guest_vif_config
2016-01-14 11:00:17.246 2908 TRACE nova.compute.manager [instance: b91305de-5501-4083-9a0e-0f4bfc942f5c] instance, vif, image_meta, flavor, virt_type)
2016-01-14 11:00:17.246 2908 TRACE nova.compute.manager [instance: b91305de-5501-4083-9a0e-0f4bfc942f5c] File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/vif.py", line 376, in get_config
2016-01-14 11:00:17.246 2908 TRACE nova.compute.manager [instance: b91305de-5501-4083-9a0e-0f4bfc942f5c] inst_type, virt_type)
2016-01-14 11:00:17.246 2908 TRACE nova.compute.manager [instance: b91305de-5501-4083-9a0e-0f4bfc942f5c] File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/vif.py", line 292, in get_config_hw_veb
2016-01-14 11:00:17.246 2908 TRACE nova.compute.manager [instance: b91305de-5501-4083-9a0e-0f4bfc942f5c] conf, net_type, profile["pci_slot"],
2016-01-14 11:00:17.246 2908 TRACE nova.compute.manager [instance: b91305de-5501-4083-9a0e-0f4bfc942f5c] KeyError: 'pci_slot'
In function _create_instances_here() in nova/cells/scheduler.py of
Kilo and Liberty, I found this:
# FIXME(danms): The instance was brutally serialized before being
# sent over RPC to us. Thus, the pci_requests value wasn't really
# sent in a useful form. Since it was getting ignored for cells
# before it was part of the Instance, skip it now until cells RPC
# is sending proper instance objects.
instance_values.pop('pci_requests', None)
The "pci_requests" is discarded by cell scheduler, because of unuseful
instance form.This is the causation of above error.
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1540764/+subscriptions
References