Add "usage" dimension to collection of calculated concurrent usage
Summary
As the Tally service, I want to understand how many concurrent RHEL instances are running via any existing combination of reported attributes plus any known combination of syspurpose "usage" values so that I can provide maximum filtering and presentation capabilities to the end user.
The Swatch/Tally folks have expressed interest in adding the syspurpose usage values to our concurrent API output. Where currently that API's output shows each of the counts (effectively) "for each arch for each role for each sla", this would add usage as another dimension to that process, and the resulting set of counts would expand to include counts "for each arch for each role for each sla for each usage". This is not a blocker for them to start integration, but they would consider it to be the next highest priority.
Acceptance Criteria
-
Verify concurrent usage API output includes any existing combination of arch/SLA/Role combined with any Usage value relevant to the instances and time period. -
Verify openapi.json includes the new Usage in the concurrent usage API's response.
-
-
QE will expand the existing integration tests to include checking for the new Usage values. -
Verify that IQE client for cloudigrade is updated with any new openapi.json changes.
-
Assumptions and Questions
- As a reminder, syspurpose contents could be written arbitrarily by the end user. So, we should continue to dynamically explode the set of values we encounter to our results.
- We currently truncate to 64 characters for each of the syspurpose attributes. We have no special handling for non-ASCII/Latin1-safe characters, but we should handle the normal Unicode/UTF-8 set.