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

Add server-side pagination to cluster explorer lists #11672

Draft
wants to merge 56 commits into
base: master
Choose a base branch
from

Conversation

richard-cox
Copy link
Member

@richard-cox richard-cox commented Aug 20, 2024

Blocked on

Working around rancher/rancher#40773

Summary

Fixes #

Occurred changes and/or fixed issues

  • Functional Changes
    • TODO
  • New Pagination Tools
    • TODO
  • Regressions
    • NOTE - This contains items that were not tracked from previous PRs (mainly secret, configmap, node)
    • TODO
    • workload health (sum of pod states) and pod restart count columns have been removed for all workload types
      • We should be able to bring these back when we get label selectors (and making a request per row to fetch specific pods given label selector)
    • job
    • pod restarts has been removed for all workloads
      • this is the sum of restarts for pods
    • persistentvolume
      • pv source is now not sortable/filterable (uses local smarts)
    • configmap
      • keys is now not sortable/filterable (uses local smarts)
    • secret
      • secret data is now not sortable/filterable (uses local smarts)
    • networking.k8s.io.ingress
      • default backend is now not sortable/filterable (uses local smarts)
    • pod
      • images is now not sortable (sorting on an array)
    • node
      • role - is now not sortable/filterable (uses local smarts)
      • internal ip - is now not sortable/filterable (uses local smarts)
      • cpu - is now not sortable/filterable (uses local calculation)
      • ram - is now not sortable/filterable (uses local calculation)
    • catalog.cattle.io.app
      • chart is now only sorted/filtered on name (and not version as well) TODO split into two columns?
      • chart upgrade is not now sortable/filterable (uses smarts locally to determine if one is available)
    • catalog.cattle.io.clusterrepo
      • type - is now not sortable/filterable (uses local smarts git vs oci vs http)
      • url - is now not sortable/filterable (uses local smarts)
  • Converted Lists
    • TODO
    • Cluster dashboard / events list
    • Cluster / Events
    • Workloads
      • All (minus previous pods)
    • Apps / Installed Apps
    • Apps / Repositories
    • Apps / Recent Operations
    • Service Discovery / HPA
    • Service Discovery / Ingresses
    • Service Discovery / Services
    • Storage / PersistentVolumes
    • Storage / StorageClasses
    • Storage / PersistentVolumeClaims
  • Fixes
    • Fix issue where list components containing PaginatedResourceTables would incorrectly fetch all resources anyway
    • Fix async button icon alignment when in manual refresh mode

Technical notes summary

Areas or cases that should be tested

Areas which could experience regressions

Screenshot/Video

Checklist

  • The PR is linked to an issue and the linked issue has a Milestone, or no issue is needed
  • The PR has a Milestone
  • The PR template has been filled out
  • The PR has been self reviewed
  • The PR has a reviewer assigned
  • The PR has automated tests or clear instructions for manual tests and the linked issue has appropriate QA labels, or tests are not needed
  • The PR has reviewed with UX and tested in light and dark mode, or there are no UX changes

@richard-cox richard-cox added this to the v2.10.0 milestone Aug 20, 2024
@richard-cox richard-cox self-assigned this Aug 20, 2024
@richard-cox richard-cox changed the title Add server-side pagination to cluster explorer events and general events list Add server-side pagination to cluster explorer lists Aug 23, 2024
@nwmac
Copy link
Member

nwmac commented Oct 25, 2024

@richard-cox Is this for 2.10?

- Functional Changes
  - SSP now works after vue3 bump
  - Home Page Clusters list now uses server-side pagination
  - Side Bar clusters list now uses server-side pagination
  - Wire in now supported sorting / filtering by id and name used for table columns
  - Allow pagination to be enabled given a specific context
  - Call findPage without persisting to store

- New Pagination Tools
  - PaginatedResourceTable - Convenience Component, wraps ResourceTable with pagination specific props
  - PaginationWrapper - Convenience class to handle requests for resources and updates to them (avoiding store)

- Regressions
  - Side Nav menu ready state was `mgmtCluster.isReady && !pCluster?.hasError`, now ???
@richard-cox richard-cox added the ci/skip-e2e Forcibly skip E2E tests in the CI label Nov 14, 2024
…would incorrectly fetch all resources anyway

- convert reminaing storage lists
@richard-cox richard-cox force-pushed the pagination-cluster-explorer branch from 840f93f to 006debb Compare November 15, 2024 16:38
- Functional Changes
  - SSP now works after vue3 bump
  - Home Page Clusters list now uses server-side pagination
  - Side Bar clusters list now uses server-side pagination
  - Wire in now supported sorting / filtering by id and name used for table columns
  - Allow pagination to be enabled given a specific context
  - Call findPage without persisting to store

- New Pagination Tools
  - PaginatedResourceTable - Convenience Component, wraps ResourceTable with pagination specific props
  - PaginationWrapper - Convenience class to handle requests for resources and updates to them (avoiding store)

- Regressions
  - Side Nav menu ready state was `mgmtCluster.isReady && !pCluster?.hasError`, now ???
@richard-cox richard-cox removed the ci/skip-e2e Forcibly skip E2E tests in the CI label Dec 16, 2024
@richard-cox richard-cox force-pushed the pagination-cluster-explorer branch from 8673a6e to f837f88 Compare December 16, 2024 16:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants