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

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Done
    • Priority: 4 - Normal
    • 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:
      None
    • Severity:
      Medium
    • Release Notes:
      Yes

      Description

      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 

      Logs:

      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

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              andreik Andrei Komarov
              Reporter:
              balajis Balaji Satish
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Sync Status

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