-
Notifications
You must be signed in to change notification settings - Fork 3.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
roachtest: use tags to resolve test target by cloud provider #96655
Comments
msbutler
added
C-cleanup
Tech debt, refactors, loose ends, etc. Solution not expected to significantly change behavior.
T-dev-inf
T-testeng
TestEng Team
labels
Feb 6, 2023
cc @cockroachdb/test-eng |
It looks like we could easily extend |
renatolabs
added a commit
to renatolabs/cockroach
that referenced
this issue
Mar 20, 2023
In cockroachdb#98259, the concept of `Low` memory per vCPU was introduced in roachtest's `ClusterSpec`. That setting is currently only supported in GCE; if a test that uses that setting is run on any other cloud, roachtest will panic. The only roachtest using the low-memory setting is currently a restore test that is meant to run on GCE. However, the check for the appropriate cloud is done by that test during runtime (necessarily so), meaning a cluster will need to be created for the check to happen. By that point, the test runner will panic due to the unsupported memory setting. In the long term, we want to support ways for roachtests to indicate supported clouds outside the `Run` function (some context in cockroachdb#96655). For now, to stop a panic from happening in roachtest nightly runs on AWS, we update the regexp used to choose tests to run on AWS. We leverage the fact that `restore` tests include the cloud they are supposed to run in their name. Epic: none Release note: None
craig bot
pushed a commit
that referenced
this issue
Mar 20, 2023
99022: build: update restore regexp in roachtest AWS suite r=msbutler a=renatolabs In #98259, the concept of `Low` memory per vCPU was introduced in roachtest's `ClusterSpec`. That setting is currently only supported in GCE; if a test that uses that setting is run on any other cloud, roachtest will panic. The only roachtest using the low-memory setting is currently a restore test that is meant to run on GCE. However, the check for the appropriate cloud is done by that test during runtime (necessarily so), meaning a cluster will need to be created for the check to happen. By that point, the test runner will panic due to the unsupported memory setting. In the long term, we want to support ways for roachtests to indicate supported clouds outside the `Run` function (some context in #96655). For now, to stop a panic from happening in roachtest nightly runs on AWS, we update the regexp used to choose tests to run on AWS. We leverage the fact that `restore` tests include the cloud they are supposed to run in their name. Epic: none Release note: None Co-authored-by: Renato Costa <[email protected]>
smg260
pushed a commit
to smg260/cockroach
that referenced
this issue
Mar 23, 2023
… tags. oday, tests are matched if they have any of the specified tags. This patch introduces the ability to match tests which have all specified tags, whilst attempting to maintain backward compatibility. Epic: none Fixes: cockroachdb#96655 Release note: None
smg260
pushed a commit
to smg260/cockroach
that referenced
this issue
Mar 24, 2023
… tags. oday, tests are matched if they have any of the specified tags. This patch introduces the ability to match tests which have all specified tags, whilst attempting to maintain backward compatibility. Epic: none Fixes: cockroachdb#96655 Release note: None
smg260
pushed a commit
to smg260/cockroach
that referenced
this issue
Mar 27, 2023
… tags. oday, tests are matched if they have any of the specified tags. This patch introduces the ability to match tests which have all specified tags, whilst attempting to maintain backward compatibility. Epic: none Fixes: cockroachdb#96655 Release note: None
smg260
pushed a commit
to smg260/cockroach
that referenced
this issue
Mar 28, 2023
… tags. Today, tests are matched if they have any-of the specified tags. This patch introduces the ability to also match tests which have "all-of" specified tags, along with tag negation. This example will list all tests tagged with "aws" or with both "weekly" and "owner-test-eng" tags: "roachtest list tag:aws tag:weekly,owner-test-eng" An example of tag negation which would list all of the tests with tag "weekly" but not "aws": "roachtest list tag:weekly,!aws" Epic: none Fixes: cockroachdb#96655 Release note: None
msbutler
added a commit
to msbutler/cockroach
that referenced
this issue
Mar 31, 2023
After cockroachdb#99723 merged as a bandaid for cockroachdb#98783, the aws roachtest nightly began to panic because of a different roachtest papercut cockroachdb#96655. Specifically, because roachtest filters which tests run on which cloud within the evaluation of the test closure, tests meant to run on gce will still get registered in an AWS run. During the registration of the gce test `restore/tpce/400GB/gce/nodes=4/cpus=8/lowmem` _on aws_, the aws test harness panics because the aws roachprod implementation does not have a low memory cpu configuration. This patch prevents this panic and should be reverted once the pr cockroachdb#99402 merges. Epic: None Release note: None
craig bot
pushed a commit
that referenced
this issue
Mar 31, 2023
99312: sqlsmith: add DEFAULT expressions to newly added columns r=mgartner a=mgartner Sqlsmith now builds `ALTER TABLE .. ADD COLUMN .. DEFAULT` statements with default expressions that have different types than the column type. This is allowed if the default expression type can be assignment-casted to the column's type. Fixes #98133 Release note: None 99348: testutils: move default test tenant message r=rharding6373 a=herkolategan In order to reduce logging noise but still inform test authors of the default test tenant, the message has been moved to where there is a `testing.TB` interface. Epic: CRDB-18499 99835: opt/execbuilder: add panic catching to buildRoutinePlanGenerator r=mgartner a=mgartner This commit adds a panic catcher to callback functions created in execbuilder and invoked during evaluation of UDFs and correlated subqueries. It matches the panic catcher logic in `buildApplyJoin`. Fixes #98786 Release note: None 100267: roachtest: own autoupgrade to TestEng r=renatolabs a=tbg Discussed in #99479. Epic: none Release note: None 100286: roachtest: prevent aws roachtest panic r=rail a=msbutler After #99723 merged as a bandaid for #98783, the aws roachtest nightly began to panic because of a different roachtest papercut #96655. Specifically, because roachtest filters which tests run on which cloud within the evaluation of the test closure, tests meant to run on gce will still get registered in an AWS run. During the registration of the gce test `restore/tpce/400GB/gce/nodes=4/cpus=8/lowmem` _on aws_, the aws test harness panics because the aws roachprod implementation does not have a low memory cpu configuration. This patch prevents this panic and should be reverted once the pr #99402 merges. Epic: None Release note: None 100294: tenantcapabilitiestestutils: add a missing default case r=ajwerner a=ajwerner The test should fail if we ever add a new type of capability and use it in the data driven test but don't update the test to handle it. Epic: none Follow-up from #100217 (review) Release note: None 100296: rpc: correctly check for nil before cast r=ajwerner a=andrewbaptist As part of the fix of #99104, a cast without a nil check was introduced. This PR addresses that by only casting if it is known to be not nil. Epic: none Fixes: #100275 Release note: None Co-authored-by: Marcus Gartner <[email protected]> Co-authored-by: Herko Lategan <[email protected]> Co-authored-by: Tobias Grieger <[email protected]> Co-authored-by: Michael Butler <[email protected]> Co-authored-by: ajwerner <[email protected]> Co-authored-by: Andrew Baptist <[email protected]>
blathers-crl bot
pushed a commit
that referenced
this issue
Mar 31, 2023
After #99723 merged as a bandaid for #98783, the aws roachtest nightly began to panic because of a different roachtest papercut #96655. Specifically, because roachtest filters which tests run on which cloud within the evaluation of the test closure, tests meant to run on gce will still get registered in an AWS run. During the registration of the gce test `restore/tpce/400GB/gce/nodes=4/cpus=8/lowmem` _on aws_, the aws test harness panics because the aws roachprod implementation does not have a low memory cpu configuration. This patch prevents this panic and should be reverted once the pr #99402 merges. Epic: None Release note: None
smg260
pushed a commit
to smg260/cockroach
that referenced
this issue
Apr 3, 2023
… tags. Today, tests are matched if they have any-of the specified tags. This patch introduces the ability to also match tests which have "all-of" specified tags, along with tag negation. This example will list all tests tagged with "aws" or with both "weekly" and "owner-test-eng" tags: "roachtest list tag:aws tag:weekly,owner-test-eng" An example of tag negation which would list all of the tests with tag "weekly" but not "aws": "roachtest list tag:weekly,!aws" Epic: none Fixes: cockroachdb#96655 Release note: None
smg260
pushed a commit
to smg260/cockroach
that referenced
this issue
Apr 4, 2023
… tags. Today, tests are matched if they have any-of the specified tags. This patch introduces the ability to also match tests which have "all-of" specified tags, along with tag negation. This example will list all tests tagged with "aws" or with both "weekly" and "owner-test-eng" tags: "roachtest list tag:aws tag:weekly,owner-test-eng" An example of tag negation which would list all of the tests with tag "weekly" but not "aws": "roachtest list tag:weekly,!aws" Epic: none Fixes: cockroachdb#96655 Release note: None
craig bot
pushed a commit
that referenced
this issue
Apr 5, 2023
99402: roachtest: expand tag functionality to allow filtering by conjunctive… r=srosenberg,herkolategan a=smg260 … tags. oday, tests are matched if they have any of the specified tags. This patch introduces the ability to match tests which have all specified tags, whilst attempting to maintain backward compatibility. Commits 1 - expand tag filtering (AND, !) 2 - convert `TestSpec.Tags` to `map[string]struct{}` 3 - suppress TeamCity log statement Epic: none Fixes: #96655 Release note: None 100679: ci: artifacts of FIPS-enabled roachtests should be separate r=rail a=srosenberg When running FIPS-enabled roachtests, we want to separate their artifacts from other roachtests. This removes the confounding factor for performance tests wherein FIPS may result in performance degradation. Epic: none Release note: None 100693: kvserver: skip `TestLeaseRenewer` r=erikgrinaker a=erikgrinaker This is flaky under race/deadlock, but also had a couple of failures that indicate minor races in (de)activating extensions. I won't have time to look into this immediately, so skipping it for now. Touches #100689. Epic: none Release note: None 100695: logictest: use skip_on_retry earlier in new_schema_changer r=rafiss a=rafiss Epic: None Release note: None Co-authored-by: Miral Gadani <[email protected]> Co-authored-by: Stan Rosenberg <[email protected]> Co-authored-by: Erik Grinaker <[email protected]> Co-authored-by: Rafi Shamim <[email protected]>
This was referenced Sep 22, 2023
RaduBerinde
pushed a commit
that referenced
this issue
Sep 26, 2023
… tags. Today, tests are matched if they have any-of the specified tags. This patch introduces the ability to also match tests which have "all-of" specified tags, along with tag negation. This example will list all tests tagged with "aws" or with both "weekly" and "owner-test-eng" tags: "roachtest list tag:aws tag:weekly,owner-test-eng" An example of tag negation which would list all of the tests with tag "weekly" but not "aws": "roachtest list tag:weekly,!aws" Epic: none Fixes: #96655 Release note: None
RaduBerinde
pushed a commit
that referenced
this issue
Sep 27, 2023
… tags. Today, tests are matched if they have any-of the specified tags. This patch introduces the ability to also match tests which have "all-of" specified tags, along with tag negation. This example will list all tests tagged with "aws" or with both "weekly" and "owner-test-eng" tags: "roachtest list tag:aws tag:weekly,owner-test-eng" An example of tag negation which would list all of the tests with tag "weekly" but not "aws": "roachtest list tag:weekly,!aws" Epic: none Fixes: #96655 Release note: None
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Currently, the (hard to find)
roachtest_util.sh
script decides which roachtests run on which cloud, rather thantestspec.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 theweekly
/aws-weekly
test suite. Tags would obviate the regex filter, as the roachtest run command used in theaws nightly
job could simply add anaws
tag, similar the aws-weekly job. To prevent a roachtest from running in the default gce nightly job, we could add aaws-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
The text was updated successfully, but these errors were encountered: