[pve-devel] [PATCH pve-manager] ui: ha: consider status/presence of qdevice for warning

Thomas Lamprecht t.lamprecht at proxmox.com
Fri Sep 12 18:36:13 CEST 2025


Am 12.09.25 um 12:17 schrieb Hannes Laimer:
> We showed this warning for setups with two nodes and a qdevice, but for
> setups like this this warning didn't make Sense. This checks if a
> qdevice is connected to the cluster before showing the 'not enough votes
> for reliable HA'-warning.

Maybe it would be a bit more robust if we fleece that info in already in
the backend – but disclaimer: I did not just check, so you really need
to evaluate if it indeed makes sense or if applying this now as is might
be the better route forward.

> 
> Signed-off-by: Hannes Laimer <h.laimer at proxmox.com>
> ---
> This came up in support[1].
> 
> [1] https://my.proxmox.com/en/dbsfk/ticket/view/20332
> 
>  www/manager6/ha/ResourceEdit.js | 13 ++++++++++++-
>  1 file changed, 12 insertions(+), 1 deletion(-)
> 
> diff --git a/www/manager6/ha/ResourceEdit.js b/www/manager6/ha/ResourceEdit.js
> index 428672a8..04795da7 100644
> --- a/www/manager6/ha/ResourceEdit.js
> +++ b/www/manager6/ha/ResourceEdit.js
> @@ -54,7 +54,18 @@ Ext.define('PVE.ha.VMResourceInputPanel', {
>                  });
>  
>                  if (votes < MIN_QUORUM_VOTES) {
> -                    fewVotesHint.setVisible(true);
> +                    Proxmox.Utils.API2Request({
> +                        url: '/cluster/config/qdevice',
> +                        method: 'GET',
> +                        failure: function (response) {
> +                            fewVotesHint.setVisible(true);
> +                        },
> +                        success: function (response) {
> +                            let qdeviceStatus = response.result.data;
> +                            let qdeviceConnected = qdeviceStatus.State === 'Connected';
> +                            fewVotesHint.setVisible(!qdeviceConnected);
> +                        },
> +                    });

nit: I would slightly prefer such inline requests to use the async
Proxmox.Async.api2 method, that makes the code-flow a bit more linear
and easier to grasp.

>                  }
>              },
>          });





More information about the pve-devel mailing list