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

Pagination changes given new vai cache backed steve api #11110

Merged
merged 83 commits into from
Jun 11, 2024

Conversation

richard-cox
Copy link
Member

@richard-cox richard-cox commented May 23, 2024

Blocked on #10795

Summary

Contributes to #9545 & #9964

Occurred changes and/or fixed issues

  • Previous PRs worked with the existing api
  • Changes in this PR are to support using the new vai backed api
    • fixed making requests where the page/pageSize are no needed
      • basically wherever we want to make use of the new filter mechanism
    • support both native array filtering (metadata.field.1) and new (metadata.field[1])
    • add validation for path used for sort (as per path used for filter)
  • There are a number of sortable/filterable params that are waiting on a new backend build,
    • params that aren't yet supported but will in 2.9.0 have been added to the allow list in steve-pagination-utils
    • disabled sorting by State column, to enable in 2.9.0
    • disabled the workload type Health column. these rely on fetching all pods and then applying a label selector locally. Will be addressed via Application of selectors locally scales badly #10417
  • Ensure we use strict / exact filter params when we don't need partial matches
    • filtering via the list search text - partial matches ok
    • everywhere else - must be exact match
  • Removed temp code which allowed enabling steve pagination without new feature flag

Technical notes summary

Areas or cases that should be tested

This assumes UI pointing to an instance containing the new steve cache changes.

With both new steve cache feature flag and pagination performance setting enabled, and with both off

Specifically with steve cache feature flag and pagination performance setting enabled

  • Workload based pages like deployments and jobs DON'T display the Health column
  • Any list that uses the new pagination process
    • filtering by text works in a partial way (entering a returns all rows with name containing a, rather than just rows with a name of a)

Specifically with steve cache feature flag and pagination performance setting disabled

  • Workload based pages like deployments and jobs DO display the Health column

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

- New visuals
- Pagination controls --> load more
- finished testing of label select with pagination off

# Conflicts:
#	shell/edit/provisioning.cattle.io.cluster/__tests__/Basics.tests.ts
- Setup pagination headers for the node type
- Define a pattern for fetching custom list secondary resources
- Major improvements to the way pagination settings are defined and created
- Lots of docs improvements
- Handle calling fetch again once fetch is in progress (nuxt caches running request)
- Validate filter fields (not all are supported by the vai cache
- General pagination fixes
- fix syntax
- catch scenario where a pr has no fixed issue

> There's duplication between files, see rancher#10534
- Everything is gated on `on-disk-steve-cache` feature flag
  - There's a backend in progress item to resolve a `revision` issue, until then disable watching a resource given it
- Global Settings - Performance
  - Added new setting to enable server side pagination
  - this is incompatible with two other performance settings
… form

Also
- improved labeled select pagination
- gate label select pagination functinality on steve cache being enabled
- project monitoring (and bug fixes)
- temp step until we get new overview
- only used in monitoring.coreos.com.alertmanagerconfig context
- Allow `None` option in Paginationed LabelSelect
- Optionally classify pagination response
@richard-cox richard-cox removed the ci/skip-e2e Forcibly skip E2E tests in the CI label Jun 4, 2024
@richard-cox richard-cox marked this pull request as ready for review June 5, 2024 14:16
@richard-cox
Copy link
Member Author

@codyrancher , @nwmac next PR ready to go. Smaller than the previous ones. One PR after this left, which is smaller again (and specifically to do with loading indicators)

- name was changed from on-disk-steve-cache to ui-sql-cache
- fix timing issue - don't watch resources until we know the vai cache feature flag
nwmac
nwmac previously approved these changes Jun 11, 2024
Copy link
Member

@nwmac nwmac left a comment

Choose a reason for hiding this comment

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

Reviewed with RC

- new exception in docs page
- don't nav to page via button click and then goto same page
- force user to go to tab which is source of route guard issue
- move setup stuff to a test for cypress to re-retry
@richard-cox richard-cox merged commit aaf2d69 into rancher:master Jun 11, 2024
26 checks passed
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.

None yet

2 participants