On 09/10/2013 04:42 PM, Russell Bryant wrote:
> On 09/10/2013 03:56 PM, David Kang wrote:
>>
>>  Hi,
>>
>>   I'm trying to test pci device passthrough feature.
>> Havana3 is installed using Packstack on CentOS 6.4.
>> Nova-compute dies right after start with error "NameError: global name '_' 
>> is not defined".
>> I'm not sure if it is due to misconfiguration of nova.conf or bug.
>> Any help will be appreciated.
>>
>> Here is the info:
>>
>> /etc/nova/nova.conf:
>> pci_alias={"name":"test", "product_id":"7190", "vendor_id":"8086", 
>> "device_type":"ACCEL"}
>>
>> pci_passthrough_whitelist=[{"vendor_id":"8086","product_id":"7190"}]
>>
>>  With that configuration, nova-compute fails with the following log:
>>
>>   File "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/amqp.py", 
>> line 461, in _process_data
>>     **args)
>>
>>   File 
>> "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/dispatcher.py", 
>> line 172, in dispatch
>>     result = getattr(proxyobj, method)(ctxt, **kwargs)
>>
>>   File "/usr/lib/python2.6/site-packages/nova/conductor/manager.py", line 
>> 567, in object_action
>>     result = getattr(objinst, objmethod)(context, *args, **kwargs)
>>
>>   File "/usr/lib/python2.6/site-packages/nova/objects/base.py", line 141, in 
>> wrapper
>>     return fn(self, ctxt, *args, **kwargs)
>>
>>   File "/usr/lib/python2.6/site-packages/nova/objects/pci_device.py", line 
>> 242, in save
>>     self._from_db_object(context, self, db_pci)
>>
>> NameError: global name '_' is not defined
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup 
>> Traceback (most recent call last):
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup   File 
>> "/usr/lib/python2.6/site-packages/nova/openstack/common/threadgroup.py", 
>> line 117, in wait
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup     
>> x.wait()
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup   File 
>> "/usr/lib/python2.6/site-packages/nova/openstack/common/threadgroup.py", 
>> line 49, in wait
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup     
>> return self.thread.wait()
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup   File 
>> "/usr/lib/python2.6/site-packages/eventlet/greenthread.py", line 166, in wait
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup     
>> return self._exit_event.wait()
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup   File 
>> "/usr/lib/python2.6/site-packages/eventlet/event.py", line 116, in wait
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup     
>> return hubs.get_hub().switch()
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup   File 
>> "/usr/lib/python2.6/site-packages/eventlet/hubs/hub.py", line 177, in switch
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup     
>> return self.greenlet.switch()
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup   File 
>> "/usr/lib/python2.6/site-packages/eventlet/greenthread.py", line 192, in main
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup     
>> result = function(*args, **kwargs)
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup   File 
>> "/usr/lib/python2.6/site-packages/nova/openstack/common/service.py", line 
>> 65, in run_service
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup     
>> service.start()
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup   File 
>> "/usr/lib/python2.6/site-packages/nova/service.py", line 164, in start
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup     
>> self.manager.pre_start_hook()
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup   File 
>> "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 805, in 
>> pre_start_hook
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup     
>> self.update_available_resource(nova.context.get_admin_context())
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup   File 
>> "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 4773, in 
>> update_available_resource
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup     
>> rt.update_available_resource(context)
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup   File 
>> "/usr/lib/python2.6/site-packages/nova/openstack/common/lockutils.py", line 
>> 246, in inner
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup     
>> return f(*args, **kwargs)
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup   File 
>> "/usr/lib/python2.6/site-packages/nova/compute/resource_tracker.py", line 
>> 318, in update_available_resource
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup     
>> self._sync_compute_node(context, resources)
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup   File 
>> "/usr/lib/python2.6/site-packages/nova/compute/resource_tracker.py", line 
>> 347, in _sync_compute_node
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup     
>> self._update(context, resources, prune_stats=True)
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup   File 
>> "/usr/lib/python2.6/site-packages/nova/compute/resource_tracker.py", line 
>> 420, in _update
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup     
>> self.pci_tracker.save(context)
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup   File 
>> "/usr/lib/python2.6/site-packages/nova/pci/pci_manager.py", line 126, in save
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup     
>> dev.save(context)
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup   File 
>> "/usr/lib/python2.6/site-packages/nova/objects/base.py", line 134, in wrapper
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup     
>> ctxt, self, fn.__name__, args, kwargs)
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup   File 
>> "/usr/lib/python2.6/site-packages/nova/conductor/rpcapi.py", line 497, in 
>> object_action
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup     
>> objmethod=objmethod, args=args, kwargs=kwargs)
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup   File 
>> "/usr/lib/python2.6/site-packages/nova/rpcclient.py", line 85, in call
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup     
>> return self._invoke(self.proxy.call, ctxt, method, **kwargs)
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup   File 
>> "/usr/lib/python2.6/site-packages/nova/rpcclient.py", line 63, in _invoke
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup     
>> return cast_or_call(ctxt, msg, **self.kwargs)
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup   File 
>> "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/proxy.py", line 
>> 126, in call
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup     
>> result = rpc.call(context, real_topic, msg, timeout)
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup   File 
>> "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/__init__.py", 
>> line 139, in call
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup     
>> return _get_impl().call(CONF, context, topic, msg, timeout)
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup   File 
>> "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/impl_qpid.py", 
>> line 794, in call
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup     
>> rpc_amqp.get_connection_pool(conf, Connection))
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup   File 
>> "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/amqp.py", line 
>> 574, in call
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup     rv 
>> = list(rv)
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup   File 
>> "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/amqp.py", line 
>> 539, in __iter__
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup     
>> raise result
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup 
>> NameError: global name '_' is not defined
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup 
>> Traceback (most recent call last):
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup 
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup   File 
>> "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/amqp.py", line 
>> 461, in _process_data
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup     
>> **args)
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup 
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup   File 
>> "/usr/lib/python2.6/site-packages/nova/openstack/common/rpc/dispatcher.py", 
>> line 172, in dispatch
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup     
>> result = getattr(proxyobj, method)(ctxt, **kwargs)
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup 
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup   File 
>> "/usr/lib/python2.6/site-packages/nova/conductor/manager.py", line 567, in 
>> object_action
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup     
>> result = getattr(objinst, objmethod)(context, *args, **kwargs)
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup 
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup   File 
>> "/usr/lib/python2.6/site-packages/nova/objects/base.py", line 141, in wrapper
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup     
>> return fn(self, ctxt, *args, **kwargs)
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup 
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup   File 
>> "/usr/lib/python2.6/site-packages/nova/objects/pci_device.py", line 242, in 
>> save
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup     
>> self._from_db_object(context, self, db_pci)
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup 
>> 2013-09-10 12:52:23.774 14749 TRACE nova.openstack.common.threadgroup 
>> NameError: global name '_' is not defined
> 
> Can you file a bug for this?
> 
> Fix here: https://review.openstack.org/45949

Ok, that fix was bogus (at least with the current code).  :-)

Please still file a bug to make sure we follow up on it though.

-- 
Russell Bryant

_______________________________________________
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to