Bug 2040489 - Even events from redfish are not received by the https server
Summary: Even events from redfish are not received by the https server
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Cloud Native Events
Version: 4.10
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ---
: 4.10.0
Assignee: Jack Ding
QA Contact: nwaizer
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2022-01-13 20:06 UTC by nwaizer
Modified: 2022-03-16 11:12 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-03-16 11:12:07 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2022:0811 0 None None None 2022-03-16 11:12:32 UTC

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


Note You need to log in before you can comment on or make changes to this bug.