Bug 2043715

Summary: Limited CV docker tags cannot be pulled after syncing library repo with "limit sync tags"
Product: Red Hat Satellite Reporter: Brad Buckingham <bbuckingham>
Component: Container Management - ContentAssignee: Ian Ballou <iballou>
Status: CLOSED ERRATA QA Contact: addubey
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.10.0CC: akapse, iballou, juwatts, osousa
Target Milestone: 6.10.3Keywords: Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: tfm-rubygem-katello-4.1.1.45-1 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 2040453 Environment:
Last Closed: 2022-03-08 21:26:09 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Brad Buckingham 2022-01-21 20:04:14 UTC
+++ This bug was initially created as a clone of Bug #2040453 +++

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.

--- Additional comment from  on 2022-01-13T17:52:42Z 

Created redmine issue https://projects.theforeman.org/issues/34257 from this bug

--- Additional comment from  on 2022-01-13T17:54:52Z 

This affects versions at least back to 6.10.  6.9 is untested but may be affected.

--- Additional comment from  on 2022-01-14T20:05:11Z 

Upstream bug assigned to iballou

--- Additional comment from  on 2022-01-14T20:05:12Z 

Upstream bug assigned to iballou

--- Additional comment from  on 2022-01-20T00:05:20Z 

Moving this bug to POST for triage into Satellite since the upstream issue https://projects.theforeman.org/issues/34257 has been resolved.

Comment 5 addubey 2022-02-09 11:20:19 UTC
Verified.


Tested on: Satellite-6.10.3 Snap 1.0


Steps followed: 

Steps to Reproduce:

1. Sync a docker repository.
2. Add that docker repo to a content view and publish
3.`podman pull` from the content view version LCE repository.
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".
6. Re-sync the repository
7. Try pulling tag "A" again.



Observation: Tag "A" can still be pulled.

Comment 10 errata-xmlrpc 2022-03-08 21:26:09 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 (Low: Satellite 6.10.3 Async Bug Fix Update), 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:0790