Bug 2043126

Summary: Non-enabled repository types make it into the apipie help-text
Product: Red Hat Satellite Reporter: Ian Ballou <iballou>
Component: RepositoriesAssignee: Ian Ballou <iballou>
Status: CLOSED ERRATA QA Contact: Cole Higgins <chiggins>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.11.0CC: paji, pcreech
Target Milestone: 6.12.0Keywords: Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: tfm-rubygem-katello-4.5.0.12-1 Doc Type: Known Issue
Doc Text:
*Non-enabled repository types might appear in `apipie help-text`* Because the apipie cache is generated statically rather than with a running Satellite, non-enabled repository types such as `deb` and `python` might appear in the apipie help-text. This will be patched in a future release.
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-11-16 13:33:25 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-20 16:49:20 UTC
Description of problem:
Non-enabled repository types make it into the apipie help-text, such as "deb" or "python".

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

How reproducible:
Always.


Steps to Reproduce:
1.  hammer repository create --help

Actual results:
 --content-type ENUM                            Type of repo
                                                Possible value(s): 'ansible_collection', 'deb', 'docker', 'file', 'ostree',
                                                'python', 'yum'

Expected results:
Don't include types not supported by the smart proxy.


Additional info:
For Satellite 7.0, this will likely need to be fixed temporarily with a patch to the rubygem-katello.spec file to `rm` the non-Satellite repository type files.

The issue is due to how the apipie cache is generated statically.  Since it's not generated with a running Satellite, we cannot use the enabled repository types.

For a medium-term fix, we could remove the repo types completely from the apipie definition and add in an endpoint to check the enabled content types.

For a longer-term fix, we could switch to having the apipie cache generating dynamically in Foreman.  That will require more consideration.

Comment 6 sabuchan 2022-06-14 16:37:35 UTC
RN draft:

Because the apipie cache is generated statically rather than with a running Satellite, non-enabled repository types such as `deb` and `python` can appear in the apipie help-text. This will be patched in a future release.

Doc: https://docs.google.com/document/d/1xMkjPbkwF9ZJ95tEcWYmRRqVdusIZENHZsL3-B3YvJw/edit

Tagged @iballou in the doc for review.

Comment 7 Ian Ballou 2022-06-14 19:18:16 UTC
The doc text looks good to me!

Comment 8 sabuchan 2022-06-15 20:41:22 UTC
Final RN:

*Non-enabled repository types might appear in `apipie help-text`*

Because the apipie cache is generated statically rather than with a running Satellite, non-enabled repository types such as `deb` and `python` might appear in the apipie help-text. 
This will be patched in a future release.

Comment 10 Ian Ballou 2022-08-30 18:43:21 UTC
Created redmine issue https://projects.theforeman.org/issues/35459 from this bug

Comment 12 Bryan Kearney 2022-09-07 16:03:50 UTC
Moving this bug to POST for triage into Satellite since the upstream issue https://projects.theforeman.org/issues/35459 has been resolved.

Comment 14 Partha Aji 2022-09-29 17:26:33 UTC
Verified

#  hammer repository create --help |grep content-type
 --content-type VALUE                           Type of repository to create. View available types with "hammer repository types"


#  hammer repository list --help |grep content-type
 --content-type VALUE                           Limit the repository type to return. View available types with "hammer repository types"


#  hammer repository upload-content --help |grep content-type
--content-type VALUE                           The type of content unit to upload (srpm, file, etc.). View uploadable types
                                                with "hammer repository types"
# hammer repository remove-content --help |grep content-type
 --content-type VALUE             The type of content unit to remove (srpm, docker_manifest, etc.). View removable
                                  types with "hammer repository types"

Comment 18 errata-xmlrpc 2022-11-16 13:33:25 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 (Important: Satellite 6.12 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:8506