Add ability in monasca api to delete metrics
As we push new metrics into monasca, we've discovered this is an iterative process, and typically requires several attempts before getting it right. At charter we've been using a script to accomplish this, but as we deploy MaaS, customers should have the ability to remove their own metrics. Example functionality in https:/
Blueprint information
- Status:
- Not started
- Approver:
- Roland Hochmuth
- Priority:
- High
- Drafter:
- Bradley Klein
- Direction:
- Needs approval
- Assignee:
- Bradley Klein
- Definition:
- New
- Series goal:
- None
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by
Related branches
Related bugs
Sprints
Whiteboard
With vertica, when executing the DELETE statement, depending on the size of the dataset being deleted, this can block writes to the database. Some thoughts on how we might still implement this feature without having customers lock up the database:
1. Have this feature be config file driven -- so operators who aren't comfortable with this can disable the API.
2. Create a special monasca-delete-user role and only users with this role on their project can call the API.
3. Have the API batch up DELETE requests, and have a separate service perform the deletes at a configurable maintenance window (in the middle of the night or something.
4. Similar to #3, but instead of a separate service spawn a thread in the API process that performs the deletes during the maintenance window.
It probably makes sense to do a combination of the above, probably 1, 2 and 4. Also need to decide where to 'store' the delete requests, possibly mysql or just kafka.
For influx and cassandra, there are better options (time to live, project/metric specific partitioning), so we'll likely only move forward for now with this for the vertica java implementation (discussed during the newton mid-cycle).