** Also affects: nova/juno Importance: Undecided Status: New -- 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 Status in OpenStack Compute (nova) juno series: New 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 -- 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