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

Update python-socketio & python-engineio to latest #2591 #2701

Conversation

phillxnet
Copy link
Member

Raise pinned versions to latest available:

Includes:

  • Revised nginx reverse proxy for data_collector app.
  • Replace gevent-websocket with simple-websocket.
  • Replace gevent for regular Python threads in socketio.Server.

Fixes #2591

Requires resolution of / depends upon: rockstor/rockstor-jslibs#36

Raise pinned versions to latest available:
## Includes:
- Revised nginx reverse proxy for data_collector app.
- Replace gevent-websocket with simple-websocket.
- Replace gevent for regular Python threads in socketio.Server.
@phillxnet
Copy link
Member Author

Testing

An rpm built with this proposed change pre-merged but without the associated (linked) update in the js client in rockstor-jslibs we see, via browser dev tools network (Disable Cache selected), the expected:

"The client is using an unsupported version of the Socket.IO or Engine.IO protocols"

With example 404 URLs listed as follows:

https://rleap15-5.lan/socket.io/?EIO=3&transport=polling&t=Oip1gWz

Which indicate that our prior client is attempting to use version 3 of the protocol (?EIO=3). We expect to see ?EIO=4 once our client js is updated in testing branch of rockstor-jslibs.

Consequently we have much depleted header info on all pages and the Dashboard page has the following non-functional widgets:

  • Disk Activity
  • CPU
  • Memory
  • Network

All of which depend on websockets to have their info streamed to them.

@phillxnet
Copy link
Member Author

Testing post jslibs fix

Post having the newest jslib socket.io client in place in rockstor-jslibs testing branch we now have full function of our prior detailed widgets and websocket streamed header info (kernel version uptime etc).

A further tests was to ensure our desktop maintain activity during a Web-UI initiated system update (upstream updates). In some development incarnations we had blocking behaviour where the dashboard would freeze during this event.

@phillxnet phillxnet marked this pull request as ready for review October 15, 2023 11:47
@phillxnet
Copy link
Member Author

@FroggyFlox & @Hooverdan96 I'll go ahead and pop this one in to ease our other ongoing concerns re updating dependencies. All looks to be behaving as before and we have simpler dependencies. With a key reduction here being the removal of our dependency on gevent-websocket. We have some refinement to do as-yet re allowed clients etc but we can address those as we morph our underlying technologies to using more django native ones. But that, in turn, depends on the following Milestone: https://github.com/rockstor/rockstor-core/milestone/24

@phillxnet phillxnet merged commit 235628f into rockstor:testing Oct 15, 2023
@phillxnet phillxnet deleted the 2591-Update-python-socketio-&-python-engineio-to-latest branch October 15, 2023 11:57
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

Successfully merging this pull request may close these issues.

1 participant