Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move away from Event subscription protocol #106

Open
gtmills opened this issue Jun 6, 2023 · 3 comments
Open

Move away from Event subscription protocol #106

gtmills opened this issue Jun 6, 2023 · 3 comments

Comments

@gtmills
Copy link
Member

gtmills commented Jun 6, 2023

I still see the Event subscription protocol used here:

ws = new WebSocket(`wss://${window.location.host}/subscribe`, [token]);

See below for more information on the Event subscription protocol:
https://github.com/openbmc/docs/blob/224266ecfd528544e9f5473cc4607d9b6b7c435f/rest-api.md#event-subscription-protocol

The Event subscription protocol is behind the rest meson option in bmcweb which is defaulted off:
https://github.com/openbmc/bmcweb/blob/6f8273e49cffdd347c223b9538558edfb05e818a/meson_options.txt#L45

webui-vue should move away from these event subscription protocol websockets and to Server-Sent Events (SSE). openbmc/bmcweb@5e44e3d

I suspect this is the cause of #102. Overall we should move away from Event subscription protocol

@edtanous
Copy link
Contributor

edtanous commented Jun 8, 2023

👍

@fishermess
Copy link

@gtmills Sorry,I didn;t catch your meaning.I only understand the rest option is default off and probablely '/subcribe' caused #102. However, I still didn't find the shortcomming of it, likewise I often use it.

@gtmills
Copy link
Member Author

gtmills commented Jun 29, 2023

However, I still didn't find the shortcomming of it, likewise I often use it.

Although REST D-Bus is useful. Here are a couple of reasons why OpenBMC has moved away from the REST D-Bus

  • REST D-Bus allows authenticated users access to privileged information that may be above their permission level
  • It isn't documented as well or versioned like Redfish is
  • Using Redfish means there is a translation layer from D-Bus to Redfish, this translation layer means D-Bus interface changes don't break clients
  • The Redfish is an industry standard
    • A non-openbmc box can be managed the same.
    • A bunch of tooling and a large community for help
  • Redfish has a bunch of features, REST D-BUS did not

More information can be found in: https://gerrit.openbmc.org/c/openbmc/bmcweb/+/29344

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants