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

Implement "Lattice" view in Dashboard #68

Closed
brooksmtownsend opened this issue Jun 25, 2021 · 7 comments · Fixed by #192
Closed

Implement "Lattice" view in Dashboard #68

brooksmtownsend opened this issue Jun 25, 2021 · 7 comments · Fixed by #192
Assignees
Labels
host web ui aka washboard spike More investigation is needed

Comments

@brooksmtownsend
Copy link
Member

brooksmtownsend commented Jun 25, 2021

Currently, the dashboard shows an overview of a single wasmcloud_host, though you cannot access multiple hosts in the same dashboard. After #73 , multiple hosts will be able to run on different ports on the same machine, but as it is today multiple hosts can be connected to the same lattice.

If it's technically possible, the wasmcloud dashboard should be able to display a "lattice" view that shows all hosts connected to the same lattice, allowing remote control of each of them. I can see this being technically challenging until #5 is implemented, so it may depend on that issue before we can issue commands to remote hosts via the dashboard.

@brooksmtownsend brooksmtownsend added host web ui aka washboard spike More investigation is needed labels Jun 25, 2021
@autodidaddict autodidaddict removed this from To do in wasmCloud OTP RC0 Jul 15, 2021
@autodidaddict autodidaddict added this to To do in wasmCloud 1.0-RC0 via automation Jul 15, 2021
@brooksmtownsend
Copy link
Member Author

Depends on #136

@brooksmtownsend
Copy link
Member Author

Waiting on #222 because control interface changes will require a good bit of modification in the dashboard, and that will be fundamental to remote control multiple hosts

@brooksmtownsend
Copy link
Member Author

image
Above is the current user experience when looking at a dashboard where there are multiple hosts. You can see there are two instances of an actor running, on two different hosts. I like this, and this is essentially what this issue is referring to as a "Lattice View", where all resources in a lattice are shown on a single dashboard.

As a part of #155, we'll want to support operations on multiple hosts in a lattice from the same view. Currently, operations like "Start Actor" and "Start Provider" are invocations on the Host API, so there's no way to use them to start an actor on a remote host.

I think the simplest solution for the MVP is to allow users to filter resources by-host in a multi-checkbox fashion on the lattice dashboard. This semi-depends on #155 as it assumes that we're able to know what hosts are running in a lattice. This would allow the dashboard view to be a lattice view and able to control individual hosts, even remotely on the control interface.

This would require modals like Start Actor to include a Host ID parameter for the control interface query, which could be a dropdown list similar to link definitions as long as we have access to hosts that don't already have running resources (we'll want to appropriately handle host heartbeats and/or the host started event).
image

An alternative to this is to have a dashboard for the full lattice view which is essentially read-only and doesn't allow for individual host modifications (link definitions would be allowed as they are lattice wide), and then have individual host dashboards alongside the left side of the screen. This would be fairly scalable, up until about 20 hosts in the same lattice can fit on the menu bar on the left side (by the time we have someone running 20 hosts in a real workload, we'll be past MVP) This would allow us to easily designate which host is the local running host, and allow operations like Start actor from file for that local host.

Would love some thoughts here @autodidaddict @stevelr on if you like a single view that can be configured to view individual hosts, or multiple views including an overall lattice view and additional host views that only show information for a specific host. My goal is to make it easy for you to tell what information you're looking at in the dashboard and what operations you can perform on a specific host.

@stevelr
Copy link
Contributor

stevelr commented Aug 12, 2021

For MVP I would think it would be ok to show all hosts or exactly one. In the filter one case, all the dialogs would populate with the correct host id

@stevelr
Copy link
Contributor

stevelr commented Aug 12, 2021

Agree the UI should be unambiguously clear whether you are viewing filtered or not

@brooksmtownsend
Copy link
Member Author

@stevelr I like your idea for showing all hosts information or exactly one. That will be simpler to implement for MVP and will still be useful

@autodidaddict
Copy link
Member

I like the idea of a filter that alters the dashboard view from "everything" to just one host. Nice and clean.

wasmCloud 1.0-RC0 automation moved this from To do to Done Aug 20, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
host web ui aka washboard spike More investigation is needed
Projects
No open projects
Development

Successfully merging a pull request may close this issue.

3 participants