Skip to content
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: add admission control variations to test #135024

Merged
merged 4 commits into from
Nov 15, 2024

Conversation

andrewbaptist
Copy link
Collaborator

Add options to specify different admission control modes to the variations.

Fixes: #133412

Release note: None

Copy link

blathers-crl bot commented Nov 12, 2024

Your pull request contains more than 1000 changes. It is strongly encouraged to split big PRs into smaller chunks.

🦉 Hoot! I am a Blathers, a bot for CockroachDB. My owner is dev-inf.

@cockroach-teamcity
Copy link
Member

This change is Reviewable

@andrewbaptist andrewbaptist force-pushed the 2024-11-12-apply-all-option branch 3 times, most recently from eefdf7c to 2c26fc6 Compare November 13, 2024 19:15
@andrewbaptist andrewbaptist marked this pull request as ready for review November 13, 2024 19:44
@andrewbaptist andrewbaptist requested a review from a team as a code owner November 13, 2024 19:44
@andrewbaptist andrewbaptist requested review from herkolategan and srosenberg and removed request for a team November 13, 2024 19:44
Copy link
Collaborator

@kvoli kvoli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed 1 of 1 files at r1, 1 of 1 files at r2, all commit messages.
Reviewable status: :shipit: complete! 0 of 0 LGTMs obtained (waiting on @andrewbaptist, @herkolategan, and @srosenberg)


-- commits line 2 at r1:
Specify the perturbation package.


-- commits line 4 at r1:
Likewise here.


pkg/cmd/roachtest/tests/perturbation/framework.go line 170 at r1 (raw file):

	case elasticOnlyBoth:
		return map[string]string{
			"admission.kv.bulk_only.enabled": "true",

What is bulk_only for? Are we intending to run it automatically via CI? Generally, I was thinking of something much simpler here, just apply_to_elastic and apply_to_all.


pkg/cmd/roachtest/tests/perturbation/framework.go line 281 at r1 (raw file):

// finish completes initialization of the variations.
func (v variations) finish() variations {

nit: finishing the setup might be better named finishSetup, or completeSetup.

@andrewbaptist andrewbaptist force-pushed the 2024-11-12-apply-all-option branch 3 times, most recently from c1b02ac to c1fec0e Compare November 14, 2024 20:37
Copy link
Collaborator Author

@andrewbaptist andrewbaptist left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TFTR! changes made!

Reviewable status: :shipit: complete! 0 of 0 LGTMs obtained (waiting on @herkolategan, @kvoli, and @srosenberg)


-- commits line 2 at r1:

Previously, kvoli (Austen) wrote…

Specify the perturbation package.

Done


-- commits line 4 at r1:

Previously, kvoli (Austen) wrote…

Likewise here.

Done


pkg/cmd/roachtest/tests/perturbation/framework.go line 170 at r1 (raw file):

Previously, kvoli (Austen) wrote…

What is bulk_only for? Are we intending to run it automatically via CI? Generally, I was thinking of something much simpler here, just apply_to_elastic and apply_to_all.

The options above admissionControlOptions are the three modes we will run in metamorphic tests. We have a number of customers still running with bulk only mode and it is useful to make sure we don't break that. I think we can remove that in the future once we roll out apply to all as the default, but its useful to have this as a test for now.


pkg/cmd/roachtest/tests/perturbation/framework.go line 281 at r1 (raw file):

Previously, kvoli (Austen) wrote…

nit: finishing the setup might be better named finishSetup, or completeSetup.

Changed to finishSetup. I also cleaned up the code to correctly return an error if the env variable is set, but the option isn't correctly named.

It is useful to know what cluster settings are being applied in the
tests. This change logs them before applying them.

Epic: none

Release note: None
This commit creates a finishSetup method which is called at the end of
the setup phase of perturbation tests. The method can be used to do any
application of variables at the end of the test.

Epic: none

Release note: None
Add options to specify different admission control modes to the
perturbation variations. This only impacts the
perturbation/metamorphic/* variations, however it allows running the
other tests with different AC modes.

Fixes: cockroachdb#133412

Release note: None
Allow the user to override perturbations by specifying the environment
variable `PERTURBATION_OVERRIDE`. This applies to all perturbation
tests, but is useful for reproducing specific metamorphic failures where
it is unclear which parameter change caused the difference.

An example of using an override to modify the test block size:

```
PERTURBATION_OVERRIDE=blockSize=1024 roachtest run
perturbation/full/addNode
```

Epic: none

Release note: None
@andrewbaptist
Copy link
Collaborator Author

TFTR! We'll starting geting metamorphic variations for apply_to_all this weekend.

bors r=kvoli

@craig craig bot merged commit 69fbd56 into cockroachdb:master Nov 15, 2024
23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

roachtest: add apply_to_all variant to pertubation tests
3 participants