Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
Red Hat Satellite engineering is moving the tracking of its product development work on Satellite to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "Satellite project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs will be migrated starting at the end of May. If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "Satellite project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/SAT-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.

Bug 2159963

Summary: ForeignKeyViolation on ACS create when invalid --ssl-* argument is provided
Product: Red Hat Satellite Reporter: Vladimír Sedmík <vsedmik>
Component: Alternate Content SourcesAssignee: Quinn James <qjames>
Status: CLOSED ERRATA QA Contact: Chris Roberts <chrobert>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.13.0CC: chrobert, iballou, pcreech
Target Milestone: 6.13.0Keywords: Triaged
Target Release: Unused   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: tfm-rubygem-katello-4.7.0.17-1 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-05-03 13:24:04 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-11 08:28:43 UTC
Description of problem:
PG::ForeignKeyViolation: ERROR is shown when trying to create an ACS via hammer and providing non-existent index for --ssl-ca-cert-id, --ssl-client-cert-id, --ssl-client-key-id argument.

The same error is shown for Simplified ACS creation, where these args are not applicable.


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


How reproducible:
always


Steps to Reproduce:
1. Have a Satellite with some Prods and Capsules you could refer to in 2.
2. Try to create an ACS:
# hammer alternate-content-source create --alternate-content-source-type simplified --name "Test SACS" --smart-proxy-ids 1,2 --product-ids 1 --content-type yum --ssl-ca-cert-id 2
# hammer alternate-content-source create --alternate-content-source-type simplified --name "Test SACS" --smart-proxy-ids 1,2 --product-ids 1 --content-type yum --ssl-client-cert-id 2
# hammer alternate-content-source create --alternate-content-source-type simplified --name "Test SACS" --smart-proxy-ids 1,2 --product-ids 1 --content-type yum --ssl-client-key-id 2

Note: No content-credential with id=2 exists on the Satellite.


Actual results:
Could not create the Alternate Content Source.:
  PG::ForeignKeyViolation: ERROR:  insert or update on table "katello_alternate_content_sources" violates foreign key constraint "katello_alternate_content_sources_ssl_client_cert_id"
  DETAIL:  Key (ssl_client_cert_id)=(2) is not present in table "katello_content_credentials".


Expected results:
Some wrapping error message for Custom ACS, in case of Simplified ACS some validation and same message as we have for the other not-applicable args (Validation failed: Ssl ca cert must be blank)

Comment 1 Quinn James 2023-02-07 15:41:52 UTC
Created redmine issue https://projects.theforeman.org/issues/36051 from this bug

Comment 2 Ian Ballou 2023-02-15 17:55:32 UTC
This is in progress.

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

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

Comment 6 Chris Roberts 2023-03-17 21:10:05 UTC
Tested with latest snap and there is now an error message instead of a SQL error for content credential that does not exist. 

# hammer alternate-content-source create --alternate-content-source-type simplified --name "Test SACS" --smart-proxy-ids 1 --product-ids 1 --content-type yum --ssl-ca-cert-id 2
Could not create the Alternate Content Source.:
  Validation failed: Ssl ca cert must be blank

hammer alternate-content-source create --alternate-content-source-type simplified --name "Test SACS" --smart-proxy-ids 1 --product-ids 1 --content-type yum --ssl-client-cert-id 2
Could not create the Alternate Content Source.:
  Validation failed: Ssl client cert must be blank

hammer alternate-content-source create --alternate-content-source-type simplified --name "Test SACS" --smart-proxy-ids 1 --product-ids 1 --content-type yum --ssl-client-key-id 2
Could not create the Alternate Content Source.:
  Validation failed: Ssl client key must be blank

Marking as VERIFIED

Comment 9 errata-xmlrpc 2023-05-03 13:24:04 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