When a manifest changes for a tag and the repo is synced, existing tag relations incorrectly point to this new manifest. To reproduce: + start a local registry (thomasmckay-desktop.usersys.redhat.com:5000 in this example) docker run --rm -it -p 5000:5000 registry:2 + create dockerfiles v1/Dockerfile FROM registry.access.redhat.com/rhel7/rhel RUN echo "Here we go, vertigo" > sounds.txt ENTRYPOINT ["cat", "sounds.txt"] v2/Dockerfile FROM katello.example.com:5000/examplecorp-production-test-for-echo-test-for-echo-test-for-echo:v1 RUN echo "Video vertigo" >> sounds.txt RUN echo "Test for echo" >> sounds.txt ENTRYPOINT ["cat", "sounds.txt"] + build v1 and push to local registry docker build --tag thomasmckay-desktop.usersys.redhat.com:5000/thomasmckay/test-for-echo:v1 v1 docker push thomasmckay-desktop.usersys.redhat.com:5000/thomasmckay/test-for-echo + create docker repo test-for-echo and sync thomasmckay-desktop.usersys.redhat.com:5000/thomasmckay/test-for-echo note 1 tag, 1 manifest + create content view w/ this repo + publish cv and promote to lifecycle env + visit docker tags page and note environments present + build v2 image, push, and resync repo docker build --tag thomasmckay-desktop.usersys.redhat.com:5000/thomasmckay/test-for-echo:v2 v2 + re-publish cv note 2 tags, 2 manifests note docker tags page correct + tag v2 as v1, push to local registry, resync repo, publish cv docker tag b80dafd4d227 thomasmckay-desktop.usersys.redhat.com:5000/thomasmckay/test-for-echo:v1 docker push thomasmckay-desktop.usersys.redhat.com:5000/thomasmckay/test-for-echo note 2 tags, 3 manifests note docker tags page for v1 shows it in Library, Default Organization View, and Production (my lifecycle env) From the UI there is no way to tell that these are different images for the same tag: Library and Default Organzation View = new v1 Production = original v1 There should be 3 tags in katello, with the 2 v1 tags pointing to separate manifests. This makes it impossible to use katello as a way to manage images.
Created from redmine issue http://projects.theforeman.org/issues/17317
Upstream bug assigned to tomckay
To fix this bug we also need: https://bugzilla.redhat.com/show_bug.cgi?id=1399294
Moving this bug to POST for triage into Satellite 6 since the upstream issue http://projects.theforeman.org/issues/17317 has been resolved.
Verified in Satellite 6.2.5 Followed the steps provided by Thom, see below. Since the UI changes are not currently available in 6.2, I settle for the content management aspect. As a result, the tags were appropriately managed with the correct images, as can been seen in the very last command below. -bash-4.2# docker build -t localhost:5001/jake/test-echo:v1 v1 Sending build context to Docker daemon 2.048 kB Step 1 : FROM registry.access.redhat.com/rhel7/rhel ---> e8e3aaf82af5 Step 2 : RUN echo "Here we go, vertigo" > sounds.txt ---> Using cache ---> 69a09fe07e87 Step 3 : ENTRYPOINT cat sounds.txt ---> Using cache ---> d76686991123 Successfully built d76686991123 -bash-4.2# docker push localhost:5001/jake/test-echo:v1 The push refers to a repository [localhost:5001/jake/test-echo] be855e8379f7: Pushed 65dfb1d31a1e: Pushed b452c96f0223: Pushed v1: digest: sha256:f61236fcc4b258a569b0a94f22932494000995c9ab54a2375b99cb748d5389a8 size: 922 -bash-4.2# docker build -t localhost:5001/jake/test-echo:v2 v2 Sending build context to Docker daemon 2.048 kB Step 1 : FROM sat-qe-1.rhq.lab.eng.bos.redhat.com:5000/default_organization-docker-test1:v1 Trying to pull repository sat-qe-1.rhq.lab.eng.bos.redhat.com:5000/default_organization-docker-test1 ... v1: Pulling from sat-qe-1.rhq.lab.eng.bos.redhat.com:5000/default_organization-docker-test1 f9ab7164e76a: Already exists d77ab047cab8: Already exists a2a12934dfa5: Already exists Digest: sha256:aafcd7f4ec25f06421fa89e0205de60fa70494c449814e12499c268aa9873bde Status: Downloaded newer image for sat-qe-1.rhq.lab.eng.bos.redhat.com:5000/default_organization-docker-test1:v1 ---> d76686991123 Step 2 : RUN echo "Video vertigo" >> sounds.txt ---> Running in 2a9e08dbf952 ---> 06999b3e9632 Removing intermediate container 2a9e08dbf952 Step 3 : RUN echo "Test for echo" >> sounds.txt ---> Running in 7aa2d5fba4d7 ---> cd2f3ae6777a Removing intermediate container 7aa2d5fba4d7 Step 4 : ENTRYPOINT cat sounds.txt ---> Running in 3825d820f9fa ---> 13b55658e5d1 Removing intermediate container 3825d820f9fa Successfully built 13b55658e5d1 -bash-4.2# docker push localhost:5001/jake/test-echo:v2 The push refers to a repository [localhost:5001/jake/test-echo] 18bc6d8be7cd: Pushed 2159fb87027c: Pushed be855e8379f7: Layer already exists 65dfb1d31a1e: Layer already exists b452c96f0223: Layer already exists v2: digest: sha256:9c4c60046c332d8f9d0f43105aed2858567af532d18de1731f10c94c352dfaa2 size: 1336 -bash-4.2# docker images REPOSITORY TAG IMAGE ID CREATED SIZE localhost:5001/jake/test-echo v2 13b55658e5d1 20 minutes ago 192.5 MB localhost:5001/jake/test-echo v1 d76686991123 4 hours ago 192.5 MB sat-qe-1.rhq.lab.eng.bos.redhat.com:5000/default_organization-docker-test1 v1 d76686991123 4 hours ago 192.5 MB -bash-4.2# docker tag 13b55658e5d1 localhost:5001/jake/test-echo:v1 -bash-4.2# docker push localhost:5001/jake/test-echo:v1 The push refers to a repository [localhost:5001/jake/test-echo] 18bc6d8be7cd: Layer already exists 2159fb87027c: Layer already exists be855e8379f7: Layer already exists 65dfb1d31a1e: Layer already exists b452c96f0223: Layer already exists v1: digest: sha256:9c4c60046c332d8f9d0f43105aed2858567af532d18de1731f10c94c352dfaa2 size: 1336 -bash-4.2# docker images REPOSITORY TAG IMAGE ID CREATED SIZE localhost:5001/jake/test-echo v1 13b55658e5d1 24 minutes ago 192.5 MB localhost:5001/jake/test-echo v2 13b55658e5d1 24 minutes ago 192.5 MB sat-qe-1.rhq.lab.eng.bos.redhat.com:5000/default_organization-docker-test1 v1 d76686991123 4 hours ago 192.5 MB -bash-4.2# docker pull sat-qe-1.rhq.lab.eng.bos.redhat.com:5000/default_organization-docker-test1:v1 Trying to pull repository sat-qe-1.rhq.lab.eng.bos.redhat.com:5000/default_organization-docker-test1 ... v1: Pulling from sat-qe-1.rhq.lab.eng.bos.redhat.com:5000/default_organization-docker-test1 f9ab7164e76a: Already exists d77ab047cab8: Already exists a2a12934dfa5: Already exists fdc0e91d4655: Already exists 2ab88ba9ba09: Already exists Digest: sha256:df0b445cf7a6cac61cbd2a53f496d01bee8817f652d01ab27060f9a2f8813a75 Status: Downloaded newer image for sat-qe-1.rhq.lab.eng.bos.redhat.com:5000/default_organization-docker-test1:v1 -bash-4.2# docker pull sat-qe-1.rhq.lab.eng.bos.redhat.com:5000/default_organization-docker-test1:v2 Trying to pull repository sat-qe-1.rhq.lab.eng.bos.redhat.com:5000/default_organization-docker-test1 ... v2: Pulling from sat-qe-1.rhq.lab.eng.bos.redhat.com:5000/default_organization-docker-test1 f9ab7164e76a: Already exists d77ab047cab8: Already exists a2a12934dfa5: Already exists fdc0e91d4655: Already exists 2ab88ba9ba09: Already exists Digest: sha256:88cf9653223182f4dba1b5d7cb8e1118ac80e07cf74a2cefafa2f3f3c8eafece Status: Downloaded newer image for sat-qe-1.rhq.lab.eng.bos.redhat.com:5000/default_organization-docker-test1:v2 -bash-4.2# docker images REPOSITORY TAG IMAGE ID CREATED SIZE localhost:5001/jake/test-echo v1 13b55658e5d1 28 minutes ago 192.5 MB localhost:5001/jake/test-echo v2 13b55658e5d1 28 minutes ago 192.5 MB sat-qe-1.rhq.lab.eng.bos.redhat.com:5000/default_organization-docker-test1 v1 13b55658e5d1 28 minutes ago 192.5 MB sat-qe-1.rhq.lab.eng.bos.redhat.com:5000/default_organization-docker-test1 v2 13b55658e5d1 28 minutes ago 192.5 MB
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/RHBA-2016:2958