** 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

Reply via email to