** Changed in: nova
Status: Fix Committed => Fix Released
** Changed in: nova
Milestone: None => juno-1
--
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/1309067
Title:
Compute _init_instance changes instance from object to dict causing an
AttributeError
Status in OpenStack Compute (Nova):
Fix Released
Status in OpenStack Compute (nova) icehouse series:
Fix Released
Bug description:
On a compute restart sometimes the following error occurs and the
compute fails to start:
2014-04-17 03:36:09.527 26115 ERROR nova.openstack.common.threadgroup [-]
'dict' object has no attribute 'task_state'
2014-04-17 03:36:09.527 26115 TRACE nova.openstack.common.threadgroup
Traceback (most recent call last):
2014-04-17 03:36:09.527 26115 TRACE nova.openstack.common.threadgroup File
"/opt/rackstack/615.9/nova/lib/python2.6/site-packages/nova/openstack/common/threadgroup.py",
line 117, in wait
2014-04-17 03:36:09.527 26115 TRACE nova.openstack.common.threadgroup
x.wait()
2014-04-17 03:36:09.527 26115 TRACE nova.openstack.common.threadgroup File
"/opt/rackstack/615.9/nova/lib/python2.6/site-packages/nova/openstack/common/threadgroup.py",
line 49, in wait
2014-04-17 03:36:09.527 26115 TRACE nova.openstack.common.threadgroup
return self.thread.wait()
2014-04-17 03:36:09.527 26115 TRACE nova.openstack.common.threadgroup File
"/opt/rackstack/615.9/nova/lib/python2.6/site-packages/eventlet/greenthread.py",
line 168, in wait
2014-04-17 03:36:09.527 26115 TRACE nova.openstack.common.threadgroup
return self._exit_event.wait()
2014-04-17 03:36:09.527 26115 TRACE nova.openstack.common.threadgroup File
"/opt/rackstack/615.9/nova/lib/python2.6/site-packages/eventlet/event.py", line
116, in wait
2014-04-17 03:36:09.527 26115 TRACE nova.openstack.common.threadgroup
return hubs.get_hub().switch()
2014-04-17 03:36:09.527 26115 TRACE nova.openstack.common.threadgroup File
"/opt/rackstack/615.9/nova/lib/python2.6/site-packages/eventlet/hubs/hub.py",
line 187, in switch
2014-04-17 03:36:09.527 26115 TRACE nova.openstack.common.threadgroup
return self.greenlet.switch()
2014-04-17 03:36:09.527 26115 TRACE nova.openstack.common.threadgroup File
"/opt/rackstack/615.9/nova/lib/python2.6/site-packages/eventlet/greenthread.py",
line 194, in main
2014-04-17 03:36:09.527 26115 TRACE nova.openstack.common.threadgroup
result = function(*args, **kwargs)
2014-04-17 03:36:09.527 26115 TRACE nova.openstack.common.threadgroup File
"/opt/rackstack/615.9/nova/lib/python2.6/site-packages/nova/openstack/common/service.py",
line 480, in run_service
2014-04-17 03:36:09.527 26115 TRACE nova.openstack.common.threadgroup
service.start()
2014-04-17 03:36:09.527 26115 TRACE nova.openstack.common.threadgroup File
"/opt/rackstack/615.9/nova/lib/python2.6/site-packages/nova/service.py", line
177, in start
2014-04-17 03:36:09.527 26115 TRACE nova.openstack.common.threadgroup
self.manager.init_host()
2014-04-17 03:36:09.527 26115 TRACE nova.openstack.common.threadgroup File
"/opt/rackstack/615.9/nova/lib/python2.6/site-packages/nova/compute/manager.py",
line 871, in init_host
2014-04-17 03:36:09.527 26115 TRACE nova.openstack.common.threadgroup
self._init_instance(context, instance)
2014-04-17 03:36:09.527 26115 TRACE nova.openstack.common.threadgroup File
"/opt/rackstack/615.9/nova/lib/python2.6/site-packages/nova/compute/manager.py",
line 731, in _init_instance
2014-04-17 03:36:09.527 26115 TRACE nova.openstack.common.threadgroup if
instance.task_state == task_states.DELETING:
2014-04-17 03:36:09.527 26115 TRACE nova.openstack.common.threadgroup
AttributeError: 'dict' object has no attribute 'task_state'
2014-04-17 03:36:09.527 26115 TRACE nova.openstack.common.threadgroup
2014-04-17 04:01:15.145 27377 DEBUG nova.servicegroup.api [-] ServiceGroup
driver defined as an instance of db __new__
/opt/rackstack/615.9/nova/lib/python2.6/site-packages/nova/servicegroup/api.py:62
The issue appears to lie with the line immediately above which performs an
instance update and overwrites the instance object with a dict.
instance = self._instance_update(context, instance.uuid, task_state=None)
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1309067/+subscriptions
--
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : [email protected]
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help : https://help.launchpad.net/ListHelp