Resolution: Won't Do
Affects Version/s: None
Fix Version/s: None
Component/s: Storage Volumes
We need a conservative housekeeping mechanism that prevents unwanted destroy/unreserve operations. State of discussion is
- Nothing is removed implicitly to prevent faulty removal and resulting data loss
- When a task terminates (due to whatever reason), reservations and volumes are retained
- When an app is deleted, reservations and volumes are removed.
- The deployment action for stopping the app terminates only after all reservations and volumes and tasks have been removed.
- Whenever an offer is received for a task that's marked, Marathon will schedule unreserve/destroy operations and remove the task state
- Whenever unknown reservations/volumes are received, Marathon will either
- record these and provide info about them, or
- log a warning that unknown reservations have been received
We might need either an extra endpoint to wipe tasks by ID.