Project

General

Profile

Actions

action #119428

open

coordination #80142: [saga][epic] Scale out: Redundant/load-balancing deployments of openQA, easy containers, containers on kubernetes

coordination #92854: [epic] limit overload of openQA webUI by heavy requests

action #97190: Limit size of initial requests everywhere, e.g. /, /tests, etc., over webUI and API

Ensure users can get all the data for limited queries, e.g. with pagination

Added by okurz about 2 years ago. Updated over 1 year ago.

Status:
New
Priority:
Low
Assignee:
-
Category:
Feature requests
Target version:
QA (public, currently private due to #173521) - future
Start date:
2022-11-22
Due date:
% Done:

56%

Estimated time:
(Total: 0.00 h)

Description

Acceptance criteria

  • AC1: For every query or API route there is a way for users to get all the data, e.g. with pagination
  • AC2: By default we still show a sensible number

Suggestions


Subtasks 9 (4 open5 closed)

action #120841: Add pagination for GET /api/v1/assets size:MResolvedkraih2022-11-22

Actions
action #121048: Add pagination for GET /api/v1/bugsResolvedkraih2022-11-22

Actions
action #121099: Add pagination for GET /api/v1/jobs/<job_id:num>/commentsNew

Actions
action #121102: Add pagination for GET /api/v1/jobs size:MResolvedkraih

Actions
action #121105: Add pagination for GET /api/v1/test_suites, GET /api/v1/test_suites/:id, GET /api/v1/machines, GET api/v1/machines/:id, GET /api/v1/products, GET /api/v1/products:id size:MResolvedkraih

Actions
action #121108: Add pagination for GET /api/v1/workersResolvedkraih

Actions
action #121111: Add pagination for GET /api/v1/job_templatesNew

Actions
action #121114: Add pagination for GET /api/v1/job_settings/jobsNew

Actions
action #121117: Add pagination for GET /experimental/searchNew

Actions

Related issues 2 (1 open1 closed)

Related to openQA Project (public) - action #119431: Inform users e.g. in the webUI if not all results are returned size:MWorkable2022-10-26

Actions
Copied from openQA Project (public) - action #114421: Add a limit where it makes sense after we have it for /tests, query configurable size:MResolvedrobert.richardson

Actions
Actions #1

Updated by okurz about 2 years ago

  • Copied from action #114421: Add a limit where it makes sense after we have it for /tests, query configurable size:M added
Actions #2

Updated by okurz about 2 years ago

  • Priority changed from Low to High
  • Target version changed from future to Ready

This is actually getting more important due to the "regressions" that users can not get all results anymore, e.g. see https://suse.slack.com/archives/C02CANHLANP/p1668584467225009

Actions #3

Updated by okurz about 2 years ago

  • Priority changed from High to Low
  • Target version changed from Ready to future

scratch my last, handling in #120315

Actions #4

Updated by kraih about 2 years ago

  • Assignee set to kraih

After #120841 is done and we have an example for how to implement the feature properly, i went through all the limit settings to make a list of other endpoints that need pagination:

generic_default_limit, generic_max_limit:
* GET /api/v1/bugs
* GET /api/v1/jobs/<job_id:num>/comments (messy code)
* GET /api/v1/jobs
* GET /api/v1/test_suites, GET /api/v1/test_suites/:id, GET /api/v1/machines, GET api/v1/machines/:id, GET /api/v1/products, GET /api/v1/products:id (shared code)
* GET /api/v1/workers
* GET /tests/list_scheduled_ajax

tests_overview_max_jobs:
* GET /tests/overview

all_tests_default_finished_jobs, all_tests_max_finished_jobs:
* /tests/list_ajax

list_templates_default_limit, list_templates_max_limit:
* GET /api/v1/job_templates

next_jobs_default_limit, next_jobs_max_limit, previous_jobs_default_limit, previous_jobs_max_limit:
* GET /tests/<testid:num>/ajax

job_settings_max_recent_jobs:
* GET /api/v1/job_settings/jobs (moving search window, tricky)

assets_default_limit, assets_max_limit:
* GET /api/v1/assets (already done)

search_results_limit (setting is in a different group):
* GET /experimental/search
Actions #5

Updated by kraih about 2 years ago

I'll add all the necessary tickets for subtasks.

Actions #6

Updated by kraih about 2 years ago

  • Status changed from New to In Progress
Actions #7

Updated by kraih about 2 years ago

I've created linked subtasks for all API endpoints now. On Oliver's request i've put them into future.

Actions #8

Updated by kraih about 2 years ago

  • Status changed from In Progress to Blocked

This ticket is now blocked on all the subtasks.

Actions #9

Updated by kraih almost 2 years ago

  • Related to action #119431: Inform users e.g. in the webUI if not all results are returned size:M added
Actions #10

Updated by okurz over 1 year ago

  • Target version changed from future to Ready
Actions #11

Updated by okurz over 1 year ago

  • Status changed from Blocked to New
  • Assignee deleted (kraih)
  • Target version changed from Ready to future

Currently no subtasks are in the backlog, removing

Actions

Also available in: Atom PDF