Description
Problem Statement
When a service is put in Maintenance in Pagerduty, there is currently a system setup which uses this information and triggers changes on the front-end va.gov (for example, disabling parts of the va.gov site based on a maintenance window). However, currently there is no way for the users who use Datadog for monitoring and alerting, to know what "active/open" maintenance windows are currently impacting the va.gov website.
Pagerduty accounts are not provided to all members of all VFS teams, so they really don't have a way of knowing the status of Pagerduty maintenance windows.
Proposed Solution
Vets-API periodically gets a list of PagerDuty Maintenance Windows via an API call - PollMaintenanceWindow.
The ask is to write the information about Active Maintenance Windows in a postgres table that DataDog can consume. The information to write into the db:
- Service Name
- Service identifier (?)
- Maintenance Window Status (should be "Active")
- Start time of Maintenance Window
- End time of Maintenance Window
Acceptance criteria:
- |updated|added unit tests and integration tests for this added feature (if applicable).
- Maintenance window info is being sent to Datadog in a pre-defined polling time-interval
- Testing done with test service in maintenance mode, and confirming that datadog is able to receive this information
Activity