What happened:
kubetest fails to download.
What you expected to happen:
kubetest to be downloaded and installed.
How to reproduce it (as minimally and precisely as possible):
$ go version
go version go1.13rc1 linux/amd64
$ GO111MODULE=on go get -v -u k8s.io/test-infra/kubetest
go: finding k8s.io/test-infra latest
go: finding golang.org/x/crypto latest
go: finding golang.org/x/time latest
go: finding golang.org/x/oauth2 latest
go: finding golang.org/x/sys latest
go: finding github.com/jmespath/go-jmespath latest
go: finding golang.org/x/net latest
go: finding google.golang.org/genproto latest
go: finding k8s.io/apimachinery latest
go: finding github.com/modern-go/concurrent latest
go: finding k8s.io/api latest
go: finding k8s.io/utils latest
get "k8s.io/utils": found meta tag get.metaImport{Prefix:"k8s.io/utils", VCS:"git", RepoRoot:"https://github.com/kubernetes/utils"} at //k8s.io/utils?go-get=1
get "k8s.io/client-go": found meta tag get.metaImport{Prefix:"k8s.io/client-go", VCS:"git", RepoRoot:"https://github.com/kubernetes/client-go"} at //k8s.io/client-go?go-get=1
get "google.golang.org/grpc": found meta tag get.metaImport{Prefix:"google.golang.org/grpc", VCS:"git", RepoRoot:"https://github.com/grpc/grpc-go"} at //google.golang.org/grpc?go-get=1
go get: github.com/aws/[email protected] updating to
github.com/aws/[email protected] requires
k8s.io/[email protected]+incompatible: invalid pseudo-version: preceding tag (v2.0.0-alpha.0) not found
Please provide links to example occurrences, if any:
N/A
Anything else we need to know?:
N/A
go get -u in module mode tries to update dependencies in the module, that's probably not the best plan in this case?
cc @fejta
@BenTheElder that shouldn't matter, though, should it?
In any case, go get without -u also fails:
$ GO111MODULE=on go get -v k8s.io/test-infra/kubetest
go: finding k8s.io/test-infra latest
k8s.io/client-go/rest
# k8s.io/client-go/rest
go/pkg/mod/k8s.io/[email protected]+incompatible/rest/request.go:598:31: not enough arguments in call to watch.NewStreamWatcher
have (*versioned.Decoder)
want (watch.Decoder, watch.Reporter)
@BenTheElder that shouldn't matter, though, should it?
some of the dependencies probably won't update safely, notably the kubernetes deps.
(and https://github.com/kubernetes/test-infra/issues/12107)
Using instructions from #14164 is leading to the same failure (with slightly different error):
$ GOPROXY=https://proxy.golang.org GOSUMDB=sum.golang.org GO111MODULE=on go get -v -u k8s.io/test-infra/kubetest
go: finding k8s.io/test-infra latest
go: finding golang.org/x/crypto latest
go: finding google.golang.org/genproto latest
go: finding golang.org/x/oauth2 latest
go: finding golang.org/x/sys latest
go: finding golang.org/x/net latest
go: finding github.com/jmespath/go-jmespath latest
go: finding github.com/modern-go/concurrent latest
go: finding golang.org/x/time latest
go: finding k8s.io/utils latest
go: finding k8s.io/api latest
go: finding k8s.io/apimachinery latest
go get: github.com/aws/[email protected] updating to
github.com/aws/[email protected] requires
k8s.io/[email protected]+incompatible: reading https://proxy.golang.org/k8s.io/client-go/@v/v2.0.0-alpha.0.0.20190112054256-b831b8de7155+incompatible.mod: 410 Gone
$ GOPROXY=https://proxy.golang.org GOSUMDB=sum.golang.org GO111MODULE=on go get -v k8s.io/test-infra/kubetest
go: finding k8s.io/test-infra latest
k8s.io/client-go/rest
# k8s.io/client-go/rest
go/pkg/mod/k8s.io/[email protected]+incompatible/rest/request.go:598:31: not enough arguments in call to watch.NewStreamWatcher
have (*versioned.Decoder)
want (watch.Decoder, watch.Reporter)
v11 is not actually what test-infra uses, https://github.com/kubernetes/test-infra/blob/b91bc64eff4314471f4ed54290a6eea093e2358e/go.mod#L12
I don't think this will be easily resolved until client-go supports go modules :/
your best bet is probably to just clone test-infra w/o go get and then go install ./kubetest from the clone.
your best bet is probably to just clone test-infra w/o go get and then go install ./kubetest from the clone.
Yes, this is a reliable way to do now. go get/install does not use replace directives I guess.
@PiotrSikora FYI
tmpdir=$(mktemp -d)
trap "rm -rf ${tmpdir}" EXIT
cd ${tmpdir}
git clone --depth=1 https://github.com/kubernetes/test-infra
cd test-infra
GO111MODULE=on go install ./kubetest
or use this e2e.go file (modified from hack/e2e.go in the k/k repo)
Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale
Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.
If this issue is safe to close now please do so with /close.
Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle rotten
The above @cofyc's advice seems useful for many people who face this issue.
Then I've added the link of the advice on the corresponding doc as https://github.com/kubernetes/community/pull/4560
So I feel we can close this issue.
/cc @oomichi
Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.
Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/close
@fejta-bot: Closing this issue.
In response to this:
Rotten issues close after 30d of inactivity.
Reopen the issue with/reopen.
Mark the issue as fresh with/remove-lifecycle rotten.Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/close
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/test-infra repository.
Most helpful comment
Yes, this is a reliable way to do now.
go get/installdoes not usereplacedirectives I guess.@PiotrSikora FYI
or use this e2e.go file (modified from hack/e2e.go in the k/k repo)