I can't reproduce it by hand, but I can with a testing script I'm working on. I think it may be timing related, but that's not clear yet.
My script has only been able to reproduce when reverting a resize. I don't know how that is related yet.
The symptom is that you will have an instance left still running after a delete instance. The instance will be marked as deleted in the database and won't show up in 'nova list'.
Exceptions like this will end up in the nova-compute logs:
2012-03-24 03:04:53 DEBUG nova.virt.xenapi.vm_utils [req-2d2923e0-efd9-4e50-9cb4-03c816e9f8e9 admin openstack] VDI c50358e4-6171-49dc-acfa-f4114bbae294 is still available from (pid=22488) lookup_vm_vdis /home/johannes/openstack/nova/trunk/nova/virt/xenapi/vm_utils.py:1025
2012-03-24 03:04:53 ERROR nova.virt.xenapi.vm_utils [req-2d2923e0-efd9-4e50-9cb4-03c816e9f8e9 admin openstack] ['VDI_IN_USE', 'OpaqueRef:94e3ae3c-5ed2-3203-7ae9-c7ebdcb26116']
(nova.virt.xenapi.vm_utils): TRACE: Traceback (most recent call last):
(nova.virt.xenapi.vm_utils): TRACE: File "/home/johannes/openstack/nova/trunk/nova/virt/xenapi/vm_utils.py", line 318, in destroy_vdi
(nova.virt.xenapi.vm_utils): TRACE: session.call_xenapi('VDI.destroy', vdi_ref)
(nova.virt.xenapi.vm_utils): TRACE: File "/home/johannes/openstack/nova/trunk/nova/virt/xenapi_conn.py", line 574, in call_xenapi
(nova.virt.xenapi.vm_utils): TRACE: return tpool.execute(f, *args)
(nova.virt.xenapi.vm_utils): TRACE: File "/usr/local/lib/python2.6/dist-packages/eventlet/tpool.py", line 76, in tworker
(nova.virt.xenapi.vm_utils): TRACE: rv = meth(*args,**kwargs)
(nova.virt.xenapi.vm_utils): TRACE: File "/usr/local/lib/python2.6/dist-packages/eventlet/tpool.py", line 76, in tworker
(nova.virt.xenapi.vm_utils): TRACE: rv = meth(*args,**kwargs)
(nova.virt.xenapi.vm_utils): TRACE: File "/usr/local/lib/python2.6/dist-packages/XenAPI.py", line 229, in __call__
(nova.virt.xenapi.vm_utils): TRACE: return self.__send(self.__name, args)
(nova.virt.xenapi.vm_utils): TRACE: File "/usr/local/lib/python2.6/dist-packages/XenAPI.py", line 133, in xenapi_request
(nova.virt.xenapi.vm_utils): TRACE: result = _parse_result(getattr(self, methodname)(*full_params))
(nova.virt.xenapi.vm_utils): TRACE: File "/usr/local/lib/python2.6/dist-packages/XenAPI.py", line 203, in _parse_result
(nova.virt.xenapi.vm_utils): TRACE: raise Failure(result['ErrorDescription'])
(nova.virt.xenapi.vm_utils): TRACE: Failure: ['VDI_IN_USE', 'OpaqueRef:94e3ae3c-5ed2-3203-7ae9-c7ebdcb26116']
(nova.virt.xenapi.vm_utils): TRACE:
2012-03-24 03:04:53 ERROR nova.virt.xenapi.vmops [req-2d2923e0-efd9-4e50-9cb4-03c816e9f8e9 admin openstack] Unable to destroy VDI OpaqueRef:94e3ae3c-5ed2-3203-7ae9-c7ebdcb26116
I can't reproduce it by hand, but I can with a testing script I'm working on. I think it may be timing related, but that's not clear yet.
My script has only been able to reproduce when reverting a resize. I don't know how that is related yet.
The symptom is that you will have an instance left still running after a delete instance. The instance will be marked as deleted in the database and won't show up in 'nova list'.
Exceptions like this will end up in the nova-compute logs:
2012-03-24 03:04:53 DEBUG nova.virt. xenapi. vm_utils [req-2d2923e0- efd9-4e50- 9cb4-03c816e9f8 e9 admin openstack] VDI c50358e4- 6171-49dc- acfa-f4114bbae2 94 is still available from (pid=22488) lookup_vm_vdis /home/johannes/ openstack/ nova/trunk/ nova/virt/ xenapi/ vm_utils. py:1025 xenapi. vm_utils [req-2d2923e0- efd9-4e50- 9cb4-03c816e9f8 e9 admin openstack] ['VDI_IN_USE', 'OpaqueRef: 94e3ae3c- 5ed2-3203- 7ae9-c7ebdcb261 16'] xenapi. vm_utils) : TRACE: Traceback (most recent call last): xenapi. vm_utils) : TRACE: File "/home/ johannes/ openstack/ nova/trunk/ nova/virt/ xenapi/ vm_utils. py", line 318, in destroy_vdi xenapi. vm_utils) : TRACE: session. call_xenapi( 'VDI.destroy' , vdi_ref) xenapi. vm_utils) : TRACE: File "/home/ johannes/ openstack/ nova/trunk/ nova/virt/ xenapi_ conn.py" , line 574, in call_xenapi xenapi. vm_utils) : TRACE: return tpool.execute(f, *args) xenapi. vm_utils) : TRACE: File "/usr/local/ lib/python2. 6/dist- packages/ eventlet/ tpool.py" , line 76, in tworker xenapi. vm_utils) : TRACE: rv = meth(*args, **kwargs)
2012-03-24 03:04:53 ERROR nova.virt.
(nova.virt.
(nova.virt.
(nova.virt.
(nova.virt.
(nova.virt.
(nova.virt.
(nova.virt.
(nova.virt. xenapi. vm_utils) : TRACE: File "/usr/local/ lib/python2. 6/dist- packages/ eventlet/ tpool.py" , line 76, in tworker xenapi. vm_utils) : TRACE: rv = meth(*args, **kwargs) xenapi. vm_utils) : TRACE: File "/usr/local/ lib/python2. 6/dist- packages/ XenAPI. py", line 229, in __call__ xenapi. vm_utils) : TRACE: return self.__ send(self. __name, args) xenapi. vm_utils) : TRACE: File "/usr/local/ lib/python2. 6/dist- packages/ XenAPI. py", line 133, in xenapi_request xenapi. vm_utils) : TRACE: result = _parse_ result( getattr( self, methodname) (*full_ params) ) xenapi. vm_utils) : TRACE: File "/usr/local/ lib/python2. 6/dist- packages/ XenAPI. py", line 203, in _parse_result xenapi. vm_utils) : TRACE: raise Failure( result[ 'ErrorDescripti on']) xenapi. vm_utils) : TRACE: Failure: ['VDI_IN_USE', 'OpaqueRef: 94e3ae3c- 5ed2-3203- 7ae9-c7ebdcb261 16'] xenapi. vm_utils) : TRACE: xenapi. vmops [req-2d2923e0- efd9-4e50- 9cb4-03c816e9f8 e9 admin openstack] Unable to destroy VDI OpaqueRef: 94e3ae3c- 5ed2-3203- 7ae9-c7ebdcb261 16
(nova.virt.
(nova.virt.
(nova.virt.
(nova.virt.
(nova.virt.
(nova.virt.
(nova.virt.
(nova.virt.
(nova.virt.
2012-03-24 03:04:53 ERROR nova.virt.