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

Fleet: Add Dashboard view #5048

Closed
nwmac opened this issue Feb 4, 2022 · 8 comments
Closed

Fleet: Add Dashboard view #5048

nwmac opened this issue Feb 4, 2022 · 8 comments

Comments

@nwmac
Copy link
Member

nwmac commented Feb 4, 2022

Add a new dashboard view to Fleet - this should be the top of the nav list and thus the default page that the user comes to.

Design:

image

Key things to note:

  • The dashboard shows a card for each Fleet workspace - these can be collapsed by toggling the icon on the right.
  • There should be a way of expanding and collapsing all workspace cards
  • Each card shows a maximum of 5 repos (this is not quite shown right in the design) - when there are more than this there is a 'Show N more workspaces' button (shown on 2nd workspace card in the design). When clicked, this will show the additional repositories. Note we could be more adaptive on what we show - e.g. if there are only 2 workspaces (the default), then we could show more repositories per workspace. With a larger number of workspaces, we show less repositories per workspace.
  • In the workspace card, clicking on the workspace title would change the workspace filter to that workspace and take you to the Git Repos page.
  • I don't know how easy it is to show the bundle state in the table for a workspace - this may be expensive requests to make to get that data, so if its slow, we can just show the Clusters and Resources info for each repository.

When there are no Git Repositories, we should show a welcome screen instead of the view above:

image

(We'll refine this over time, but this is good to start). Clicking 'Get Started' will take you to the Create page for Git Repos (we'll improve this at a later stage).

@aalves08
Copy link
Member

@Jono-SUSE-Rancher just added the tag for 2.6.4 so that we could push it out on this release.

I have seen that you have been tagging it for QA (if I am not mistaken). Could it be pushed to QA from your side, please?

If got this totally wrong, please let me know. Still quite new to the team.

Thanks!

@Jono-SUSE-Rancher
Copy link

Just to be clear @aalves08 - I actually didn't add this to v2.6.4 or anything. What I might have done is added an associated or related backend Rancher ticket into v2.6.4 to be triaged by team 3 to see if we can try to get it into v2.6.4.

@aalves08
Copy link
Member

aalves08 commented Feb 25, 2022

Ok. So @Jono-SUSE-Rancher shall I keep the v2.6.4 tag that I recently added or remove it? Don't want to mess with the organisation of the work this late if it's not suitable 🙏

@Jono-SUSE-Rancher
Copy link

My advice would be that if this is dependent on the backend ticket getting completed that it's unlikely to be done by v2.6.4. Though we can try. For my own sanity, is the backend ticket we're talking about rancher/rancher#36132?

@aalves08
Copy link
Member

aalves08 commented Feb 25, 2022

This doesn't have any backend tasks associated with it. It's just a FE task to implement this dashboard screen on Fleet

Sorry if my communication led to any confusion.

@davidnuzik
Copy link

I am arguably kind of blocked by #5280 but will test without creating more workspaces (this limits my ability to test the dashboard as carefully as I would like to)

@davidnuzik
Copy link

My checks PASSED

Reproduction Steps:

Not required. Is a new enhancement.


Validation Environment:

Rancher version: v2.6-head 1d2b746 3/2/2022
Rancher cluster type: single-node docker install
Docker version: 20.10

Downstream cluster type: rke2
Downstream K8s version: v1.21.10+rke2r1

Validation steps:

Rather than posting explicit steps, I think it may make more sense for me to make a bulleted list of areas I focused on / checked during validation of this change. This is because on top of navigating to each page I did a lot of functional, usability, and exploratory testing to ensure that to the best of my ability this change both makes sense and works as expected.

*During all testing, monitor the browser dev tools on a separate computer monitor. Ensure there are no network errors and errors in the console.

  • Navigated to the Dashboard page without any gitRepos (default state)
    The dashboard shows a Welcome notice and explains that there are no gitRepos listed.
    The link to "Learn More." properly routes to fleet.rancher.io in a new tab.
    The "Get Started" button appropriately routes me to the gitRepo creation form.

  • Created a workspace that encompasses three downstream clusters. Created one gitRepo that targets this workspace.
    Navigated to the Dashboard as soon as I created the repo. I watched the columns update (Clusters Ready, Bundles Ready, Resources Ready).
    I noticed that clusters ready is 0/0 but this seems to be due to bug Fleet: Unable to assign clusters to a new workspace #5280 that I discovered. Due to this bug I won't be able to test additional workspaces.
    I switched to use fleet-default so it can deploy a gitRepo and saw I the dashboard update correctly.
    image
    image

  • Tested Dashboard functionality
    Ensured I can click on the gitrepo name to navigate to the repo's page
    Ensured I can pause and unpause my repo from this (the dashboard) page
    Ensured I can force an update from the dashboard page
    Ensured I can edit config from this page, made a change to the gitrepo edit form and it updated correctly.
    Ensured I can edit as YAML
    Ensured I can clone
    Ensured I can download YAML
    Ensured I can delete my repo
    Ensured that when all repos are deleted the "Welcome to Fleet" content is shown again, just like in our first test in the default out-of-the-box state.
    Ensured that I can add a cluster to my workspace and that the dashboard page dynamically updates the Clusters count. Did the same for Repositories and Cluster Groups as well.
    Ensured that sorting of columns works as expected.
    image

Additional Info:
Again, due to bug #5280 I cannot create new workspaces (that have clusters assigned to them) and therefore could not test how the dashboard functions with multiple workspaces properly. I suspect the risk here to be low, but we may want to retest this later when that bug is resolved. However, I could test viewing several workspaces (we just couldn't deploy anything per each gitrepo).

Nitpick: the whitespace on the left is quite small both on the columns name bar and for each repo - this is probably just the Vue CSS though and could possibly be a UX decision.
image
Suggest more padding here.

@jtravee
Copy link

jtravee commented Mar 16, 2022

Confirmed with @catherineluse and @gaktive to add release note label.

@zube zube bot removed the [zube]: Done label Jun 1, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants