-
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
Ensure proper gofail package version in robustness tests #18397
Conversation
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
6b48ee2
to
44b6c03
Compare
@@ -124,9 +125,7 @@ $(GOPATH)/bin/gofail: tools/mod/go.mod tools/mod/go.sum | |||
cd /tmp/etcd-release-3.5-failpoints/; \ | |||
git clone --depth 1 --branch release-3.5 https://github.com/etcd-io/etcd.git .; \ | |||
go get go.etcd.io/gofail@${GOFAIL_VERSION}; \ | |||
(cd server; go get go.etcd.io/gofail@${GOFAIL_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.
Is there a reason that for /tmp/etcd-v3.5.12-beforeSendWatchResponse/bin
we keep
(cd server; go get go.etcd.io/gofail@${GOFAIL_VERSION}); \
(cd etcdctl; go get go.etcd.io/gofail@${GOFAIL_VERSION}); \
(cd etcdutl; go get go.etcd.io/gofail@${GOFAIL_VERSION}); \
but we remove those for /tmp/etcd-release-3.5-failpoints/bin
? :)
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.
We know that release branch has the tools/mod
directory, however for tags we don't know. Some of them might have it, some don't.
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.
But we will always have server
, etcdctl
, and etcdutl
directories, so we will always need to go get
the gofail
library for them, no? :)
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.
The build.sh will execute the go get go.etcd.io/gofail@${GOFAIL_VERSION})
commands for all servers, etcdutl, etcdctl and tests.
, so it's OK to remove the duplicated commands in makefile.
Lines 33 to 36 in d83c8bd
cd ./server && go get go.etcd.io/gofail@"${GOFAIL_VERSION}" | |
cd ../etcdutl && go get go.etcd.io/gofail@"${GOFAIL_VERSION}" | |
cd ../etcdctl && go get go.etcd.io/gofail@"${GOFAIL_VERSION}" | |
cd ../tests && go get go.etcd.io/gofail@"${GOFAIL_VERSION}" |
I did not reproduce this. The following is what I saw in my local environment,
The only reason I can think of is that the |
Hmm, worrying inconsistency. The problem happens in my environment and in CI like in Job https://prow.k8s.io/view/gs/kubernetes-jenkins/logs/ci-etcd-robustness-main-amd64/1819076252212924416, for which you can find logs in https://storage.googleapis.com/kubernetes-jenkins/logs/ci-etcd-robustness-main-amd64/1819076252212924416/build-log.txt |
Please execute command below and let me know what you get,
cleanup |
Sorry, please execute commands below instead,
|
Oh, with #18395 merged you cannot test it on branch target like See my results:
|
It makes sense now. Your previous example was based on |
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.
LGTM
Thanks
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.
LGTM
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: ahrtr, fuweid, henrybear327, serathius The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Addition of tools/mod package into older branches moved the source of truth for gofail version, so the existing makefile code stopped overriding changes. This resulted in robustness tests flaking with release of gofail@v0.2.0 that allowed new type of failpoint.
This PR should help us ensure that gofail version is set properly on older branches.
Before we see
downgraded go.etcd.io/gofail v0.2.0 => v0.1.0
line in the following build logsWith the change we no longer get it: