Public bug reported: When having the following in /etc/nova/nova.conf
pci_passthrough_whitelist={'devname':'enp5s0f1', 'physical_network':'physnet2'} Nova compute fails to start and I get the error: 2015-07-01 09:48:03.610 4791 ERROR nova.openstack.common.threadgroup [req-b86e5da5-a24e-4eb6-bebd-0ec36fc08021 - - - - -] Invalid PCI devices Whitelist config Invalid entry: '{'devname':'enp5s0f1', 'physical_network':'physnet2'}' 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup Traceback (most recent call last): 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/openstack/common/threadgroup.py", line 145, in wait 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup x.wait() 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/openstack/common/threadgroup.py", line 47, in wait 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup return self.thread.wait() 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/eventlet/greenthread.py", line 175, in wait 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup return self._exit_event.wait() 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/eventlet/event.py", line 121, in wait 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup return hubs.get_hub().switch() 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/eventlet/hubs/hub.py", line 294, in switch 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup return self.greenlet.switch() 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/eventlet/greenthread.py", line 214, in main 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup result = function(*args, **kwargs) 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/openstack/common/service.py", line 497, in run_service 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup service.start() 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/service.py", line 183, in start 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup self.manager.pre_start_hook() 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 1291, in pre_start_hook 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup self.update_available_resource(nova.context.get_admin_context()) 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 6246, in update_available_resource 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup rt = self._get_resource_tracker(nodename) 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 715, in _get_resource_tracker 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup nodename) 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/compute/resource_tracker.py", line 78, in __init__ 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup self.pci_filter = pci_whitelist.get_pci_devices_filter() 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/pci/whitelist.py", line 109, in get_pci_devices_filter 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup return PciHostDevicesWhiteList(CONF.pci_passthrough_whitelist) 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/pci/whitelist.py", line 89, in __init__ 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup self.specs = self._parse_white_list_from_config(whitelist_spec) 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/pci/whitelist.py", line 56, in _parse_white_list_from_config 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup reason=_("Invalid entry: '%s'") % jsonspec) 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup PciConfigInvalidWhitelist: Invalid PCI devices Whitelist config Invalid entry: '{'devname':'enp5s0f1', 'physical_network':'physnet2'}' When using double quotes there is no problem: pci_passthrough_whitelist={"devname":"enp5s0f1", "physical_network":"physnet2"} Version ====== python-nova-2015.1.0-13.el7ost.noarch ** Affects: nova 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/1470363 Title: pci_passthrough_whitelist should support single quotes for keys and values Status in OpenStack Compute (Nova): New Bug description: When having the following in /etc/nova/nova.conf pci_passthrough_whitelist={'devname':'enp5s0f1', 'physical_network':'physnet2'} Nova compute fails to start and I get the error: 2015-07-01 09:48:03.610 4791 ERROR nova.openstack.common.threadgroup [req-b86e5da5-a24e-4eb6-bebd-0ec36fc08021 - - - - -] Invalid PCI devices Whitelist config Invalid entry: '{'devname':'enp5s0f1', 'physical_network':'physnet2'}' 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup Traceback (most recent call last): 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/openstack/common/threadgroup.py", line 145, in wait 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup x.wait() 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/openstack/common/threadgroup.py", line 47, in wait 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup return self.thread.wait() 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/eventlet/greenthread.py", line 175, in wait 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup return self._exit_event.wait() 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/eventlet/event.py", line 121, in wait 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup return hubs.get_hub().switch() 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/eventlet/hubs/hub.py", line 294, in switch 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup return self.greenlet.switch() 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/eventlet/greenthread.py", line 214, in main 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup result = function(*args, **kwargs) 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/openstack/common/service.py", line 497, in run_service 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup service.start() 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/service.py", line 183, in start 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup self.manager.pre_start_hook() 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 1291, in pre_start_hook 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup self.update_available_resource(nova.context.get_admin_context()) 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 6246, in update_available_resource 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup rt = self._get_resource_tracker(nodename) 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 715, in _get_resource_tracker 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup nodename) 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/compute/resource_tracker.py", line 78, in __init__ 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup self.pci_filter = pci_whitelist.get_pci_devices_filter() 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/pci/whitelist.py", line 109, in get_pci_devices_filter 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup return PciHostDevicesWhiteList(CONF.pci_passthrough_whitelist) 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/pci/whitelist.py", line 89, in __init__ 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup self.specs = self._parse_white_list_from_config(whitelist_spec) 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup File "/usr/lib/python2.7/site-packages/nova/pci/whitelist.py", line 56, in _parse_white_list_from_config 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup reason=_("Invalid entry: '%s'") % jsonspec) 2015-07-01 09:48:03.610 4791 TRACE nova.openstack.common.threadgroup PciConfigInvalidWhitelist: Invalid PCI devices Whitelist config Invalid entry: '{'devname':'enp5s0f1', 'physical_network':'physnet2'}' When using double quotes there is no problem: pci_passthrough_whitelist={"devname":"enp5s0f1", "physical_network":"physnet2"} Version ====== python-nova-2015.1.0-13.el7ost.noarch To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1470363/+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