cockroachdb / cockroachdb/cockroach

roachtest/mixedversion: add support for required upgrades

Open
#136,223 3 comments 0 reactions 0 assignees View on GitHub
A-testeng-foundations C-enhancement T-testeng
Dominant language
Go
Stars
32.5k
Forks
4.1k
PR merge metrics
PR metrics pending

Description

Currently, the framework supports specifying a _minimum_ number of upgrades (`mixedversion.MinUpgrades`). However, there is no mechanism to specify _required_ upgrades. For example, a test may need to verify that a specific upgrade path doesn't regress [1]. This could be expressed via the `mixedversion.MustUpgrades("22.1", "23.2")`. (The reason we can't express the same fact using `MinUpgrades` is because its interpretation is relative to the _current_ version.)

[1] https://github.com/cockroachdb/cockroach/pull/136074

Jira issue: CRDB-44931

Contributor guide

Open the contributing guide

Research direction

Start in the roachtest/mixedversion framework by reading the existing mixedversion.MinUpgrades handling and the linked upgrade-path example. Add support for expressing a required path such as mixedversion.MustUpgrades("22.1", "23.2"); done means a test can require that path independently of the current version and existing mixed-version behavior remains intact.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
testing
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.