Uploaded image for project: 'Artifactory Binary Repository'
  1. Artifactory Binary Repository
  2. RTFACT-23514

Docker Virtual repos including the smart and regular remote repos with resolveDockerTagsByTimestamp setting does not resolve artifacts as expected



    • Type: Bug
    • Status: Done
    • Resolution: Done
    • Affects Version/s: 6.20.1, 6.21.1, 6.22.0, 7.9.0
    • Fix Version/s: 7.12.5
    • Component/s: None
    • Labels:
    • Severity:
    • Release Notes:


      Problem description: Virtual Docker repository including the smart and regular remote repositories, along with the resolve Docker Tags By Timestamp setting does not resolve artifacts as expected and only tries to get the request from the smart remote repository and when it gets an access/permission error from the smart remote, it fails to check further in the included repo list. This happens when the smart remote repository does not have anonymous permissions.

       What is the expected behavior?  Should be able to resolve artifacts from the regular remote as well when it gets error response from locals & smart remotes

      Steps to reproduce: 

      1. Create Docker remote repository proxying docker hub
      2. Create Permission target with an anonymous user having required privileges and include the Docker remote repository 
      3. Create Docker smart remote repository pointing to a remote Artifactory instance
      4. Create Permission target with an anonymous user not having any privileges and include the Docker smart remote repository 
      5. Create a Virtual Docker repo including both Docker remote and Docker smart remote (created in step 1 and step 2)
      6. Enable the Resolve Docker Tags By Timestamp setting under the Virtual repo Advance page
      7. Try to pull an image through the Docker virtual repo that would be available in Docker remote repo (proxying docker hub) and not in Docker smart repo and observe unauthorized error from the client and missing manifest error from the Docker smart remote repo in the artifactory.log 


      When the Resolve Docker Tags By Timestamp is set

      2020-10-06 13:15:10,060 [http-nio-8081-exec-1] [TRACE] (o.a.a.d.r.v.DockerV2RemoteRepoHandler:251) - Fetching manifest for docker-smart-repo2:'busybox' 'latest'
      2020-10-06 13:15:10,060 [http-nio-8081-exec-1] [DEBUG] (o.a.a.d.r.v.DockerV2RemoteRepoHandler:388) - Fetching docker tag manifest for docker-smart-repo2:busybox:latest
      2020-10-06 13:15:10,061 [http-nio-8081-exec-1] [ERROR] (o.a.a.d.r.v.DockerV2RemoteRepoHandler:448) - Missing Manifest from docker-smart-repo2 'v2/busybox/manifests/latest' not found at docker-smart-repo2:busybox/latest/list.manifest.json

      When the Resolve Docker Tags by Timestamp is unchecked

      2020-10-06 13:46:44,755 [http-nio-8081-exec-3] [INFO ] (o.a.a.d.r.v.r.v.DockerV2VirtualRepoHandler:117) - Fetching docker manifest for repo 'busybox' and tag 'latest'
      2020-10-06 13:46:44,756 [http-nio-8081-exec-3] [TRACE] (o.a.a.d.r.v.DockerV2RemoteRepoHandler:251) - Fetching manifest for docker-remote:'library/busybox' 'latest'
      2020-10-06 13:46:44,757 [http-nio-8081-exec-3] [DEBUG] (o.a.a.d.r.v.DockerV2RemoteRepoHandler:388) - Fetching docker tag manifest for docker-remote:library/busybox:latest
      2020-10-06 13:46:44,765 [http-nio-8081-exec-3] [DEBUG] (o.a.a.d.r.v.DockerV2RemoteRepoHandler:423) - Using manifest from docker-remote-cache/library/busybox/latest/list.manifest.json


          Issue Links



                andreik Andrei Komarov (Inactive)
                balajis Balaji Satish
                0 Vote for this issue
                3 Start watching this issue



                    Sync Status

                    Connection: RTFACT Sync
                    RTMID-23514 -
                    • Last Sync Date: