[pve-devel] applied: [PATCH manager v3 5/5] fix #4474: ui: guest stop: offer to overrule active shutdown tasks

Thomas Lamprecht t.lamprecht at proxmox.com
Sat Apr 20 20:34:59 CEST 2024


Am 12/04/2024 um 16:15 schrieb Friedrich Weber:
> Implement a new "guest stop" confirmation message box which first
> checks if there is an active shutdown task for the same guest that is
> visible to the logged-in user. If there is at least one, the dialog
> displays an additional default-on checkbox for overruling active
> shutdown tasks. If the user confirms and the checkbox is checked, the
> UI sends a guest stop API request with the `overrule-shutdown`
> parameter set to 1. If there are no active shutdown tasks, or the
> checkbox is unchecked, the UI sends a guest stop API request without
> `overrule-shutdown`.
> 
> To avoid an additional API request for querying active shutdown tasks,
> check the UI's current view of cluster tasks instead, which is fetched
> from the `pve-cluster-tasks` store.
> 
> As the UI might hold an outdated task list, there are some
> opportunities for races, e.g., the UI may miss a new shutdown task or
> consider a shutdown task active even though it has already terminated.
> These races either result in a surviving shutdown task that the user
> still needs to abort manually, or a superfluous `override-shutdown=1`
> parameter that does not actually abort any tasks. Since "stop
> overrules shutdown" is merely a convenience feature, both outcomes
> seem bearable.
> 
> The confirmation message box is now always marked as dangerous (with a
> warning sign icon), whereas previously it was only marked dangerous if
> the stop issued from the guest panel, but not when issued from the
> resource tree command menu.
> 
> Signed-off-by: Friedrich Weber <f.weber at proxmox.com>
> ---
> 
> Notes:
>     changes v2 -> v3:
>     - aligned permission checks with changed backend logic
>     - replace access of `this.vm` with `me.vm`
>     
>     changes v1 -> v2:
>     - instead of a second modal dialog that offers to overrule shutdown
>       tasks, display an additional checkbox in the "guest stop"
>       confirmation dialog if there is a running matching shutdown task
>     - spin out pve-cluster-tasks store fix into its own patch
> 
>  www/manager6/Makefile            |  1 +
>  www/manager6/lxc/CmdMenu.js      |  8 +++-
>  www/manager6/lxc/Config.js       |  8 ++--
>  www/manager6/qemu/CmdMenu.js     |  8 +++-
>  www/manager6/qemu/Config.js      |  8 ++--
>  www/manager6/window/GuestStop.js | 79 ++++++++++++++++++++++++++++++++
>  6 files changed, 104 insertions(+), 8 deletions(-)
>  create mode 100644 www/manager6/window/GuestStop.js
> 
>

applied, with some smaller style nits squashed in directly and a follow-up
that changed this to be shown more often, mostly because the UI task state
can be dated (slightly more rationale in the commit message), thanks!




More information about the pve-devel mailing list