Bug 2040453

Summary: Limited CV docker tags cannot be pulled after syncing library repo with "limit sync tags"
Product: Red Hat Satellite Reporter: Ian Ballou <iballou>
Component: Container Management - ContentAssignee: Ian Ballou <iballou>
Status: CLOSED ERRATA QA Contact: addubey
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.10.0CC: akapse, pcreech, vijsingh, zhunting
Target Milestone: 6.11.0Keywords: Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 2043715 (view as bug list) Environment:
Last Closed: 2022-07-05 14:31:52 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Ian Ballou 2022-01-13 17:40:22 UTC
Description of problem:

Scenario: there is a content view version promoted to some LCE with docker tags.  Tags: latest, glibc, and uclibc.

There are no filters.

The library repository is given "Limit Sync Tags": glibc,uclibc and the repo is re-synced.

Now, the library repo is missing latest as it should.

However, when you try to `podman pull` from the content view version LCE repository, latest is also missing, even though the content view version never changed.

Example error:

WARN[0003] failed, retrying in 1s ... (3/3). Error: initializing source docker://satellite.example.com/default_organization-environment-testcv-myproduct-prometheus_busybox:uclibc: reading manifest uclibc in satellite.example.com/default_organization-environment-testcv-myproduct-prometheus_busybox: unknown: uclibc was not found! 


Version-Release number of selected component (if applicable):


How reproducible:

100%

Steps to Reproduce:
1. Sync a docker repo
2. Add that docker repo to a content view and publish
3. `podman pull` from the content view version LCE repository (Library is fine)
4. Ensure that `podman pull` works on some tag "A" in the repo
5. Update the repository's limit sync tags to exclude the tag "A" that was tested before
6. Re-sync the repository
7. Try pulling tag "A" again. Notice that there is an error about the tag being missing. 

Actual results:
Tag "A" cannot be pulled.

Expected results:
Tag "A" can still be pulled.

Additional info:

This is due to RepositoryDockerMetaTags disappearing when the library repository is synced.  Workarounds include resyncing the repository and republishing the content view. Alternatively, you can run `repository.index_content` in the foreman console on the related content view version repository.

Comment 1 Ian Ballou 2022-01-13 17:52:42 UTC
Created redmine issue https://projects.theforeman.org/issues/34257 from this bug

Comment 2 Ian Ballou 2022-01-13 17:54:52 UTC
This affects versions at least back to 6.10.  6.9 is untested but may be affected.

Comment 3 Bryan Kearney 2022-01-14 20:05:11 UTC
Upstream bug assigned to iballou

Comment 4 Bryan Kearney 2022-01-14 20:05:12 UTC
Upstream bug assigned to iballou

Comment 5 Bryan Kearney 2022-01-20 00:05:20 UTC
Moving this bug to POST for triage into Satellite since the upstream issue https://projects.theforeman.org/issues/34257 has been resolved.

Comment 9 errata-xmlrpc 2022-07-05 14:31:52 UTC
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 (Moderate: Satellite 6.11 Release), 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-2022:5498