Consumers never get deleted
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
We don't have an API to delete a consumer. It gets created implicitly when allocations are created against it, but it doesn't get deleted when the consumer's last allocation is removed. In some uses of placement, such as nova's, there is a high rate of turnover of consumers (instances, in nova) so this leakage has the potential to be problematic.
(Note that we have the same issue for aggregates, but don't currently have a known use case with a lot of aggregate turnover, so it is less likely to be a problem soon.)
Possible solutions:
- Delete a consumer record automatically when its last allocation goes away. This is nice and symmetrical, but a behavior change for the guy *recreating* a consumer (today he has to use the current generation; with this change he would have to use ``null``).
- Provide an operation for deleting consumers. This is an extra step for callers (which is okay). But do we also provide an explicit (redundant) operation for creating them, just for the sake of symmetry?
- Your idea here.
See some of the IRC conversation from http:// p.anticdent. org/453b on for a bit more info/ideas.
I'd prefer to not see a DELETE /consumer/{uuid} (or similar) as that seems a pretty meaningless step to have to do. The world has moved on since those times, but there was a time when all a consumer was an identifier that existed as an association with an allocation. What we're seeing now is a consequence of them existing as "a thing". This is not necessarily a bad thing, but we have some catch up to address all the consequences.
The issues in bug https:/ /bugs.launchpad .net/nova/ +bug/1778591 are strongly tied to this one.