As the end-user of NDS Labs, I receive asynchronous notifications from the API server in the UI.
This task encompasses the work necessary to implement asynchronous event support in the workbench UI. Asynchronous events will likely be supported via Websockets.
For project A, the administrator has a single instance open in the browser. For project B, the administrator has the project opened in two separate browsers (or two users are sharing the same login). When Project A adds a stack, the change is reflected in the Project A session. When Project B-1 adds a stack, the change is reflected in the Project B-2 session. When the cluster administrator adds a new service, the Project A, B-1, B-2 sessions are notified. The cluster administrator can send a broadcast message to all logged in sessions (i.e., outage notification)
- User is logged into a project
- When the user adds/updates/deletes a stack, stack service, or volume, all project listeners are updated
- When the user starts or stops a stack, all project listeners are updated for all status changes (starting, waiting, stopping)
- When the cluster admin adds/updates/removes a service spec, all active listeners are updated
- User is not logged in – access is denied to websocket
- Error conditions are sent to listeners only for stack/service status changes