yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #28155
[Bug 1383345] Re: PCI-Passthrough : TypeError: pop() takes at most 1 argument (2 given
** Changed in: nova
Status: Fix Committed => Fix Released
** Changed in: nova
Milestone: None => kilo-2
--
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/1383345
Title:
PCI-Passthrough : TypeError: pop() takes at most 1 argument (2 given
Status in OpenStack Compute (Nova):
Fix Released
Bug description:
Setting the below causes nova to fail.
# White list of PCI devices available to VMs. For example:
# pci_passthrough_whitelist = [{"vendor_id": "8086",
# "product_id": "0443"}] (multi valued)
#pci_passthrough_whitelist=
pci_passthrough_whitelist=[{"vendor_id":"8086","product_id":"10fb"}]
Fails with :
CRITICAL nova [-] TypeError: pop() takes at most 1 argument (2 given)
2014-10-17 15:28:59.968 7153 CRITICAL nova [-] TypeError: pop() takes at most 1 argument (2 given)
2014-10-17 15:28:59.968 7153 TRACE nova Traceback (most recent call last):
2014-10-17 15:28:59.968 7153 TRACE nova File "/usr/bin/nova-compute", line 10, in <module>
2014-10-17 15:28:59.968 7153 TRACE nova sys.exit(main())
2014-10-17 15:28:59.968 7153 TRACE nova File "/usr/lib/python2.7/site-packages/nova/cmd/compute.py", line 72, in main
2014-10-17 15:28:59.968 7153 TRACE nova db_allowed=CONF.conductor.use_local)
2014-10-17 15:28:59.968 7153 TRACE nova File "/usr/lib/python2.7/site-packages/nova/service.py", line 275, in create
2014-10-17 15:28:59.968 7153 TRACE nova db_allowed=db_allowed)
2014-10-17 15:28:59.968 7153 TRACE nova File "/usr/lib/python2.7/site-packages/nova/service.py", line 148, in __init__
2014-10-17 15:28:59.968 7153 TRACE nova self.manager = manager_class(host=self.host, *args, **kwargs)
2014-10-17 15:28:59.968 7153 TRACE nova File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 631, in __init__
2014-10-17 15:28:59.968 7153 TRACE nova self.driver = driver.load_compute_driver(self.virtapi, compute_driver)
2014-10-17 15:28:59.968 7153 TRACE nova File "/usr/lib/python2.7/site-packages/nova/virt/driver.py", line 1402, in load_compute_driver
2014-10-17 15:28:59.968 7153 TRACE nova virtapi)
2014-10-17 15:28:59.968 7153 TRACE nova File "/usr/lib/python2.7/site-packages/nova/openstack/common/importutils.py", line 50, in import_object_ns
2014-10-17 15:28:59.968 7153 TRACE nova return import_class(import_value)(*args, **kwargs)
2014-10-17 15:28:59.968 7153 TRACE nova File "/usr/lib/python2.7/site-packages/nova/virt/libvirt/driver.py", line 405, in __init__
2014-10-17 15:28:59.968 7153 TRACE nova self.dev_filter = pci_whitelist.get_pci_devices_filter()
2014-10-17 15:28:59.968 7153 TRACE nova File "/usr/lib/python2.7/site-packages/nova/pci/pci_whitelist.py", line 88, in get_pci_devices_filter
2014-10-17 15:28:59.968 7153 TRACE nova return PciHostDevicesWhiteList(CONF.pci_passthrough_whitelist)
2014-10-17 15:28:59.968 7153 TRACE nova File "/usr/lib/python2.7/site-packages/nova/pci/pci_whitelist.py", line 68, in __init__
2014-10-17 15:28:59.968 7153 TRACE nova self.specs = self._parse_white_list_from_config(whitelist_spec)
2014-10-17 15:28:59.968 7153 TRACE nova File "/usr/lib/python2.7/site-packages/nova/pci/pci_whitelist.py", line 49, in _parse_white_list_from_config
2014-10-17 15:28:59.968 7153 TRACE nova spec = pci_devspec.PciDeviceSpec(jsonspec)
2014-10-17 15:28:59.968 7153 TRACE nova File "/usr/lib/python2.7/site-packages/nova/pci/pci_devspec.py", line 132, in __init__
2014-10-17 15:28:59.968 7153 TRACE nova self._init_dev_details()
2014-10-17 15:28:59.968 7153 TRACE nova File "/usr/lib/python2.7/site-packages/nova/pci/pci_devspec.py", line 137, in _init_dev_details
2014-10-17 15:28:59.968 7153 TRACE nova self.vendor_id = details.pop("vendor_id", ANY)
Changing the config to:
pci_passthrough_whitelist={"vendor_id":"8086","product_id":"10fb"}
Fixes the above.
In Icehouse, PCI Passthrough worked with passing a list, in Juno it is
broken.
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1383345/+subscriptions
References