Bug 1884237
Summary: | receptor-satellite allows inconsistent combination of status codes | ||||||
---|---|---|---|---|---|---|---|
Product: | Red Hat Satellite | Reporter: | Lukáš Hellebrandt <lhellebr> | ||||
Component: | RH Cloud - Cloud Connector | Assignee: | Adam Ruzicka <aruzicka> | ||||
Status: | CLOSED ERRATA | QA Contact: | Petr Pochop <ppochop> | ||||
Severity: | low | Docs Contact: | |||||
Priority: | unspecified | ||||||
Version: | 6.8.0 | CC: | aruzicka, ppochop | ||||
Target Milestone: | 6.9.0 | Keywords: | Triaged | ||||
Target Release: | Unused | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Whiteboard: | |||||||
Fixed In Version: | python3-receptor-satellite-1.3.0 | Doc Type: | If docs needed, set a value | ||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2021-04-21 13:18:20 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: | |||||||
Bug Depends On: | 1930641 | ||||||
Bug Blocks: | |||||||
Attachments: |
|
Being fixed as part of https://bugzilla.redhat.com/show_bug.cgi?id=1833033 Fix was merged in upstream and released in receptor-satellite-1.3.0 Aligning to 6.9 and moving to ON_DEV as the package referenced in comment 2 is already in the Satellite 6.9 SNAP. Verified On Sat 6.9 snap 18 Tested a successful remediation: All codes were 0. Set wrong password in receptor.conf: satellite_connection_code = 1; connection_code = null; execution_code = null Disabled authentication of ssh between satellite and host: satellite_connection_code = 0; connection_code = 1; execution_code = null Made sure the remediation playbook would fail on host: satellite_connection_code = 0; connection_code = 0; execution_code = 2 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 (Moderate: Satellite 6.9 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-2021:1313 |
Created attachment 1718161 [details] 0-failure.log Description of problem: receptor-satellite allows inconsistent combination of status codes. There are the following codes in the message from receptor to c.rh.c: satellite_connection_code (set wrong password in receptor.conf): 0 if connection between Receptor and Satellite is successful, non-zero otherwise connection_code (delete foreman-proxy's ssh key from host's authorized_keys): 0 if connection between Satellite and the host is successful, non-zero otherwise execution_code (change binary used in remediation to 'exit 1'): 0 if playbook finished successfully, non-zero otherwise satellite_infrastructure_code (not tested): should return 0 when connection between satellite and connection is successful, non-zero otherwise The one weird thing I encountered during testing is that if connection between Receptor and Satellite fails (I actually set wrong password in receptor.conf), then satellite_connection_code!=0 and connection_code==0. Connection between Satellite and host could, however, never have succeeded because Satellite wasn't instructed to do anything in the first place. Log of this case attached. It doesn't make much sense to me, in combination with status==failure. Also, c.rh.c team confirmed they would prefer something that is more consistent, like connection_code==null. Version-Release number of selected component (if applicable): Sat 6.8. Not a regression - not supported in previous versions. How reproducible: Deterministic Steps to Reproduce: 1. Setup receptor and host, upload inventory 2. Create remediation 3. Set wrong password in receptor.conf 4. Try to apply the remediation Actual results: Error, satellite_connection_code!=0 and connection_code==0 Expected results: Error, satellite_connection_code!=0 and connection_code==null