Skip to content
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

404 pushing to imagestream in registry #17618

Closed
bparees opened this issue Dec 6, 2017 · 8 comments
Closed

404 pushing to imagestream in registry #17618

bparees opened this issue Dec 6, 2017 · 8 comments
Assignees
Labels
component/imageregistry kind/test-flake Categorizes issue or PR as related to test flakes. priority/P1

Comments

@bparees
Copy link
Contributor

bparees commented Dec 6, 2017

https://openshift-gce-devel.appspot.com/build/origin-ci-test/pr-logs/pull/17429/test_pull_request_origin_extended_conformance_gce/12430/

build got an error pushing to the imagestream:

2017-12-05T22:23:29.380468000Z Pushing image docker-registry.default.svc:5000/extended-test-docker-build-pullsecret-l4xm6-gcrp2/image1:latest ...
2017-12-05T22:23:31.703007000Z Registry server Address: 
2017-12-05T22:23:31.703304000Z Registry server User Name: serviceaccount
2017-12-05T22:23:31.703542000Z Registry server Email: [email protected]
2017-12-05T22:23:31.703809000Z Registry server Password: <<non-empty>>
2017-12-05T22:23:31.836478000Z error: build error: Failed to push image: Error: Status 404 trying to push repository extended-test-docker-build-pullsecret-l4xm6-gcrp2/image1: "404 page not found\n"

why wouldn't it just create the repo?

registry logs:

Dec  5 22:23:34.130: INFO: Running 'oc logs --config=/tmp/cluster-admin.kubeconfig --namespace=default dc/docker-registry --since=12.130927986s'
Dec  5 22:23:34.474: INFO: 172.16.2.1 - - [05/Dec/2017:22:23:30 +0000] "GET /healthz HTTP/2.0" 200 0 "" "kube-probe/1.8"
172.16.4.1 - - [05/Dec/2017:22:23:31 +0000] "GET /v1/_ping HTTP/1.1" 404 19 "" "docker/1.12.6 go/go1.8.3 kernel/3.10.0-693.5.2.el7.x86_64 os/linux arch/amd64 UpstreamClient(go-dockerclient)"
172.16.4.1 - - [05/Dec/2017:22:23:31 +0000] "PUT /v1/repositories/extended-test-docker-build-pullsecret-l4xm6-gcrp2/image1/ HTTP/1.1" 404 19 "" "docker/1.12.6 go/go1.8.3 kernel/3.10.0-693.5.2.el7.x86_64 os/linux arch/amd64 UpstreamClient(go-dockerclient)"
@bparees bparees added component/imageregistry kind/test-flake Categorizes issue or PR as related to test flakes. priority/P1 labels Dec 6, 2017
@miminar
Copy link

miminar commented Dec 6, 2017

My guess is that the registry was not ready at the time the build started. The docker always hits /v2/ endpoint first. If it fails, it continues with /v1/ endpoint. The fallback to /v1/ often happens when the test doesn't wait for the registry to be ready.

Unfortunately, the log doesn't reveal much. It's oddly short. I think we should capture at least +10s more context or use timestamps instead. The timestamp has a benefit of picking up always the same starting log line regardless of delay between issuing oc logs and actually running it.

@bparees
Copy link
Contributor Author

bparees commented Dec 6, 2017

it's an extended test running on the cluster shared by the extended test framework, so if something should be waiting for the registry to be"up", it should be the extended test framework that stood up the cluster. Can you look into what we're doing there and make sure it's the right thing?

I'm not sure how +10s logging context would help... we dumped the entire registry log after the push had failed. Why would we expect additional logs to show up 10s later?

You can definitely add "--timestamps" to our various extended test util log dumpers.

@miminar
Copy link

miminar commented Dec 7, 2017

You can see --since=12.130927986s added to the log dumper. The few lines printed is certainly not the full log. Initialization part is not shown.

I'll look into the test framework.

@bparees
Copy link
Contributor Author

bparees commented Dec 7, 2017

@miminar ok, i don't know why that was put in place but it should be removed. we should be dumping full registry logs.

@bparees
Copy link
Contributor Author

bparees commented Jan 3, 2018

@dmage @legionus i think i sent a different flake your way recently that was also caused by a 404 result against the /v1 endpoint. Perhaps you can combine that issue with this one.

@bparees
Copy link
Contributor Author

bparees commented Jan 3, 2018

this is the related issue i was thinking of: #17897

@dmage
Copy link
Contributor

dmage commented Jan 4, 2018

the registry was not ready at the time the build started.

@miminar nice, it's a very plausible scenario.

@bparees
Copy link
Contributor Author

bparees commented Jan 10, 2018

going to optimistically assume this is the same as #17897

@bparees bparees closed this as completed Jan 10, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component/imageregistry kind/test-flake Categorizes issue or PR as related to test flakes. priority/P1
Projects
None yet
Development

No branches or pull requests

3 participants