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 -- 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