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

Incremental loading and manual refresh features #6543

Conversation

aalves08
Copy link
Member

@aalves08 aalves08 commented Jul 28, 2022

Fixes: #6540 #6498

  • Adds the incremental loading feature to non-custom list views + workload custom list (and related resources)
  • Adds the manual refresh feature to non-custom list views + workload custom list (and related resources)
  • Adds a new 'Performance' section to Global Settings that allows both features to be enabled and configured

Works on: DEPLOYMENT, CRON_JOB, DAEMON_SET, JOB, STATEFUL_SET, REPLICA_SET, REPLICATION_CONTROLLER, WORKLOAD, PODS, SECRETS

Screenshot 2022-07-28 at 19 08 54

Screenshot 2022-07-28 at 19 09 07

Areas or cases that should be tested

  • List views of the following resources: DEPLOYMENT, CRON_JOB, DAEMON_SET, JOB, STATEFUL_SET, REPLICA_SET, REPLICATION_CONTROLLER, WORKLOAD, PODS, SECRETS, where these features are applied to.
  • Test all the possible combinations: no manual refresh nor incremental loading + only incremental loading + only manual refresh + both manual refresh and incremental loading
  • Be sure to enable the settings on the Performance tab under Global Settings and set an appropriate threshold so that the feature works in the list view you are testing

Areas which could experience regressions

  • Make sure data is loaded from the server and correctly updated on the given list views
  • Quickly test other resources to make sure changes introduced did not break the data loading of the other list views
  • Check if users with a more restricted access (permissions) to view (or not) these resource are affected

Copy link
Member

@richard-cox richard-cox left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • From a page where we've sub'd to PODS (edit service page) to PODS list, the type isn't unwatched
    • I don't think this is important, as the one who's initially subscribed may want to continue watching. Can probably leave this one
  • From PODS list where we've not sub'd to Edit Service page where we should be, type is not now watched
    • This is more important, as the one that wants to be subscribed never is
  • We should limit this feature to the EXPLORER product until we're happier with it (and can ensure it's only enabled for those that use the kube api)
  • If the initial partial resource load is executing the manual refresh button should be disabled

UPDATE

  • On manual refresh the live columns fail to load (workload restarts & health). Neil's looking into the same bug in other scenarios

shell/assets/translations/en-us.yaml Outdated Show resolved Hide resolved
shell/assets/translations/en-us.yaml Outdated Show resolved Hide resolved
shell/assets/translations/en-us.yaml Outdated Show resolved Hide resolved
shell/assets/translations/en-us.yaml Show resolved Hide resolved
shell/pages/c/_cluster/settings/performance.vue Outdated Show resolved Hide resolved
shell/mixins/resource-fetch.js Show resolved Hide resolved
shell/plugins/dashboard-store/actions.js Show resolved Hide resolved
shell/plugins/dashboard-store/actions.js Show resolved Hide resolved
shell/plugins/dashboard-store/actions.js Show resolved Hide resolved
shell/plugins/dashboard-store/actions.js Show resolved Hide resolved
@aalves08 aalves08 requested a review from richard-cox August 1, 2022 17:15
@aalves08 aalves08 force-pushed the merging-manual-refresh-with-incremental-loading branch from 466a2ef to c852a5a Compare August 2, 2022 08:30
Copy link
Member

@richard-cox richard-cox left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I still see

  • On manual refresh the live columns fail to load (workload restarts & health)

Additionally

  • PR description needs updating
    • list of affected resource
    • notes for QA, areas of possible regressions (would be good for them to test permissions)
  • On the honker of a cluster, i don't see all resources loading (deployments - pagination shows 2893, side bar shows 3725. pods 2727 vs 2147). This might be the NS filter bug, need to confirm that shows when running the code from master

Copy link
Member

@richard-cox richard-cox left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If the last changes pass CI then this is good to squash merge.

I've caught the failure to catch failure issue in #6574

