As a part of T279552
We will be creating some user stories so that we can have some targets to work towards for the mid/final evaluation for GSoC 21
These user stories have been created upon discussion of the project with my mentors Manuel @Marostegui and Jaime @jcrespo
Please have a look and let me know if there are any key features that needs to go into the stories
The following stories provide an abstract view of the requirements/goals that we can work towards for sprint/mid/final evaluations. Based on these stories, we will create some technical Phabricator tickets (eg. Create Flask application skeleton, create API)
These stories aren't meant to be precise (eg. what is freshness of a backup? What is the size/time threshold/buffer? -- this is something we can discuss during development phase and/or can be taken from the existing check_mariadb_backups.py code )
Story 1
As a DB Admin,
I want to see the list of failed backups/freshness of backups by section (s1-s8) in a user-friendly format
So that I can relay important and relevant information to a non-technical person
Story 2
As a Wikimedia dev/any dev,
I want the backups metadata to be gathered through APIs
So that we/anyone can make applications around the data
Story 3
As a Wikimedia ops member,
I want to see freshness of backups of any section (s1-s8) at a glance (eg. single dashboard)
So that I can tell if any of the backups aren’t fresh and take the necessary action to resolve it
Story 4
As a Wikimedia ops member,
I want to see errors of backups of any section (s1-s8) at a glance (eg. single dashboard)
So that I can tell quickly if there are issues with the backups process
Story 5
As a DB Admin,
I want to see the history of backups on any section (s1-s8)
So that I can see an overview of the statuses
Story 6
As a Wikimedia DB Ops member,
I want to know if something is broken in any section (s1-s8) of the backup process
So that I can take necessary action to fix it
Story 7
As a Wikimedia DevOps/CloudOps team member,
I want the program to be configurable with environment variables
So that I can deploy the program easily without modifying any hardcoded values in the program code.
Story 8
As a Wikimedia DB ops team member,
I want to know (at a glance) whether a backup has failed consecutively for a particular section
So that I can investigate the issue quickly