department-of-veterans-affairs / va.gov-team

Public resources for building on and in support of VA.gov. Visit complete Knowledge Hub:
https://depo-platform-documentation.scrollhelp.site/index.html
281 stars 195 forks source link

EKS Cluster Upgrade `vets-api` Testing Discovery #82409

Closed pjhill closed 2 months ago

pjhill commented 3 months ago

Description

In order to have immediate impact when the EKS cluster upgrade vets-api testing is ready to begin, Platform Reliability Team members who will be contributing need to discover and document key attributes. In particular, we will be looking to discover details and synthesize information for the below acceptance criteria.

Acceptance Criteria

IGallupSoCo commented 3 months ago

I'm currently working my way through the DSVA repos I have access to - we have several set up for datadog analytics and configuration, so I believe it's a matter of finding the main Terraform file to get started with assessing the currently running Synthetics tests.

IGallupSoCo commented 3 months ago

It looks like at least some of the API tests for Synthetics are based here: https://github.com/department-of-veterans-affairs/terraform-aws-lighthouse-datadog/blob/main/modules/api-http-synthetics-test/main.tf

IGallupSoCo commented 3 months ago

At least some of the tests are kept here: https://github.com/department-of-veterans-affairs/devops/tree/master/terraform/environments/datadog

IGallupSoCo commented 3 months ago
Screenshot 2024-05-10 at 2.27.54 PM.png
IGallupSoCo commented 3 months ago

I've accounted for 25 of the 75 Synthetics tests explicitly flagged as api tests in the devops repo. My goal remains to locate the tests in our repos for closer consideration by the Product team. From there, we can adapt useful test scripts that already exist and engineer new scripts that fill out an appropriate level of test coverage for vets-api overall.

IGallupSoCo commented 3 months ago

I'm now building out a doc here: https://vfs.atlassian.net/wiki/spaces/PPT/pages/3150118913/EKS+DataDog+test+coverage

IGallupSoCo commented 3 months ago

So far, I have identified the following endpoint coverages, at least in part, within existing tests:

IGallupSoCo commented 3 months ago

So that leaves us with these endpoint schemes that currently have zero test coverage: For v0 -

For v1 -

pjhill commented 2 months ago

Reading through TF guidance here -- https://vfs.atlassian.net/wiki/spaces/OT/pages/2075721739/Terraform+Standard

pjhill commented 2 months ago

I created a TestRail project here.

Per Isaac's analysis, I created stubs for --

image.png

We end up with a total of 42 possible endpoint tests.

pjhill commented 2 months ago

Additional work about how to adapt the synthetics will be conducted under a new ticket next sprint. As a result of this ticket we discovered several potential issues with the testing technique we hope to use. We will be creating a spike/prototype of a parameterized synthetic before adapting all of them.