epam / cloud-pipeline

Cloud agnostic genomics analysis, scientific computation and storage platform
https://cloud-pipeline.com
Apache License 2.0
144 stars 58 forks source link

GUI Notifications: user actions #3221

Open NShaforostov opened 1 year ago

NShaforostov commented 1 year ago

Background

Since #3015 is implemented, users have the handy form where all users' related notifications are displayed. Users can view them and manually perform neccessary actions in the Platform based on the information from that notifications - for examlple, to avoid extra spendings on forgotten run and stop it. As further steps - it would be convenient for users to perform some actions explicitly from the notification - to not perform extra actions. For example, user received a notification LONG_RUNNING. Currently, the Platform suggests user to open the run logs page, then manually check the run state and solve what to do with it. In this case, it would be useful to have the list of possible user's actions for this run inside the notification - it may be "STOP"/"PAUSE" actions. Let's add possible actions to notifications where it is possible.

Approach

Notification Possible actions Description
BILLING_QUOTA_EXCEEDING (?) VIEW Open the Billing page for entity (user/billing center/overall) exceeded the quota.
DATASTORAGE_LIFECYCLE_ACTION VIEW
POSTPONE
- Open the path in storage where data transition is scheduled.
- Postpone transition on the predefined number of days.
DATASTORAGE_LIFECYCLE_RESTORE_ACTION VIEW Open the path in storage where data was restored.
FULL_NODE_POOL VIEW Open the "Pools usage" page for the pool.
HIGH_CONSUMED_RESOURCES VIEW Open the run page or a node monitor page
IDLE_RUN VIEW
PAUSE
STOP
- Open the run page.
- Pause run.
- Stop run.
IDLE_RUN_PAUSED VIEW
RESUME
TERMINATE
- Open the run page.
- Resume run.
- Terminate run.
IDLE_RUN_STOPPED VIEW Open the run page.
INACTIVE_USERS -
LDAP_BLOCKED_POSTPONED_USERS -
LDAP_BLOCKED_USERS -
LONG_INIT VIEW
TERMINATE
- Open the run page.
- Terminate run.
LONG_PAUSED VIEW
RESUME
TERMINATE
- Open the run page.
- Resume run.
- Terminate run.
LONG_PAUSED_STOPPED VIEW Open the run page.
LONG_RUNNING VIEW
PAUSE
STOP
- Open the run page.
- Pause run.
- Stop run.
LONG_STATUS VIEW Open the run page.
NEW_ISSUE -
NEW_ISSUE_COMMENT -
PIPELINE_RUN_STATUS VIEW Open the run page.
STORAGE_QUOTA_EXCEEDING (?) VIEW Open the storage page, show attributes panel

Show the following actions under conditions (otherwise, hide them):

Actions shall be shown only at the Notifications page as set of buttons for each notification, e.g.: image

Other options A clear and concise description of any alternative solutions or features you've considered.

mzueva commented 1 year ago

In order to implement this feature the following changes are required form server side:

Notification Entity
BILLING_QUOTA_EXCEEDING Type Quota, fields: id
DATASTORAGE_LIFECYCLE_ACTION Type DataStorage, fields id, ruleId, path
DATASTORAGE_LIFECYCLE_RESTORE_ACTION Type DataStorage, fields id, path
FULL_NODE_POOL Type NodePool, fields: id
HIGH_CONSUMED_RESOURCES Type PipelineRun, fields: id
IDLE_RUN Type PipelineRun, fields: id
IDLE_RUN_PAUSED Type PipelineRun, fields: id
IDLE_RUN_STOPPED Type PipelineRun, fields: id
INACTIVE_USERS -
LDAP_BLOCKED_POSTPONED_USERS -
LDAP_BLOCKED_USERS -
LONG_INIT Type PipelineRun, fields: id
LONG_PAUSED Type PipelineRun, fields: id
LONG_PAUSED_STOPPED Type PipelineRun, fields: id
LONG_RUNNING Type PipelineRun, fields: id
LONG_STATUS Type PipelineRun, fields: id
NEW_ISSUE Type Issue, fields: id
NEW_ISSUE_COMMENT Type Issue, fields: id
PIPELINE_RUN_STATUS Type PipelineRun, fields: id
STORAGE_QUOTA_EXCEEDING Type DataStorage, fields id