[openstack-dev] [nova] How were we going to remove soft delete again?

Sean Dague sean at dague.net
Mon Nov 30 11:42:14 UTC 2015


On 11/24/2015 11:36 AM, Matt Riedemann wrote:
> I know in Vancouver we talked about no more soft delete and in Mitaka
> lxsli decoupled the nova models from the SoftDeleteMixin [1].
> 
> From what I remember, the idea is to not add the deleted column to new
> tables, to not expose soft deleted resources in the REST API in new
> ways, and to eventually drop the deleted column from the models.
> 
> I bring up the REST API because I was tinkering with the idea of
> allowing non-admins to list/show their (soft) deleted instances [2].
> Doing that, however, would expose more of the REST API to deleted
> resources which makes it harder to remove from the data model.
> 
> My question is, how were we thinking we were going to remove the deleted
> column from the data model in a backward compatible way? A new
> microversion in the REST API isn't going to magically work if we drop
> the column in the data model, since anything before that microversion
> should still work - like listing deleted instances for the admin.
> 
> Am I forgetting something? There were a lot of ideas going around the
> room during the session in Vancouver and I'd like to sort out the
> eventual long-term plan so we can document it in the devref about
> policies so that when ideas like [2] come up we can point to the policy
> and say 'no we aren't going to do that and here's why'.
> 
> [1]
> http://specs.openstack.org/openstack/nova-specs/specs/mitaka/approved/no-more-soft-delete.html
> 
> [2]
> https://blueprints.launchpad.net/nova/+spec/non-admin-list-deleted-instances
> 
> 

On the API compat side. There is no contract with the user for how long
deleted items will be shown, or how old the deleted history is.

The contract semantics are:

* by default - don't show me anything that's deleted
* with a flag - ok, you can *also* show me deleted things

The one places soft deleted removal is going to be semantically
meaningful is on GET /servers/details?changes-since=....

Because in that case it's used by most people as a journal, and includes
deleted instances. It's our janky event stream for servers (given that
we have no other real event stream). That would need something better
before we make that query not possible.

I also agree, it's not clear to me why removing soft delete off of
things like instances is hugely critical. I think getting rid of it as
default for new things is good. But some places it's pretty intrinsic to
the information people pull out.

	-Sean

-- 
Sean Dague
http://dague.net



More information about the OpenStack-dev mailing list