Skip to content

roachtest: use tags to resolve test target by cloud provider #96655

@msbutler

Description

@msbutler

Currently, the (hard to find) roachtest_util.sh script decides which roachtests run on which cloud, rather than testspec.tags, which leads to a small amount of wasted cloud resources and a poorer developer experience.

As the script suggests, all roachtests run on gce by default. To prevent a roachtest from running on GCE then, the roachtest writer must skip the test within the TestSpec.Run callback, after gce vms have been provisioned for the test. Example here.

The script also decides which roachtests run on the aws nightly using a brittle regex.

testspec.tags could be used instead to filter which tests run on which cloud at test registration, similar to their use for the weekly / aws-weekly test suite. Tags would obviate the regex filter, as the roachtest run command used in the aws nightly job could simply add an aws tag, similar the aws-weekly job. To prevent a roachtest from running in the default gce nightly job, we could add a aws-only tag as well.

Lastly, the use of tags would make it easy to see which tests run on which cloud, i.e. roachtest list tag:aws

Jira issue: CRDB-24267

Metadata

Metadata

Assignees

Labels

C-cleanupTech debt, refactors, loose ends, etc. Solution not expected to significantly change behavior.T-testengTestEng Teamv23.1.12

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions