Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 2040489

Summary: Even events from redfish are not received by the https server
Product: OpenShift Container Platform Reporter: nwaizer
Component: Cloud Native EventsAssignee: Jack Ding <jacding>
Cloud Native Events sub component: Hardware Event Proxy QA Contact: nwaizer
Status: CLOSED ERRATA Docs Contact:
Severity: high    
Priority: high CC: aos-bugs, aputtur, ijolliff, jacding, nparekh
Version: 4.10   
Target Milestone: ---   
Target Release: 4.10.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-03-16 11:12:07 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 nwaizer 2022-01-13 20:06:39 UTC
Description of problem:
Using the Redfish SubmitTestEvent on a Dell Server, I get the first, third and odd events, but not the even events.

Version-Release number of selected component (if applicable):
iDrac 5.0.0.0, 5.10.0.0

How reproducible:

On open shift install hw-event-proxy from https://github.com/jzding/hw-event-proxy.
To achieve this, get the repository and run $ make deploy

Get the Redfish python tools from Dell's github repo https://github.com/dell/iDRAC-Redfish-Scripting/blob/master/Redfish%20Python/


Steps to Reproduce:
1. Subscribe, I issued:
  python3 SubmitTestEventREDFISH.py -ip hostname -u *** -p *** -c y -D https://<https server> -V Event -E Alert

2. Ask Redfish to create an event: 
  python3 SubmitTestEventREDFISH.py -ip hostname -u *** -p *** -t y -D https://<https server>  -E Alert -M TMP0116

3. This will respond with 201 status code and the event is received in our https server.

4. Repeat the event request:
  python3 SubmitTestEventREDFISH.py -ip hostname -u *** -p *** -t y -D https://<https server>  -E Alert -M TMP0116


Actual results:
Event is not receive at the hw-event-proxy according to the app log.

Expected results:
Every event should be received by the hw-event-proxy


Additional info:

Comment 1 nwaizer 2022-01-15 21:14:19 UTC
Here is another test proving redfish is indeed emitting the events as expected.


1. Setup a RHEL server running netcat on port 443 and tcpdump listening to that port.
2. Subscribed the redfish events to that URI.
3. Issue SubmitTestEvent to emit the event.
4. As expected, tcpdump got requests for every SubmittestEvent issued.

Comment 3 Jack Ding 2022-01-26 15:43:57 UTC
Fix merged. https://github.com/redhat-cne/hw-event-proxy/pull/61

Issue:
Every other http POST request failed with 404 and
error message "Client sent an HTTP request to an HTTPS server".

Root Cause:
There are 2 ports present in hw-event-proxy-service:
HTTP port 9087 and HTTPS port 8443. When a POST request arrives,
HAProxy does round robin between the two endpoints. The one
landed on port 8443 caused the error message.

Solution:
Removed the extra https port in hw-event-proxy-service. (the port was reserved for Prometheus and is no longer needed.)
Add targetPort:9087 in the edge route to prevent issues from
happening again in the future if more ports were added.
Add annotation to disable cookie as cookies are not really used in the Webhook.

Comment 7 errata-xmlrpc 2022-03-16 11:12:07 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 (OpenShift Container Platform 4.10.4 bug fix update), 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/RHBA-2022:0811