-
Notifications
You must be signed in to change notification settings - Fork 9.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
Add randomness in robustness cluster process version to test mixed version scenarios. #17923
Conversation
Skipping CI for Draft Pull Request. |
f18395e
to
d66961f
Compare
247e432
to
d2af147
Compare
/cc @henrybear327 |
@henrybear327: GitHub didn't allow me to request PR reviews from the following users: henrybear327. Note that only etcd-io members and repo collaborators can review this PR, and authors cannot review their own PRs. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
e7098de
to
62da593
Compare
bf78d07
to
01d793d
Compare
This change is really really good, makes me excited that we are able to test mixed version clusters now, great job! |
@@ -74,16 +69,29 @@ func exploratoryScenarios(t *testing.T) []testScenario { | |||
options.ClusterOptions{options.WithTickMs(100), options.WithElectionMs(2000)}), | |||
} | |||
|
|||
// 66% current version, 33% MinorityLastVersion and QuorumLastVersion | |||
mixedVersionOption := options.WithClusterOptionGroups( | |||
// 60% with all members of current version |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As a followup, it would be nice to have a weighted option, like in traffic.
b644361
to
2164743
Compare
return false | ||
} | ||
// snapshot-catchup-entries flag was backported in https://github.com/etcd-io/etcd/pull/17808 | ||
v3_5_13 := semver.Version{Major: 3, Minor: 5, Patch: 13} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note: I cheated. The proper version that supports snapshot-catchup-entries
is v3.5.14, but I didn't want to wait for release :P
Signed-off-by: Siyuan Zhang <[email protected]>
Signed-off-by: Siyuan Zhang <[email protected]>
tests/framework/e2e/cluster.go
Outdated
for _, etcdCfg := range etcdCfgs { | ||
aggArgs = append(aggArgs, etcdCfg.Args...) | ||
} | ||
assert.Subset(tb, aggArgs, expectArgsContain) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Heh, checking subset on flags :(
It would be great if we could not use arg list, but use ServerConfig like cluster, and only render args just before running.
cc @MadhavJivrajani @fuweid @jmhbnz for more feedback. |
Signed-off-by: Siyuan Zhang <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is awesome, thank you @siyuanfoundation!
#17097
tested with
Please read https://github.com/etcd-io/etcd/blob/main/CONTRIBUTING.md#contribution-flow.