This idea has been partially implemented for JeOS images, where we are collecting some data from the images whenever a new build ends up in openQA. For instance, https://openqa.opensuse.org/tests/2419705#step/image_info/9 is collecting the size of the image, as well as total number of RPMs, the list of RPMs with their size and some filesystem information. This information is pushed to a InfluxDB located in a EC2 instance for each build. Then, the data is displayed using Grafana: http://126.96.36.199:3000/d/FEP4FZQnz/minimal-vm-image-size?orgId=1&from=now-30d&to=now
I would like to extend this to be used by container images (BCI) and track the history of their size, number of RPMS, etc. For this, the current implementation can be improved by using better representation tool than Grafana, which is quite limited when it comes to customizing the graphs.
The graphs could show the information per build (ascending) instead of timestamp. And when doing mouse over a data point, a popup could be shown displaying all the information (metadata) of this image, not only the value of that point. For example, for a given build X, the size of the image is Y, but we should be able to display additional metadata, like image name, openqa job url, etc.
Goal for this Hackweek
- Extend this functionality to collect data from BCI (container images)
- Create better representation of the information with more flexible graphs (maybe Chart.js)
- Create a web dashboard to display this information
- Re-think about which DB to be used (InfluxDB vs Postgress vs MySQL ...)
Looking for hackers with the skills:
Nothing? Add some keywords!
This project is part of:
Hack Week 21
This project is one of its kind!