What branch is this work being done in TBD
This describes a new feature that takes care of automated VM_Instance expiration handling which has JIRA ID CLOUDSTACK-9984
We need an option to dismantle instances used by accounts or users that are no longer working for the department and thus got orphaned objects which only root-admins can delete. Without this feature resources are wasted and customers might be charged for unused machines.
- give instances an expiration date on creation (calculated by the lifespan global setting)
- list all open items or unresolved issues the developer is unable to decide about without further discussion
- quality risks (test guidelines)
- non functional: performance, scalability, stability, overload scenarios, etc
- corner cases and boundary conditions
- negative usage scenarios
- specify supportability characteristics:
- what new logging (or at least the important one) is introduced
- how to debug and troubleshoot
- what are the audit events
- list JMX interfaces
- graceful failure and recovery scenarios
- possible fallback or work around route if feature does not work as expected, if those workarounds do exist ofcourse.
- if feature depends other run-time environment related requirements, provide sanity check list for support people to run
Architecture and Design description
- configuration characteristics (new global settings):
- instance.expiration.mail template?
- schema characteristics (user_vm):
- expires (DateTime)
- notification_count (int)