yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #01146
[Bug 1046685] Re: InstanceNotFound exception was raised when more than one 'terminate_instance' operation was implemented if the first operation was blocked a period of time.
My reading of the code is that this bug does not exist in grizzly or
folsom and essex only gets security fixes now.
** Changed in: nova/essex
Status: New => Won't Fix
** Changed in: nova
Status: Triaged => Invalid
** Changed in: nova
Status: Invalid => Won't Fix
** Changed in: nova
Importance: Low => Undecided
--
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/1046685
Title:
InstanceNotFound exception was raised when more than one
'terminate_instance' operation was implemented if the first operation
was blocked a period of time.
Status in OpenStack Compute (Nova):
Won't Fix
Status in OpenStack Compute (nova) essex series:
Won't Fix
Bug description:
openstack-nova version: Essex
I saw that if I terminated an instance with several 'Terminate Instance' operations on horizon, and if the first operation was blocked by and reason such as Host is too busy to delete the instance's disk&dir quickly enough, because the first operation will get the instance lock, so the the rest of operations will wait for it at here:
@utils.synchronized(instance_uuid)
def do_terminate_instance():
when the first operation was done successfully, the rest of operations will go ahead to delete the 'deleted instance' by 'do_terminate_instance', when they searched this instance from db by 'instance = self.db.instance_get_by_uuid(elevated, instance_uuid)', the InstanceNotFound exception will be raised:
2012-09-05 16:59:33 ERROR nova.rpc.amqp [req-f50e5c63-dc90-4852-8327-31382ba17262 4969d06c67034c148be51e0147f28b10 844dc9fb4ad9499ea97b07c7b6cee137] Exception during message handling
2012-09-05 16:59:33 TRACE nova.rpc.amqp Traceback (most recent call last):
2012-09-05 16:59:33 TRACE nova.rpc.amqp File "/usr/lib/python2.7/dist-packages/nova/rpc/amqp.py", line 253, in _process_data
2012-09-05 16:59:33 TRACE nova.rpc.amqp rval = node_func(context=ctxt, **node_args)
2012-09-05 16:59:33 TRACE nova.rpc.amqp File "/usr/lib/python2.7/dist-packages/nova/exception.py", line 114, in wrapped
2012-09-05 16:59:33 TRACE nova.rpc.amqp return f(*args, **kw)
2012-09-05 16:59:33 TRACE nova.rpc.amqp File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 159, in decorated_function
2012-09-05 16:59:33 TRACE nova.rpc.amqp function(self, context, instance_uuid, *args, **kwargs)
2012-09-05 16:59:33 TRACE nova.rpc.amqp File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 177, in decorated_function
2012-09-05 16:59:33 TRACE nova.rpc.amqp return function(self, context, instance_uuid, *args, **kwargs)
2012-09-05 16:59:33 TRACE nova.rpc.amqp File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 759, in terminate_instance
2012-09-05 16:59:33 TRACE nova.rpc.amqp do_terminate_instance()
2012-09-05 16:59:33 TRACE nova.rpc.amqp File "/usr/lib/python2.7/dist-packages/nova/utils.py", line 945, in inner
2012-09-05 16:59:33 TRACE nova.rpc.amqp retval = f(*args, **kwargs)
2012-09-05 16:59:33 TRACE nova.rpc.amqp File "/usr/lib/python2.7/dist-packages/nova/compute/manager.py", line 749, in do_terminate_instance
2012-09-05 16:59:33 TRACE nova.rpc.amqp instance = self.db.instance_get_by_uuid(elevated, instance_uuid)
2012-09-05 16:59:33 TRACE nova.rpc.amqp File "/usr/lib/python2.7/dist-packages/nova/db/api.py", line 535, in instance_get_by_uuid
2012-09-05 16:59:33 TRACE nova.rpc.amqp return IMPL.instance_get_by_uuid(context, uuid)
2012-09-05 16:59:33 TRACE nova.rpc.amqp File "/usr/lib/python2.7/dist-packages/nova/db/sqlalchemy/api.py", line 120, in wrapper
2012-09-05 16:59:33 TRACE nova.rpc.amqp return f(*args, **kwargs)
2012-09-05 16:59:33 TRACE nova.rpc.amqp File "/usr/lib/python2.7/dist-packages/nova/db/sqlalchemy/api.py", line 1327, in instance_get_by_uuid
2012-09-05 16:59:33 TRACE nova.rpc.amqp raise exception.InstanceNotFound(instance_id=uuid)
2012-09-05 16:59:33 TRACE nova.rpc.amqp InstanceNotFound: Instance 71f0107d-f3aa-4bb8-acd2-2b623dfd42a7 could not be found.
2012-09-05 16:59:33 TRACE nova.rpc.amqp
I think this is a race problem, and should NOT be raised as an error,
may be we should catch this exception and just LOG an warning for
this. what guys think about this?
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1046685/+subscriptions