Alexandre Alves and others added 10 commits August 3, 2022 11:22
…s in pods list view with a large set of results
…-hoged clusters wont throw multiple console logs due to percentages going over 100
- l10n
- async button state
- this resulted in a missing page in the results
- in theory both `dispatch('loadDataPage'` should be `await` to catch errors
- however when both are set the list won't show rows until all requests have completed...
@aalves08 aalves08 force-pushed the merging-manual-refresh-with-incremental-loading branch from b0c0cae to cb8ed91 Compare August 3, 2022 10:22
@aalves08 aalves08 merged commit 94d8bec into rancher:master Aug 3, 2022
ly5156 pushed a commit to cnrancher/dashboard that referenced this pull request Aug 9, 2022
- Add manual refresh experimental feature to specific list views
- Add incremental loading experimental feature to specific list views

Co-authored-by: Alexandre Alves <aalves@Alexandres-MBP.lan>
Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro.local>
Co-authored-by: Richard Cox <richard.cox@suse.com>
aalves08 added a commit that referenced this pull request Aug 9, 2022
* Passes rules to certificate host field, extends arraylist to use rules

* HARVESTER: fix image clone miss label

* HARVESTER: validate image displayName

* HARVESTER: prevent submit

* GH Action: Bug fix to PR workflow (#6508)

* Fixed issue where willSave() was not detecting if targetPort was number

* HARVESTER: delete displayName RFC1123 validations

* Update Cypress to version 10 (#6146)

* Run Cypress migration scripts; Update failing parts

* Move env var assignments to Cypress configuration; Correct env patterns

* Correct imports within the Cypress tests

* Correct TS linting configuration errors after update

* Return directly spec path in cypress configuration

* Fix workspace filtering
- This was broken by #6261
- The `activeNamespaceCache` depends on the product (fleet requires workspaces, everything else namespaces)
- This needs updating when going to or from fleet

NOTE - On `head` (but not `ui-dashboard-index` `latest`) refreshing on the explorer pods page does not show the correct namespace filtered pods

Small tidyup for `activeNamespaceCache` and `activeNamespaceFilters` getters

* save harvester kubeconfig as secret

* add ownerref to harvester kubeconfig secret

* do not set ownerref on kube secret; add annotation

* Remove unneeded API call to get projects from local cluster

* Selected webhook type is persisted in UI

* Adds form-validation back in after deployments redesign

* add additional harvester kube secret annotation

* Change global token setting name

* kubeconfig-default-ttl-minutes setting takes numeric input only

* Minor improvement to cluster dashboard page for alerts tab (#6536)

* HARVESTER: Fix namespace filter wrong on Harvester page (#6523)

* Take NS filter into account when updating SortableTable's `arrangedRows` inside ResourceTables

* Use web worker to throttle counts and schema changes (#6421)

* Use web worker to throttle counts and schema changes

* Delete nodes.md

* Address PR feedback

* Small tidy up

* Fix dependencies for plugins

* Address PR feedback

* Fix lint issue

* Improve presentation of add Member dialog (#6500)

* Improve presentation of add Member dialog

* Updated for PR feedback

* Revert "Use web worker to throttle counts and schema changes (#6421)"

This reverts commit 4687fbc.

* Script to create standalone build for testing

* Remove debug

* Add missing socket

* Harvester: fix override when saving multiple VMs

* Harvester: Fix reserved memory edit issue

* HARVESTER: fix template OSType not automatically filled

* Revert "Merge pull request #6553 from mantis-toboggan-md/revert-6421"

This reverts commit c86abfa, reversing
changes made to 57f9a37.

* Tweaks and fixes
- Remove unused mimeTypes (and eslint file)
- add some build output dirs to gitignore
- fix serve of html files (content was in ui/dist instead of ui)

* Fix web worker
Inline worker bits to avoid CORS issues in chrome when dashboard is `-head`

* Fix live and delayed columns not updating

* Create unit test and linting jobs with GitHub Actions (#6562)

* Add GitHub Actions on push to run lint and unit test

* Store unit test coverage as artifact

* Correct unit tests coverage path collection

* Add i18n linting on CI

* Correct rancher-component path

* Remove pull request trigger from Drone

* Fix linting from master

Co-authored-by: Richard Cox <richard.cox@suse.com>

* Fix activeNamespaceCache given change in master

* Handle changes in sort field or order
- also created convenience method watcherUpdateLiveAndDelayed

* do not assume ec2 vpc obj have Tags

* fix azure warning banner link

* Harvester: typology field is inputable if get nodes failed

* When adding alerting rule, provide a default namespace label

* Namespace filters apply on first page load

* Harvester: move harvester specific code out of PodAffinity

* Refactor namespace caching and filtering

* fix issue when on first login we were setting an empty value to state.workspace because user doesnt have an prefs set (#6586)

Co-authored-by: Alexandre Alves <aalves@Alexandres-MBP.lan>

* Incremental loading and manual refresh features (#6543)

- Add manual refresh experimental feature to specific list views
- Add incremental loading experimental feature to specific list views

Co-authored-by: Alexandre Alves <aalves@Alexandres-MBP.lan>
Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro.local>
Co-authored-by: Richard Cox <richard.cox@suse.com>

* Temporarily disable FOSSA

* Group up GHA config under test; Remove push cases (#6587)

* Fix disabled drone build

* Fix build

* Fix flicking between fleet workspaces with equal resources
- fleet workspace switch toggles straight between 2 selections
- this results in the case that the row count doesn't change
- the `activeNamespaceCacheKey` cache is used to cover this case
- this was broken given in original pr and after my suggested edit

* fix-issue-multiple-resource-counts-on-resource-fetch-mixin (#6589)

Co-authored-by: Alexandre Alves <aalves@Alexandres-MBP.lan>

* default podaffinity  namespaces prop to null instead of empty array

* Tweaks to the performance settings & loading indicator
- Following UX review this is the first set of changes
- The text on the settings page has been improved
- The background of the incremental loader has been removed
- Fixed a typo (`UI_PERFORNMANCE`)

* For certain roles hide concept of namespace outside of groups
Users who have no overaching view of the cluster (non-rancher admins, non-cluster owners)
- shouldn't see namespaces outside of their projects
- shouldn't be able to create namespaces outside of their projects (specifically not in a project)

* E2E: Create dashboard access for reviewing tests results (#6576)

* Add sorry-cypress library, commands and configuration

* Replace e2e test run ID to be used for the dashboard with title, id and number run

* Add missing instruction for the dashboard

* Set default browser to Chrome

* Updated env template

* Improve initial load of Home and Cluster Dashboard pages

Home Page
- Don't block whole page on loading of mgmt and prov clusters
- Use table `loading` indicator when clusters are loading
- Use correct cluster count (with harv cluster filter) - To confirm

Cluster Dashboard
- EventsTable - use standard table loading indicator
- Don't block on fetch at all (or show page loading indicator)
  - Remove fetch for nodeTemplates and rke1NodePools. I went through a lot of code and don't think these are needed
  - Reminaing calls for Node and Metrics can happen at the same time
- Forget additional resource types when leaving page
- Optimise fetch of management nodes

Pre-Page optimisations
- Authentication Mixin
  - if applicable, fetch `principal` 'me' same time as `user` 'me'

Other tweaks
- Don't show AwsComplianceBanner or AzureWarning until management store ready

* Revert changes to authentication
- previously combined request for user and principal together, instead of making them sequentially
- this should have been safe (both calls will fail or succeed given auth state)...
- ... might not be given ways requests are handled (i chickened out)

* Address PR feedback
- Split calls to `setPromiseResult` into multiple lines
- Ensure label is correctly used (drop duplicate text)
- Improve beforeDestroy comment
- Add JSDoc to setPromiseResult

* Use getters instead of `setPromiseResult` for known resource types

* do not attempt to filter-by-namespace for unnamespaced harvester resources

* Reset user preferences on E2E start or requests (#6535)

* Add user preference command for Cypress stubs

* Include global types to Cypres TS configuration

* Prevent distributed interface issues on lint

* Fix namespace detail page when a namespace filter is applied
- Caused by `filteredRows` running causing `getActiveNamespaces` to run.. which in tern triggers other table's `filteredRows`, etc
- Fix is to only update `activeNamespaceCache` if there were actual changes
- Tested
  - ns detail page
  - project/namespaces list
  - fleet resources
  - fleet resources where there are only 1 entry in two workspaces

* Create `diagnostic` page (#6603)

* Adds diagnostic page, accessible via the about page

Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro.local>
Co-authored-by: Alexandre Alves <aalves@Alexandres-MBP.lan>
Co-authored-by: Richard Cox <richard.cox@suse.com>

* Fix resource counts in side nav
- This looks like it was a regression from https://github.com/rancher/dashboard/pull/6570/files#diff-87b5f0108669b304fbe8fa4b9684ffb07e42c4c41320580a8768e6ab4edf23ddL72
- It worked at the time on my rancher (b8afb4e - 20th July). Bug appears on later versions. Not sure why
- `activeNamespaceCache` should be pretty safe now we only update it given genuine changes

* initial content for 2.6.7 (#6449)

* initial content for 2.6.7

Signed-off-by: Gary A Korhonen <gkorhonen@suse.com>

Fixes #6430
Includes 2.6.6 blurb though there was only one bug addressed

* revised AWS blurb

* fixed typo in AWS bit

* Update shell/content/docs/en-us/whats-new.md

Signed-off-by: Gary A Korhonen <gkorhonen@suse.com>

Co-authored-by: Sergey Nasovich <85187633+snasovich@users.noreply.github.com>

* Update shell/content/docs/en-us/whats-new.md

Signed-off-by: Gary A Korhonen <gkorhonen@suse.com>

Co-authored-by: Sergey Nasovich <85187633+snasovich@users.noreply.github.com>

* Update shell/content/docs/en-us/whats-new.md

Signed-off-by: Gary A Korhonen <gkorhonen@suse.com>

Co-authored-by: Sergey Nasovich <85187633+snasovich@users.noreply.github.com>

* added MSAL copy & fixed some wording

* updated 2.6.6 section

* updated amazon billing

Co-authored-by: Sergey Nasovich <85187633+snasovich@users.noreply.github.com>

* force user to delete all ns in project if they cant see ns outside of projects

rm unused class

* Pull request template has question about browser

* reworded 1.24 blurb for 2.6.7 (#6621)

Signed-off-by: Gary A Korhonen <gkorhonen@suse.com>

* starting to setup os-elemental package

* setting up routing for os elemental plugin

* rename pkg to elemental + fix basic routing + add simple translations

* register product definition for elemental if group rancheros.cattle.io is present

* exclude elemental pkg by default

* revert not wanted change on epinio pkg

* adding a simple store to elemental and making sure it works

* add default view to list resources in elemental

* add default routes and view for creating and viewing details of a resource

* start creating managed os create view

* add custom edit view for os images

* rename elemental pkg config file + change resourceyaml component in order to be reused as a partial yaml editor + add custom edit views for machineregistration and managedosimage resources

* use multiple labeledselect component option for clusterTargets prop

* finish edit views for machineregistration and managedosimage

* clean up routing and unused views + add extra details to machineRegistration view to be available only on VIEW mode

* fix download machine registration + hide unused resources from menu + remove conceal from reg url

* add namespace selector to ui + add edit as yaml function + download zip file with instructions and machine reg

* change default cloudConfig for machine reg resource

* working on UI for elemental cluster creation

* working on cluster creation + working version of dashboard view for elemental

* working on create cluster action for machineInventory list view

* minor tweak to dashboard page + minor change on default cloudConfig for machine registration

* renaming routes and crd checks for elemental + add proxy for elemental mach reg url

* defaulting to namespace fleet-default elemental resources + adding machine-inv-selector-template to elemental prod config + working on elemental cluster creation interface

* finish logic for dashboard view on elemental

* properly defaulting namespace on creation of machine inv + now able to filter for elemental clusters + update to dashboard page + tweaks to current prov cluster interface in order to create/edit elemental clusters (wip)

* change cluster provide name for elemental + add string to translation files for MachinePool + working on elemental cluster creation (wip - make sure save action on edit has changes on the machineinventoryselectortemplate)

* adding debug logs

* add missing string to translation file

* fix merge order and objects involved for rke2 configs + code cleanup + add matches banner to elemental machineinventoryselectortemplate

* machineinvselectortemplate UI now has a select input for unique keys

* read instructions from MD file rather than a variable

* setting default elemental namespace as type variable + create ImportMultiple component + group secondary resources of elemental in an Advanced menu entry

* add import extraAction to machineInv resource list + add prop for default namespace on Import component + extend ResourceList component to allow passing extraAction slot to Masthead

* add check for action import for machine inv list + display custom message for when we get a 404 for a machine pool config

* multiple changes related to PR review

* move consts related to elemental used in shell to its own file in shell so that they can be used in the code without the Elemental package

* working on advanced table filtering for elemental

* finished logic regarding advanced filtering

* working on table cols visibility toggling

* fine tune filtering logic + create main logic to toggle table cols

* add grouping option to table option adv menu + updating styles for aplied filters

* add logic for headers without sorting + add missing translations to strings + code cleanup + style updates + fix adv filtering for workload table list + other optimisations

* add cluster col to machine inventories list

* cleanup unwanted code for possible recovery of cluster when machine pool config is not found

* working on creating an elemental cluster from preselected machine inventories

* finish logic for creating elemental cluster from selection on the mach inv list + fix filtering issues in sortableTable + fix bug in elemental cluster creation config component + check if elemental is installed when displaying the elemental cluster option for creating a cluster + other fixes

* connecting the advanced filtering to components via props + fix small issues

* hide manage os image from dashboard view + move manage is image menu entry to advanced tab + supercript i icon for when table cols are not filterable by (adv filtering) + enable group by cluster option on machineinventory list view

* add icon for elemental + rename elemental to os management

* remove elemental fmor excluded packages

Co-authored-by: Sean <sean.mchugh@suse.com>
Co-authored-by: wujun <897415845@qq.com>
Co-authored-by: Sean-McQ <37550899+Sean-McQ@users.noreply.github.com>
Co-authored-by: Neil MacDougall <nwmac@users.noreply.github.com>
Co-authored-by: Giuseppe Leo <giuseppe.leo@suse.com>
Co-authored-by: Richard Cox <richard.cox@suse.com>
Co-authored-by: Nancy Butler <42977925+mantis-toboggan-md@users.noreply.github.com>
Co-authored-by: Catherine Luse <catherine.luse@gmail.com>
Co-authored-by: Qingyang Nong <n313893254@126.com>
Co-authored-by: Richard Cox <richard-cox@users.noreply.github.com>
Co-authored-by: Neil MacDougall <nmacdougall@suse.com>
Co-authored-by: yuzeng <cridequeger@yahoo.com>
Co-authored-by: Alexandre Alves <aalves@Alexandres-MBP.lan>
Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro.local>
Co-authored-by: Richard Cox <ricox@suse.com>
Co-authored-by: Gary A Korhonen <gkorhonen@suse.com>
Co-authored-by: Sergey Nasovich <85187633+snasovich@users.noreply.github.com>
bisht-richa pushed a commit to bisht-richa/dashboard that referenced this pull request Aug 12, 2022
- Add manual refresh experimental feature to specific list views
- Add incremental loading experimental feature to specific list views

Co-authored-by: Alexandre Alves <aalves@Alexandres-MBP.lan>
Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro.local>
Co-authored-by: Richard Cox <richard.cox@suse.com>
bisht-richa added a commit that referenced this pull request Aug 22, 2022
* Modifed sidebar, docusaurus.config and custom css

* Added sub directories

* Changes section name and fixed link error

* Fixed Getting Started and Components & Design kit svg size

* Added baseUrl dashboard

* Update Cypress to version 10 (#6146)

* Run Cypress migration scripts; Update failing parts

* Move env var assignments to Cypress configuration; Correct env patterns

* Correct imports within the Cypress tests

* Correct TS linting configuration errors after update

* Return directly spec path in cypress configuration

* Change global token setting name

* Minor improvement to cluster dashboard page for alerts tab (#6536)

* HARVESTER: Fix namespace filter wrong on Harvester page (#6523)

* Fix workspace filtering
- This was broken by #6261
- The `activeNamespaceCache` depends on the product (fleet requires workspaces, everything else namespaces)
- This needs updating when going to or from fleet

NOTE - On `head` (but not `ui-dashboard-index` `latest`) refreshing on the explorer pods page does not show the correct namespace filtered pods

Small tidyup for `activeNamespaceCache` and `activeNamespaceFilters` getters

* Take NS filter into account when updating SortableTable's `arrangedRows` inside ResourceTables

* Use web worker to throttle counts and schema changes (#6421)

* Use web worker to throttle counts and schema changes

* Delete nodes.md

* Address PR feedback

* Small tidy up

* Fix dependencies for plugins

* Address PR feedback

* Fix lint issue

* Improve presentation of add Member dialog (#6500)

* Improve presentation of add Member dialog

* Updated for PR feedback

* kubeconfig-default-ttl-minutes setting takes numeric input only

* Selected webhook type is persisted in UI

* HARVESTER: fix image clone miss label

* HARVESTER: validate image displayName

* HARVESTER: prevent submit

* HARVESTER: delete displayName RFC1123 validations

* Adds form-validation back in after deployments redesign

* Revert "Use web worker to throttle counts and schema changes (#6421)"

This reverts commit 4687fbc.

* Script to create standalone build for testing

* Remove debug

* Add missing socket

* Tweaks and fixes
- Remove unused mimeTypes (and eslint file)
- add some build output dirs to gitignore
- fix serve of html files (content was in ui/dist instead of ui)

* Create unit test and linting jobs with GitHub Actions (#6562)

* Add GitHub Actions on push to run lint and unit test

* Store unit test coverage as artifact

* Correct unit tests coverage path collection

* Add i18n linting on CI

* Correct rancher-component path

* Remove pull request trigger from Drone

* Fix linting from master

Co-authored-by: Richard Cox <richard.cox@suse.com>

* Fix live and delayed columns not updating

* Fix activeNamespaceCache given change in master

* Handle changes in sort field or order
- also created convenience method watcherUpdateLiveAndDelayed

* fix azure warning banner link

* do not assume ec2 vpc obj have Tags

* When adding alerting rule, provide a default namespace label

* Revert "Merge pull request #6553 from mantis-toboggan-md/revert-6421"

This reverts commit c86abfa, reversing
changes made to 57f9a37.

* Fix web worker
Inline worker bits to avoid CORS issues in chrome when dashboard is `-head`

* fix issue when on first login we were setting an empty value to state.workspace because user doesnt have an prefs set (#6586)

Co-authored-by: Alexandre Alves <aalves@Alexandres-MBP.lan>

* Incremental loading and manual refresh features (#6543)

- Add manual refresh experimental feature to specific list views
- Add incremental loading experimental feature to specific list views

Co-authored-by: Alexandre Alves <aalves@Alexandres-MBP.lan>
Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro.local>
Co-authored-by: Richard Cox <richard.cox@suse.com>

* Group up GHA config under test; Remove push cases (#6587)

* Temporarily disable FOSSA

* Fix disabled drone build

* Namespace filters apply on first page load

* Refactor namespace caching and filtering

* Fix build

* Fix flicking between fleet workspaces with equal resources
- fleet workspace switch toggles straight between 2 selections
- this results in the case that the row count doesn't change
- the `activeNamespaceCacheKey` cache is used to cover this case
- this was broken given in original pr and after my suggested edit

* fix-issue-multiple-resource-counts-on-resource-fetch-mixin (#6589)

Co-authored-by: Alexandre Alves <aalves@Alexandres-MBP.lan>

* Remove unneeded API call to get projects from local cluster

* Harvester: fix override when saving multiple VMs

* Harvester: Fix reserved memory edit issue

* HARVESTER: fix template OSType not automatically filled

* Harvester: typology field is inputable if get nodes failed

* Harvester: move harvester specific code out of PodAffinity

* default podaffinity  namespaces prop to null instead of empty array

* Added ranche fav icon, removed not used images

* Tweaks to the performance settings & loading indicator
- Following UX review this is the first set of changes
- The text on the settings page has been improved
- The background of the incremental loader has been removed
- Fixed a typo (`UI_PERFORNMANCE`)

* E2E: Create dashboard access for reviewing tests results (#6576)

* Add sorry-cypress library, commands and configuration

* Replace e2e test run ID to be used for the dashboard with title, id and number run

* Add missing instruction for the dashboard

* Set default browser to Chrome

* Updated env template

* do not attempt to filter-by-namespace for unnamespaced harvester resources

* Reset user preferences on E2E start or requests (#6535)

* Add user preference command for Cypress stubs

* Include global types to Cypres TS configuration

* Prevent distributed interface issues on lint

* Improve initial load of Home and Cluster Dashboard pages

Home Page
- Don't block whole page on loading of mgmt and prov clusters
- Use table `loading` indicator when clusters are loading
- Use correct cluster count (with harv cluster filter) - To confirm

Cluster Dashboard
- EventsTable - use standard table loading indicator
- Don't block on fetch at all (or show page loading indicator)
  - Remove fetch for nodeTemplates and rke1NodePools. I went through a lot of code and don't think these are needed
  - Reminaing calls for Node and Metrics can happen at the same time
- Forget additional resource types when leaving page
- Optimise fetch of management nodes

Pre-Page optimisations
- Authentication Mixin
  - if applicable, fetch `principal` 'me' same time as `user` 'me'

Other tweaks
- Don't show AwsComplianceBanner or AzureWarning until management store ready

* Revert changes to authentication
- previously combined request for user and principal together, instead of making them sequentially
- this should have been safe (both calls will fail or succeed given auth state)...
- ... might not be given ways requests are handled (i chickened out)

* Address PR feedback
- Split calls to `setPromiseResult` into multiple lines
- Ensure label is correctly used (drop duplicate text)
- Improve beforeDestroy comment
- Add JSDoc to setPromiseResult

* Use getters instead of `setPromiseResult` for known resource types

* Create `diagnostic` page (#6603)

* Adds diagnostic page, accessible via the about page

Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro.local>
Co-authored-by: Alexandre Alves <aalves@Alexandres-MBP.lan>
Co-authored-by: Richard Cox <richard.cox@suse.com>

* For certain roles hide concept of namespace outside of groups
Users who have no overaching view of the cluster (non-rancher admins, non-cluster owners)
- shouldn't see namespaces outside of their projects
- shouldn't be able to create namespaces outside of their projects (specifically not in a project)

* Fix namespace detail page when a namespace filter is applied
- Caused by `filteredRows` running causing `getActiveNamespaces` to run.. which in tern triggers other table's `filteredRows`, etc
- Fix is to only update `activeNamespaceCache` if there were actual changes
- Tested
  - ns detail page
  - project/namespaces list
  - fleet resources
  - fleet resources where there are only 1 entry in two workspaces

* Fix resource counts in side nav
- This looks like it was a regression from https://github.com/rancher/dashboard/pull/6570/files#diff-87b5f0108669b304fbe8fa4b9684ffb07e42c4c41320580a8768e6ab4edf23ddL72
- It worked at the time on my rancher (b8afb4e - 20th July). Bug appears on later versions. Not sure why
- `activeNamespaceCache` should be pretty safe now we only update it given genuine changes

* save harvester kubeconfig as secret

* add ownerref to harvester kubeconfig secret

* do not set ownerref on kube secret; add annotation

* add additional harvester kube secret annotation

* initial content for 2.6.7 (#6449)

* initial content for 2.6.7

Signed-off-by: Gary A Korhonen <gkorhonen@suse.com>

Fixes #6430
Includes 2.6.6 blurb though there was only one bug addressed

* revised AWS blurb

* fixed typo in AWS bit

* Update shell/content/docs/en-us/whats-new.md

Signed-off-by: Gary A Korhonen <gkorhonen@suse.com>

Co-authored-by: Sergey Nasovich <85187633+snasovich@users.noreply.github.com>

* Update shell/content/docs/en-us/whats-new.md

Signed-off-by: Gary A Korhonen <gkorhonen@suse.com>

Co-authored-by: Sergey Nasovich <85187633+snasovich@users.noreply.github.com>

* Update shell/content/docs/en-us/whats-new.md

Signed-off-by: Gary A Korhonen <gkorhonen@suse.com>

Co-authored-by: Sergey Nasovich <85187633+snasovich@users.noreply.github.com>

* added MSAL copy & fixed some wording

* updated 2.6.6 section

* updated amazon billing

Co-authored-by: Sergey Nasovich <85187633+snasovich@users.noreply.github.com>

* force user to delete all ns in project if they cant see ns outside of projects

rm unused class

* Pull request template has question about browser

* reworded 1.24 blurb for 2.6.7 (#6621)

Signed-off-by: Gary A Korhonen <gkorhonen@suse.com>

* Harvester: remove Pod Scheduling on harvester cluster page

* Adding a windows deprecation banner to the registration command of rke1 clusters

#5995 (comment)

* Fix package script and visibility of incremental loading indicator

Script Changes
- fixed `require` errors
- ensure dashboard ignores output of scripts (useful for local dev)

Dashboard Changes
- only show the resource loading indicator if incremental loading is enabled

* Modifed sidebar, docusaurus.config and custom css

* Added sub directories

* Removed not used images

* Added docusaurus in tsconfig.

* Updated baseUrl

* Formatting update

* Ensure local cluster kube node's can determine their cluster id
- We determine the cluster id via the node's `self` link
- Normally this is something like `k8s/clusters/c-m-274kcrc4/v1/nodes/nodeid`
  However for the local cluster this is only v1/nodes/nodeid`
- This meant that for local cluster nodes it's norman and mgmt nodes were unavailable
- From what i can this only affected it's ability to
  - determine it's role (though this had a working fallback)
  - determine if some actions were shown (and also execute them)

* Fix plugins

* Re-enable FOSSA check

* Fixed lint error

Signed-off-by: Gary A Korhonen <gkorhonen@suse.com>
Co-authored-by: Giuseppe Leo <giuseppe.leo@suse.com>
Co-authored-by: Catherine Luse <catherine.luse@gmail.com>
Co-authored-by: Neil MacDougall <nwmac@users.noreply.github.com>
Co-authored-by: Qingyang Nong <n313893254@126.com>
Co-authored-by: Richard Cox <richard.cox@suse.com>
Co-authored-by: wujun <897415845@qq.com>
Co-authored-by: Sean <sean.mchugh@suse.com>
Co-authored-by: Nancy <42977925+mantis-toboggan-md@users.noreply.github.com>
Co-authored-by: Neil MacDougall <nmacdougall@suse.com>
Co-authored-by: Alexandre Alves <97888974+aalves08@users.noreply.github.com>
Co-authored-by: Alexandre Alves <aalves@Alexandres-MBP.lan>
Co-authored-by: Alexandre Alves <aalves@Alexandres-MacBook-Pro.local>
Co-authored-by: yuzeng <cridequeger@yahoo.com>
Co-authored-by: Richard Cox <ricox@suse.com>
Co-authored-by: Gary A Korhonen <gkorhonen@suse.com>
Co-authored-by: Sergey Nasovich <85187633+snasovich@users.noreply.github.com>
Co-authored-by: Cody Jackson <cody.jackson@suse.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Performance: Add support for incremental data loading
3 participants