Project

General

Profile

Actions

Feature #21297

closed

use container_status API to display scheduling feedback on cloud

Added by Peter Amstutz about 1 year ago. Updated 4 months ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
Workbench2
Story points:
-
Release:
Release relationship:
Auto

Description

Requires making an additional API request, see https://doc.arvados.org/main/api/methods/container_requests.html#container_status

That returns the container status which includes a message about the status of the container scheduling.

The status message should then be displayed somewhere in the container request details.


Files

scheduling.png (21.2 KB) scheduling.png Lisa Knox, 08/20/2024 02:55 PM

Subtasks 1 (0 open1 closed)

Task #21673: Review 21297-container-statusResolvedPeter Amstutz09/09/2024Actions

Related issues 2 (0 open2 closed)

Related to Arvados - Bug #22132: Adjust scheduling status display based on feedbackResolvedPeter AmstutzActions
Blocked by Arvados - Feature #21123: Add API that returns current dispatch/scheduling status for a specified containerResolvedTom CleggActions
Actions #1

Updated by Peter Amstutz about 1 year ago

  • Blocked by Feature #21123: Add API that returns current dispatch/scheduling status for a specified container added
Actions #2

Updated by Peter Amstutz 11 months ago

  • Target version changed from Development 2024-02-28 sprint to Development 2024-03-13 sprint
Actions #3

Updated by Peter Amstutz 10 months ago

  • Target version changed from Development 2024-03-13 sprint to Development 2024-03-27 sprint
Actions #4

Updated by Peter Amstutz 10 months ago

  • Target version changed from Development 2024-03-27 sprint to Development 2024-04-10 sprint
Actions #5

Updated by Peter Amstutz 10 months ago

  • Release set to 70
Actions #6

Updated by Peter Amstutz 9 months ago

  • Target version changed from Development 2024-04-10 sprint to Development 2024-04-24 sprint
Actions #7

Updated by Peter Amstutz 9 months ago

  • Target version changed from Development 2024-04-24 sprint to Development 2024-05-08 sprint
Actions #8

Updated by Peter Amstutz 9 months ago

  • Target version changed from Development 2024-05-08 sprint to Development 2024-04-24 sprint
Actions #9

Updated by Peter Amstutz 9 months ago

  • Assigned To set to Stephen Smith
Actions #10

Updated by Peter Amstutz 9 months ago

  • Target version changed from Development 2024-04-24 sprint to Development 2024-05-08 sprint
Actions #11

Updated by Peter Amstutz 8 months ago

  • Target version changed from Development 2024-05-08 sprint to Development 2024-05-22 sprint
Actions #12

Updated by Peter Amstutz 8 months ago

  • Target version changed from Development 2024-05-22 sprint to Development 2024-06-05 sprint
Actions #13

Updated by Peter Amstutz 8 months ago

  • Target version changed from Development 2024-06-05 sprint to 439
Actions #14

Updated by Peter Amstutz 7 months ago

  • Target version changed from 439 to Development 2024-06-05 sprint
Actions #15

Updated by Peter Amstutz 7 months ago

  • Target version changed from Development 2024-06-05 sprint to Development 2024-06-19 sprint
Actions #16

Updated by Peter Amstutz 7 months ago

  • Target version changed from Development 2024-06-19 sprint to Development 2024-07-03 sprint
Actions #17

Updated by Peter Amstutz 6 months ago

  • Target version changed from Development 2024-07-03 sprint to Development 2024-07-24 sprint
Actions #18

Updated by Peter Amstutz 6 months ago

  • Assigned To deleted (Stephen Smith)
Actions #19

Updated by Peter Amstutz 6 months ago

  • Target version changed from Development 2024-07-24 sprint to Development 2024-08-07 sprint
Actions #20

Updated by Peter Amstutz 5 months ago

  • Target version changed from Development 2024-08-07 sprint to Development 2024-08-28 sprint
Actions #21

Updated by Peter Amstutz 5 months ago

  • Description updated (diff)
Actions #22

Updated by Peter Amstutz 5 months ago

  • Description updated (diff)
Actions #23

Updated by Tom Clegg 5 months ago

  • Description updated (diff)
Actions #24

