Yea the documentation public documentation is definitely inconsistent with what it actually does and I think the original intent of force delete from the API point of view eg:
in the extension itself (which is called actually called deferred delete):
def _force_delete(self, req, id, body):
"""Force delete of instance before deferred cleanup."""
and in the compute code:
def force_delete(self, context, instance):
"""Force delete a previously deleted (but not reclaimed) instance.""" self._delete_instance(context, instance)
So I think there was when the Nova code was written (as opposed to the python-novaclient and the associated documentation) that force delete was there where someone wanted to "hurry up" the deferred delete process of Nova, rather than actually be used to delete a running instance
However having thought about it a bit, I think it does make sense that force delete could delete a running an instance and not just one that is deferred delete state. It is sort of an API change so we'll see what others think - it might need to be deferred to the next version of the API.
Yea the documentation public documentation is definitely inconsistent with what it actually does and I think the original intent of force delete from the API point of view eg:
in the extension itself (which is called actually called deferred delete):
def _force_delete(self, req, id, body):
"""Force delete of instance before deferred cleanup."""
and in the compute code:
def force_delete(self, context, instance):
self._ delete_ instance( context, instance)
"""Force delete a previously deleted (but not reclaimed) instance."""
So I think there was when the Nova code was written (as opposed to the python-novaclient and the associated documentation) that force delete was there where someone wanted to "hurry up" the deferred delete process of Nova, rather than actually be used to delete a running instance
However having thought about it a bit, I think it does make sense that force delete could delete a running an instance and not just one that is deferred delete state. It is sort of an API change so we'll see what others think - it might need to be deferred to the next version of the API.