Bug 1956210

Summary: Health check should use hostname -f
Product: Red Hat Satellite Reporter: Barbora Vassova <bvassova>
Component: Satellite MaintainAssignee: Sayan Das <saydas>
Status: CLOSED ERRATA QA Contact: Radek Mynar <rmynar>
Severity: high Docs Contact:
Priority: high    
Version: 6.8.0CC: ahumbe, apatel, aupadhye, bhoefer, egolov, ehelms, fperalta, gscarbor, gsulliva, kgaikwad, osousa, pdwyer, rmynar, satellite6-bugs, saydas
Target Milestone: 6.13.0Keywords: EasyFix, Reproducer, Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: rubygem-foreman_maintain-1.2.4 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 2174995 (view as bug list) Environment:
Last Closed: 2023-05-03 13:20: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 Barbora Vassova 2021-05-03 08:24:35 UTC
Description of problem:
When running satellite-maintain health check (on Capsule), in one step it runs the following command

D, [2021-03-21 23:59:25+0100 #6755] DEBUG -- : Running command curl -w '
%{http_code}' -s  --cert '/etc/foreman-proxy/foreman_ssl_cert.pem' --key '/etc/foreman-proxy/foreman_ssl_key.pem' --cacert '/etc/foreman-proxy/foreman_ssl_ca.pem' https://$(hostname):9090/features with stdin nil

This command uses "hostname" instead of "hostname -f" which causes logging of errors in /var/log/foreman-proxy/proxy.log

2021-03-29T13:08:43  [E] <OpenSSL::SSL::SSLError> SSL_accept returned=1 errno=0 state=error: sslv3 alert bad certificate

when the system has shortname defined (together with proper fqdn - there is no issue there) and is using custom certs. Running the curl command manually produces this error:

Unable to communicate securely with peer: requested domain name does not match the server's certificate.

while, when using "hostname -f" it passes ok. 
From my understanding, Satellite primarily uses "hostname -f" so it should be unified here too. 


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

How reproducible:
Always

Steps to Reproduce:
1. Set up Capsule with shortname along the fqdn and custom certs
2. Run satellite-maintain health check 
3. Observe /var/log/foreman-proxy/proxy.log

Actual results:
An error message is logged.

Expected results:
No errors

Additional info:

Comment 12 Sayan Das 2022-12-12 14:07:24 UTC

Redmine and PR

Bug #35856: Use "hostname -f" instead of "hostname" while checking smart-proxy features. - Foreman Maintain - Foreman
https://projects.theforeman.org/issues/35856

Fixes #35856 - Use the FQDN while checking the smart-proxy features by sayan3296 · Pull Request #665 · theforeman/foreman_maintain
https://github.com/theforeman/foreman_maintain/pull/665

Comment 15 Bryan Kearney 2023-01-24 15:07:40 UTC
Moving this bug to POST for triage into Satellite since the upstream issue https://projects.theforeman.org/issues/35856 has been resolved.

Comment 16 Radek Mynar 2023-03-17 17:08:15 UTC
'satellite-maintain health check' uses fqdn when executing curl.

VERIFIED with Satellite & Capsule 6.13 SNAP15 @ RHEL8.7

Comment 19 errata-xmlrpc 2023-05-03 13:20: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