Bug 2162129

Summary: Add validations for RHUI ACS create and update
Product: Red Hat Satellite Reporter: Vladimír Sedmík <vsedmik>
Component: Alternate Content SourcesAssignee: Quinn James <qjames>
Status: CLOSED ERRATA QA Contact: Samir Jha <sajha>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.13.0CC: ahumbe, pcreech, sajha
Target Milestone: 6.13.0Keywords: Triaged
Target Release: Unused   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: rubygem-katello-4.7.0.11-1 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-05-03 13:24:33 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 Vladimír Sedmík 2023-01-18 20:46:17 UTC
Description of problem:
RHUI ACS supports the 'yum' content-type only. However, we are able to create or update an ACS via hammer or API with the 'file' content-type.


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


How reproducible:
always


Steps to Reproduce:
1. Create and RHUI ACS via hammer or API providing file content-type and check the result:

[root@sat ~]# hammer alternate-content-source create --alternate-content-source-type "rhui" --content-type "file" --name "Test RHUI hammer" --base-url "https://rhui.example.com/pulp/content" --subpaths "test/repo1/,test/repo2/" --smart-proxy-ids 1
Alternate Content Source created.

[root@sat ~]# hammer alternate-content-source show --name "Test RHUI hammer"
ID:                            191
Name:                          Test RHUI hammer
Label:                         Test_RHUI_hammer
Base URL:                      https://rhui.example.com/pulp/content
Content type:                  file        <-------------------------------------
Alternate content source type: rhui
Subpaths:                      
 1) : test/repo1/
 2) : test/repo2/
Smart proxies:                 
 1) Id:              1
    Name:            satellite.redhat.com
    URL:             https://satellite.redhat.com:9090
    Download policy: on_demand

[root@sat ~]# pulp file acs list
[
  {
    "pulp_href": "/pulp/api/v3/acs/file/file/0b6ba443-5192-4877-9971-a60f265f3804/",
    "pulp_created": "2023-01-18T17:25:03.157620Z",
    "name": "Test_RHUI_hammer-https://satellite.redhat.com:9090-397",
    "last_refreshed": null,
    "paths": [
      "test/repo2//PULP_MANIFEST",
      "test/repo1//PULP_MANIFEST"
    ],
    "remote": "/pulp/api/v3/remotes/file/file/c14f62dd-5bea-4fc4-b9f3-e98b3bb595ac/"
  }
]

2. Try to update the content-type to 'yum' and back to 'file':
curl -sku admin:password -H "Content-type: application/json" -X PUT -d '{"content_type": "file"}' https://$(hostname)/katello/api/alternate_content_sources/191


Actual results:
ACS is created and updated.


Expected results:
There should be some validation to prevent user to do so.
Also 'product-ids' shouldn't be allowed for this ACS type.

Comment 1 Quinn James 2023-02-03 16:52:46 UTC
Created redmine issue https://projects.theforeman.org/issues/36042 from this bug

Comment 2 Bryan Kearney 2023-02-09 00:03:19 UTC
Moving this bug to POST for triage into Satellite since the upstream issue https://projects.theforeman.org/issues/36042 has been resolved.

Comment 8 errata-xmlrpc 2023-05-03 13:24:33 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.13 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-2023:2097