Description of problem: Running a prune removed a layer part of a valid image when pruning a prunable image. Image c001b8fb0fca001953cb70fdc7d5914f242825608e9bda9e7f2b6093c3bb1bbd was validly pruned and removed layer 138e2afa24c729159130c68db643071d92c5a63270ac69ef2ec55215e80f66e0 as well. Aug 29: I0829 07:01:25.789073 9257 prune.go:315] Examining image "sha256:c001b8fb0fca001953cb70fdc7d5914f242825608e9bda9e7f2b6093c3bb1bbd" I0829 07:01:25.789084 9257 prune.go:330] Adding image "sha256:c001b8fb0fca001953cb70fdc7d5914f242825608e9bda9e7f2b6093c3bb1bbd" to graph I0829 07:01:25.789103 9257 prune.go:341] Adding image layer "sha256:6d987f6f42797d81a318c40d442369ba3dc124883a0964d40b0c8f4f7561d913" to graph I0829 07:01:25.789122 9257 prune.go:341] Adding image layer "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4" to graph I0829 07:01:25.789145 9257 prune.go:341] Adding image layer "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4" to graph I0829 07:01:25.789162 9257 prune.go:341] Adding image layer "sha256:013dbd5feb01bb1ff03719e84d434f4f44c22b433c7c210b4a5bc9d9d0d3db6b" to graph I0829 07:01:25.789178 9257 prune.go:341] Adding image layer "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4" to graph I0829 07:01:25.789194 9257 prune.go:341] Adding image layer "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4" to graph I0829 07:01:25.789210 9257 prune.go:341] Adding image layer "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4" to graph I0829 07:01:25.789227 9257 prune.go:341] Adding image layer "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4" to graph I0829 07:01:25.789243 9257 prune.go:341] Adding image layer "sha256:9d5b23feead7df566b77b19c9e6d7b7e912d858f5ca0503ad447dff816b6fb4b" to graph I0829 07:01:25.789259 9257 prune.go:341] Adding image layer "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4" to graph I0829 07:01:25.789274 9257 prune.go:341] Adding image layer "sha256:138e2afa24c729159130c68db643071d92c5a63270ac69ef2ec55215e80f66e0" to graph I0829 07:01:25.789292 9257 prune.go:341] Adding image layer "sha256:c6d0d510aebff435403c853dd6693e8a69965de9133bb505db62fb80ea8cc837" to graph I0829 07:01:25.789310 9257 prune.go:341] Adding image layer "sha256:55027959a1bf6801beb944116b9c872e4dcce38740af19cdd0cfb5d7ae11b5c8" to graph I0829 07:01:25.789326 9257 prune.go:341] Adding image layer "sha256:d09178d6940d981f1df6c905db51c576052c353f712cc14d35353348cc299990" to graph I0829 07:01:25.789343 9257 prune.go:341] Adding image layer "sha256:85525fef6f2ee79276234d528ea1f3de08bd8970186ba497b861f9ed9b5cb77b" to graph I0829 07:01:25.789362 9257 prune.go:341] Adding image layer "sha256:c34253d823f398c59b8b4c6cec8ad66651f4b40c60818465e753694ed1e849bf" to graph I0829 07:01:25.789381 9257 prune.go:341] Adding image layer "sha256:9374522910fc715748dace99dabeb907b1eb755275cc0095abc9b13e3e50421d" to graph I0829 07:01:25.789398 9257 prune.go:341] Adding image layer "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4" to graph I0829 07:01:25.789414 9257 prune.go:341] Adding image layer "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4" to graph I0829 07:01:25.789430 9257 prune.go:341] Adding image layer "sha256:826da1a4f8ed1c7fd2671c98a1c40df8e5b092b7e8c7f0d1f0b574bedb88737e" to graph I0829 07:01:25.789451 9257 prune.go:341] Adding image layer "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4" to graph I0829 07:01:25.789468 9257 prune.go:341] Adding image layer "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4" to graph I0829 07:01:25.789483 9257 prune.go:341] Adding image layer "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4" to graph ... ... I0829 07:01:27.144052 9257 prune.go:669] Examining image "sha256:c001b8fb0fca001953cb70fdc7d5914f242825608e9bda9e7f2b6093c3bb1bbd" I0829 07:01:27.144062 9257 prune.go:672] Image "sha256:c001b8fb0fca001953cb70fdc7d5914f242825608e9bda9e7f2b6093c3bb1bbd" is prunable ... ... I0829 07:01:27.494324 9257 prune.go:711] Examining ImageComponent|sha256:138e2afa24c729159130c68db643071d92c5a63270ac69ef2ec55215e80f66e0 I0829 07:01:27.494333 9257 prune.go:713] ImageComponent|sha256:138e2afa24c729159130c68db643071d92c5a63270ac69ef2ec55215e80f66e0 is prunable ... I0829 07:01:27.586959 9257 prune.go:932] Pruning registry="172.30.0.2:5000", blob="sha256:138e2afa24c729159130c68db643071d92c5a63270ac69ef2ec55215e80f66e0" Run: I0829 07:03:39.164668 9470 prune.go:981] Deleting image "sha256:c001b8fb0fca001953cb70fdc7d5914f242825608e9bda9e7f2b6093c3bb1bbd" I0829 07:03:39.330426 9470 request.go:632] Throttling request took 165.691073ms, request: DELETE:https://url:8443/oapi/v1/images/sha256:c001b8fb0fca001953cb70fdc7d5914f242825608e9bda9e7f2b6093c3bb1bb ... I0829 07:03:05.182931 9470 prune.go:932] Pruning registry="172.30.0.2:5000", blob="sha256:138e2afa24c729159130c68db643071d92c5a63270ac69ef2ec55215e80f66e0" I0829 07:03:05.182989 9470 prune.go:1093] Pruning registry "172.30.0.2:5000", blob "sha256:138e2afa24c729159130c68db643071d92c5a63270ac69ef2ec55215e80f66e0" I0829 07:03:05.183003 9470 prune.go:1050] Trying https for 172.30.0.2:5000/admin/blobs/sha256:138e2afa24c729159130c68db643071d92c5a63270ac69ef2ec55215e80f66e0 I0829 07:03:05.183022 9470 prune.go:1016] Sending request to registry I0829 07:03:05.187772 9470 prune.go:1062] Error with https for 172.30.0.2:5000/admin/blobs/sha256:138e2afa24c729159130c68db643071d92c5a63270ac69ef2ec55215e80f66e0: error sending request: http: server gave HTTP response to HTTPS client I0829 07:03:05.187795 9470 prune.go:1050] Trying http for 172.30.0.2:5000/admin/blobs/sha256:138e2afa24c729159130c68db643071d92c5a63270ac69ef2ec55215e80f66e0 I0829 07:03:05.187813 9470 prune.go:1016] Sending request to registry The issue is that 138e2afa24c729159130c68db643071d92c5a63270ac69ef2ec55215e80f66e0 was also apart of image 06384c77499baf997fc3ea4d15c03fd3b3086efa75606d409b794938d1c027b3. I believe the layer was prunable because image 06384c77499baf997fc3ea4d15c03fd3b3086efa75606d409b794938d1c027b3 was not added the graph as it was under the minimum prunable age. As such, no image predecessor reference was made to the layer. I0829 07:01:25.206779 9257 prune.go:315] Examining image "sha256:06384c77499baf997fc3ea4d15c03fd3b3086efa75606d409b794938d1c027b3" I0829 07:01:25.206792 9257 prune.go:326] Image "sha256:06384c77499baf997fc3ea4d15c03fd3b3086efa75606d409b794938d1c027b3" is younger than minimum pruning age, skipping (age=85h54m29.206788575s) I0829 07:01:26.730273 9257 prune.go:365] Examining ImageStream xlrelease-poc/xl-docker-demo-xlr I0829 07:01:26.730283 9257 prune.go:376] Adding ImageStream xlrelease-poc/xl-docker-demo-xlr to graph I0829 07:01:26.730324 9257 prune.go:385] Unable to find image "sha256:06384c77499baf997fc3ea4d15c03fd3b3086efa75606d409b794938d1c027b3" in graph (from tag="latest", revision=0, dockerImageReference=172.50.0.2:5000/xlrelease-poc/xl-docker-demo-xlr@sha256:06384c77499baf997fc3ea4d15c03fd3b3086efa75606d409b794938d1c027b3) - skipping I0829 07:01:26.787223 9257 prune.go:479] Examining pod xlrelease-poc/xl-docker-demo-xlr-14-4c8vg I0829 07:01:26.787230 9257 prune.go:490] Adding pod xlrelease-poc/xl-docker-demo-xlr-14-4c8vg to graph I0829 07:01:26.787256 9257 prune.go:504] Examining container image "172.50.0.2:5000/xlrelease-poc/xl-docker-demo-xlr@sha256:06384c77499baf997fc3ea4d15c03fd3b3086efa75606d409b794938d1c027b3" I0829 07:01:26.787298 9257 prune.go:519] Unable to find image "sha256:06384c77499baf997fc3ea4d15c03fd3b3086efa75606d409b794938d1c027b3" in the graph - skipping I0829 07:01:26.985453 9257 prune.go:536] Examining replication controller xlrelease-poc/xl-docker-demo-xlr-13 I0829 07:01:26.985490 9257 prune.go:504] Examining container image "172.50.0.2:5000/xlrelease-poc/xl-docker-demo-xlr@sha256:06384c77499baf997fc3ea4d15c03fd3b3086efa75606d409b794938d1c027b3" I0829 07:01:26.985532 9257 prune.go:519] Unable to find image "sha256:06384c77499baf997fc3ea4d15c03fd3b3086efa75606d409b794938d1c027b3" in the graph - skipping I0829 07:01:26.985552 9257 prune.go:536] Examining replication controller xlrelease-poc/xl-docker-demo-xlr-14 I0829 07:01:26.985593 9257 prune.go:504] Examining container image "172.50.0.2:5000/xlrelease-poc/xl-docker-demo-xlr@sha256:06384c77499baf997fc3ea4d15c03fd3b3086efa75606d409b794938d1c027b3" I0829 07:01:26.985633 9257 prune.go:519] Unable to find image "sha256:06384c77499baf997fc3ea4d15c03fd3b3086efa75606d409b794938d1c027b3" in the graph - skipping I0829 07:01:27.105356 9257 prune.go:550] Examining DeploymentConfig xlrelease-poc/xl-docker-demo-xlr I0829 07:01:27.105384 9257 prune.go:504] Examining container image "172.50.0.2:5000/xlrelease-poc/xl-docker-demo-xlr@sha256:06384c77499baf997fc3ea4d15c03fd3b3086efa75606d409b794938d1c027b3" I0829 07:01:27.105421 9257 prune.go:519] Unable to find image "sha256:06384c77499baf997fc3ea4d15c03fd3b3086efa75606d409b794938d1c027b3" in the graph - skipping On August 30th, you can see it's old enough now and still referencing 138e2afa24c729159130c68db643071d92c5a63270ac69ef2ec55215e80f66e0 as a layer. I0830 07:01:19.756684 27103 prune.go:315] Examining image "sha256:06384c77499baf997fc3ea4d15c03fd3b3086efa75606d409b794938d1c027b3" I0830 07:01:19.756695 27103 prune.go:330] Adding image "sha256:06384c77499baf997fc3ea4d15c03fd3b3086efa75606d409b794938d1c027b3" to graph I0830 07:01:19.756719 27103 prune.go:341] Adding image layer "sha256:6d987f6f42797d81a318c40d442369ba3dc124883a0964d40b0c8f4f7561d913" to graph I0830 07:01:19.756741 27103 prune.go:341] Adding image layer "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4" to graph I0830 07:01:19.756772 27103 prune.go:341] Adding image layer "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4" to graph I0830 07:01:19.756791 27103 prune.go:341] Adding image layer "sha256:013dbd5feb01bb1ff03719e84d434f4f44c22b433c7c210b4a5bc9d9d0d3db6b" to graph I0830 07:01:19.756814 27103 prune.go:341] Adding image layer "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4" to graph I0830 07:01:19.756831 27103 prune.go:341] Adding image layer "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4" to graph I0830 07:01:19.756847 27103 prune.go:341] Adding image layer "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4" to graph I0830 07:01:19.756864 27103 prune.go:341] Adding image layer "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4" to graph I0830 07:01:19.756879 27103 prune.go:341] Adding image layer "sha256:9d5b23feead7df566b77b19c9e6d7b7e912d858f5ca0503ad447dff816b6fb4b" to graph I0830 07:01:19.756898 27103 prune.go:341] Adding image layer "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4" to graph I0830 07:01:19.756915 27103 prune.go:341] Adding image layer "sha256:138e2afa24c729159130c68db643071d92c5a63270ac69ef2ec55215e80f66e0" to graph I0830 07:01:19.756933 27103 prune.go:341] Adding image layer "sha256:c6d0d510aebff435403c853dd6693e8a69965de9133bb505db62fb80ea8cc837" to graph I0830 07:01:19.756951 27103 prune.go:341] Adding image layer "sha256:58f1f028359322e79384f47f9890af0ed47bf53062d658eb43c7ca37c510a14b" to graph I0830 07:01:19.756975 27103 prune.go:341] Adding image layer "sha256:a1f32fd2b50a5bafa6c6de5098f4cdeab152e61b0e0f5c7b2a2f4251a5156ebf" to graph I0830 07:01:19.756994 27103 prune.go:341] Adding image layer "sha256:2f79f0ebb70e8b249550e72654b4cc4cb600c0bea30a22d212a5b203f3315af2" to graph I0830 07:01:19.757012 27103 prune.go:341] Adding image layer "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4" to graph I0830 07:01:19.757028 27103 prune.go:341] Adding image layer "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4" to graph I0830 07:01:19.757044 27103 prune.go:341] Adding image layer "sha256:0e538aa21adff4ac961bbaf214f0217387449e450543af3563f7a6cb017a1dd3" to graph I0830 07:01:19.757061 27103 prune.go:341] Adding image layer "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4" to graph I0830 07:01:19.757078 27103 prune.go:341] Adding image layer "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4" to graph I0830 07:01:19.757093 27103 prune.go:341] Adding image layer "sha256:a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4" to graph I0830 07:01:19.757108 27103 prune.go:315] Examining image "sha256:063e14a48414f6e66ec0e6570ae0f846623e08ff9416b280f560898bac7e7e63" I0830 07:01:21.802092 27103 prune.go:867] Examining predecessor &nodes.ImageNode{Node:graph.Node{Node:233, UniqueName:"Image|/sha256:06384c77499baf997fc3ea4d15c03fd3b3086efa75606d409b794938d1c027b3"}, Image:(*api.Image)(0xc431550a30)} of image config ImageComponent|sha256:138e2afa24c729159130c68db643071d92c5a63270ac69ef2ec55215e80f66e0 I0830 07:01:21.802113 27103 prune.go:869] Config ImageComponent|sha256:138e2afa24c729159130c68db643071d92c5a63270ac69ef2ec55215e80f66e0 has an image predecessor Version-Release number of selected component (if applicable): 3.5.5.31 How reproducible: Happened once, but probably very repeatable. Steps to Reproduce: 1. Layer referenced from 2 images 2. One image is prunable while the other is under the min age 3. Layer is pruned Actual results: Valid layer is pruned Expected results: Do not prune valid layers Additional info:
https://github.com/openshift/origin/pull/16656
Commit pushed to master at https://github.com/openshift/origin https://github.com/openshift/origin/commit/917bfe7b490f182456ba05d2634fe6286fa1ff69 Test for bug 1487408
Verified # oc version oc v3.7.0-0.147.0 kubernetes v1.7.6+a08f5eeb62 features: Basic-Auth GSSAPI Kerberos SPNEGO Server https://:8443 openshift v3.7.0-0.143.2 kubernetes v1.7.0+80709908fd push two images reference the same image layer, one is pushed more 10min. Prune the old image via cmd # oadm prune images --certificate-authority=ca.crt --keep-younger-than=10m --registry-url=docker-registry-default.com --confirm Deleting registry layer blobs ... BLOB sha256:9f3ddeba9f24e76cfba298bfa8182fd6a59f04ef9f619c9914d6f401044f54e3 sha256:a67b0482ed5d83ab726f8c10c056dd5cb1430e7251f44c90c5a547d207999cab Deleting images from server ... IMAGE sha256:3a5a0bdc0f7badf9412b0d26d20fd91e5cb015dcc868094c6d8d5b01bd23f8ae Actual result:the new image is not pruned move to verified
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2017:3188