Deferred Delete for Instances

Registered by Glen Campbell

Instances can be accidentally deleted. To prevent serious repurcussions because of this, we propose that the DELETE verb on /servers/{id} actually suspend the selected server for a period of time (configurable by the Nova administrator). After that time has elapsed, a separate process will perform the actual deletion.

When a user deletes their instance today, the instance's disk is torn down immediately. As a safety feature, we should allow an operator a configurable setting that would allow the system to mark a image as deleted from the user's perspective but allow an administrator or operator to restore the instance.

The image should not return from the api lists from the user's perspective, but could return 'queued-for-delete' or 'delayed-delete' in the action status field. An administrator should be able to restore the instance to a running state from the admin-api by issuing an action on the deleted instance. The administrator should also be able to force a deletion of a queued instance.

Any IP addresses in use by the server should be retained and then released when the disk is purged from the host machine.

Host space (RAM, disk, cores) should be considered reserved while the server is pending-delete, and no new VMs should re-use that space.

Blueprint information

Status:
Complete
Approver:
Vish Ishaya
Priority:
Low
Drafter:
Glen Campbell
Direction:
Approved
Assignee:
Johannes Erdfelt
Definition:
Approved
Series goal:
Accepted for essex
Implementation:
Implemented
Milestone target:
milestone icon 2012.1
Started by
Vish Ishaya
Completed by
Vish Ishaya

Sprints

Whiteboard

+1 At the very least we can leave disk files around for a bit for forensics and recovery and clean them up with a reaper process/cron job.

Rather than a 2nd process to manage, I'd vote for just adding it to compute's periodic_tasks (comstud)

Gerrit topic: https://review.openstack.org/#q,topic:bp/deferred-delete-instance,n,z

Addressed by: https://review.openstack.org/644
    Fix some minor issues due to premature merge of original code.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.