Updated by Peter Amstutz 5 months ago

  • Assigned To set to Lisa Knox
Actions #25

Updated by Peter Amstutz 4 months ago

  • Assigned To changed from Lisa Knox to Peter Amstutz
Actions #26

Updated by Peter Amstutz 4 months ago

21297-container-status @ 945b25b098eaa08722698a0e33c10e2e68770a6c

developer-run-tests: #4401

  • All agreed upon points are implemented / addressed.
    • now displays scheduling information on the process page when available
  • Anything not implemented (discovered or discussed during work) has a follow-up story.
    • Currently doesn't do any polling to keep scheduling status up to date, need to decide if that should be part of this story or not.
  • Code is tested and passing, both automated and manual, what manual testing was done is described
    • passes existing tests. I did not add new tests. Tested manually by running jobs on tordo and checking that the new scheduling status text was displayed when the container was queued.
  • Documentation has been updated.
    • n/a
  • Behaves appropriately at the intended scale (describe intended scale).
    • Adds a query to the container_status API when loading a container
  • Considered backwards and forwards compatibility issues between client and server.
    • Expects that the container_status API (coming in 3.0) to be available. Sets showErrors to false so if used with an old API server, it will get an error, but the error will not be displayed to the user.
  • Follows our coding standards and GUI style guidelines.
    • yes

Ideally this should include polling the container status API to keep the display up to date. I'm not sure how best to go about doing that.

Actions #27

Updated by Peter Amstutz 4 months ago

  • Status changed from New to In Progress
Actions #28

Updated by Lisa Knox 4 months ago

The first thing I notice is that there is no status display when first displaying a process, and then a status appears when clicking "run." Ideally there would be a placeholder there, something to let the user know that this is where. I know this is done to be compatible with the <3.0 API, but it looks bad when using the new API.

Another issue is that the messaging is a bit confusing:

Granted, I'm not as fluent with this workflow as I could be, but at a glance this just looks confusing, especially the "Scheduling: not scheduling: " bit.

As far as testing, we will get the most value out of tests after polling is implemented. I would imagine that the same useAsyncInterval technique used in the subprocess progress bar ( https://dev.arvados.org/projects/arvados/repository/arvados/revisions/main/entry/services/workbench2/src/common/use-async-interval.ts ) would work for polling, with very little modification.

Actions #29

Updated by Peter Amstutz 4 months ago

Lisa Knox wrote in #note-28:

The first thing I notice is that there is no status display when first displaying a process, and then a status appears when clicking "run." Ideally there would be a placeholder there, something to let the user know that this is where. I know this is done to be compatible with the <3.0 API, but it looks bad when using the new API.

I added a placeholder for the "Draft" state (which is the state it is in when you use "copy and re-run process")

Granted, I'm not as fluent with this workflow as I could be, but at a glance this just looks confusing, especially the "Scheduling: not scheduling: " bit.

These messages come from arvados-dispatch-cloud, so it is out of scope for the Workbench feature, but I agree that the messages could use some work to better explain what is going on. I'll make a follow up ticket.

As far as testing, we will get the most value out of tests after polling is implemented. I would imagine that the same useAsyncInterval technique used in the subprocess progress bar ( https://dev.arvados.org/projects/arvados/repository/arvados/revisions/main/entry/services/workbench2/src/common/use-async-interval.ts ) would work for polling, with very little modification.

Thank you for pointing me in the right direction, useAsyncInterval was pretty easy to implement.

Still need to figure out testing. I'm kind of holding off on writing tests until the Material UI branch merges to minimize conflicts.

21297-container-status @ 3eed169f656321b0808a40fd8b095774432b6c6b

developer-run-tests: #4405

Actions #30

Updated by Peter Amstutz 4 months ago

  • Target version changed from Development 2024-08-28 sprint to Development 2024-09-11 sprint
Actions #31

Updated by Lisa Knox 4 months ago

Great, this all LGTM

Actions #33

Updated by Peter Amstutz 4 months ago

  • Status changed from In Progress to Resolved
Actions #34

Updated by Peter Amstutz 3 months ago

  • Related to Bug #22132: Adjust scheduling status display based on feedback added
Actions

Also available in: Atom PDF