operator-sdk: scorecard test fails to due to docker rate limiting
Bug Report
What did you do?
operator-sdk scorecard bundle
What did you expect to see?
Output from scorecard
What did you see instead? Under which circumstances?
“error running tests context deadline exceeded”. This is because the pulling the busybox image from docker.io is rate limited.
“Failed to pull image “docker.io/busybox:1.33.0”: rpc error: code = Unknown desc = Error loading manifest for target platform: Error reading manifest sha256:eccadc4fb09194c8163cfb7edcd9727933104e86da2ba8ad076732e5e3702a6a in docker.io/library/busybox: toomanyrequests”
Environment
Operator type:
language go
Kubernetes cluster type:
OpenShift
$ operator-sdk version
operator-sdk version: “v1.7.0”, commit: “9291297d89deae7b85a5c2ac4b418a049ba90f7e”, kubernetes version: “1.19.4”, go version: “go1.15.5”, GOOS: “darwin”, GOARCH: “amd64”
$ go version
(if language is Go)
go version go1.15.8 darwin/amd64
$ kubectl version
Client Version: version.Info{Major:“1”, Minor:“17”, GitVersion:“v1.17.0”, GitCommit:“70132b0f130acc0bed193d9ba59dd186f0e634cf”, GitTreeState:“clean”, BuildDate:“2019-12-13T11:51:44Z”, GoVersion:“go1.13.4”, Compiler:“gc”, Platform:“darwin/amd64”} Server Version: version.Info{Major:“1”, Minor:“19”, GitVersion:“v1.19.0+7070803”, GitCommit:“70708036fc265771f8d0a45598209018a8b9bd3e”, GitTreeState:“clean”, BuildDate:“2020-12-05T12:01:07Z”, GoVersion:“go1.15.2”, Compiler:“gc”, Platform:“linux/amd64”}
Possible Solution
Provide a configuration option to pull the image from a docker proxy. Presently it’s hardcoded into the code
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Comments: 23 (14 by maintainers)
I think it would be good to allow images to be overrode via a setting in the config.yaml file. In the same way we let users specify their test images, but this would be a global setting in that config file instead of a per-test setting.
If my solution really is that painful, then I am ok with adding an
--proxied-init-image-tag
flag so you can just set the full image tag (with a warning about support of course).I guess docker rate limits have dropped considerably within the last year. You should be able to pre-load your cluster’s registry with the busybox image pulled from a proxy, since the scorecard runner’s pod pull policy is
IfNotPresent
./triage support