Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This page describes the preliminary requirements and design for asynchronous event support in the NDS Labs Workbench. In order to update the GUI in real time, the server needs to send state changes back to the client. This can be achieved via WebSockets, HTTP Long Polling, or HTTP Streaming.

...

 

...

Platforms

We need to decide which browsers and versions we will support going forward. Browser support options might preclude use of some technologies.

Use case

The project administrator Project A administrator logs in to workbench.  Project B admin logs in to the NDS Labs Workbench GUIworkbench along with a second user in another Project B session. When the cluster admin adds a new service, all three sessions are notified. When Project B user 1 adds a stack, Project B user 2's interface is updated

Events

Project-specific

  • Stop stack
  • Start stack

...

  • Add/update/delete
    • Stack
    • Volume
    • Project
  • Status
    • Stack
    • Stack service
  • Error

System-wide:

  • Outages

Message formats

Authentication

...

  • Add/update/delete service spec
  • Broadcast messages

Message formats

Messages will be sent in JSON format, something like:

Code Block
{ 
    event: "<ID>",
    data: ...
}

Messages will include

  • Errors
  • Create
  • Update
  • Delete
  • Status

Authentication

References

https://en.wikipedia.org/wiki/WebSocket

...