all lists on lists.proxmox.com
 help / color / mirror / Atom feed
From: "Michael Köppl" <m.koeppl@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [PATCH cluster/docs/manager/widget-toolkit v4 0/8] add warning messages for high token timeouts in clusters
Date: Fri,  5 Jun 2026 17:38:11 +0200	[thread overview]
Message-ID: <20260605153819.310048-1-m.koeppl@proxmox.com> (raw)

This patch series introduces warnings informing users about high token
timeouts in their clusters. A recent change [0] lowered the token
coefficient for clusters and allowed adapting it. However, this change
only affects new clusters. As described in [1], users with existing
cluster should be informed about the high token timeouts in their
configurations and what they can do to alleviate this problem.

Thus, warnings are added to the `pvecm status` command as well as to the
cluster join info dialog in the web UI. The warning in the web UI warns
users about the effect adding another node would have to allow them to
make an informed change before adding another node.

changes since v3 (thanks to @Fabian, @Friedrich for the feedback):
- Rebase on latest master for all affected repos
- Adapt the scan_extjs_file function to allow detecting `get_help_link`
  function calls across multiple lines
- Move up the paragraph in the documentation to better fit in the
  updated section
- Use the output of `corosync-cmapctl` to the token and consensus
  timeouts instead of re-implementing the calculation. This also means
  that, at least for now, the calculation can only be done for the
  current number of nodes, to avoid making the calculation more complex
  than it needs to be. This is based on feedback [2] on v3.
- Instead of implementing the calculation of warning levels and messages
  twice (in pve-cluster and pve-manager separately), add a warnings
  property to the join info endpoint that consists of an array of
  objects with a type, level, and message field. The warning level and
  message are then constructed in pve-cluster, returned by the join info
  endpoint and only displayed by pve-manager. The ClusterEdit dialog can
  now display arbitrary warnings with their levels. The type field was
  added to be able to link to specific parts of the documentation for
  specific errors. This is based on feedback [2] from v4.
- Add a patch to proxmox-widget-toolkit that adds a .pmx-critical CSS
  class that is similar to .pmx-hint, but for more critical errors. This
  was done based on the off-list suggestion by @Fabian that different
  warnings levels might warrant different colors in this case.

Also, thanks to @Lukas for testing v3!

changes since v2 (thanks to @Lukas and @Friedrich for the feedback):
- use "lowering" instead of "changing" for the warning strings
- replace leftover hard-coded PVE docs link with `man pvecm`
- update descriptions of timeout_warning_level and expected_timeout
  params such that they say "membership recovery timeout", to more
  clearly state which timeout this is about
- update function names for get_timeout_warning_level and
  get_timeout_warning to
  calculate_membership_recovery_timeout_warning_level and
  calculate_membership_recovery_timeout_warning respectively

changes since v1 (thanks to @Friedrich for the feedback on v1):
- add pve-docs patch to allow using get_help_link to directly link to
  an anchor in the local documentation (then used to link to the section
  on changing the token coefficient)
- add pve-docs patch to define explicit anchor for the "Changing the
  Token Coefficient" section
- add pve-docs patch extending the section for Changing the Token
  Coefficient slightly, informing users of the potential warning
  messages in the pvecm status output
- change the threshold for "strongly recommend" from 50s to 45s as
  suggested by @Friedrich
- adapted the name of calculate_total_timeout to
  calculate_membership_recovery_timeout
- adapted commit messages for preparatory pve-manager patch (no
  functional changes intended)
- moved the warning message in pvecm from `pvecm nodes` to `pvecm status`
- replaced the URL in the pvecm warning message with a reference to the
  pvecm man pages
- link to local documentation in ClusterEdit.js

[0] https://git.proxmox.com/?p=pve-cluster.git;a=commit;h=a7b1c765b9223a81fb2dc4f072d6a6c095583cda
[1] https://bugzilla.proxmox.com/show_bug.cgi?id=7398
[2] https://lore.proxmox.com/pve-devel/1779112787.r3e8af5igi.astroid@yuna.none/

pve-docs:

Michael Köppl (2):
  asciidoc-pve: allow linking sections with get_help_link
  pvecm: add info about warnings regarding token coefficient

 pvecm.adoc              |  5 +++++
 scripts/asciidoc-pve.in | 19 ++++++++++---------
 2 files changed, 15 insertions(+), 9 deletions(-)


pve-cluster:

Michael Köppl (3):
  add functions to determine warning level for high token timeouts
  pvecm: warn users of high token timeouts when using status command
  api: join info: add totem timeout warning message and level

 src/PVE/API2/ClusterConfig.pm | 21 +++++++++++++
 src/PVE/CLI/pvecm.pm          |  7 +++++
 src/PVE/Corosync.pm           | 59 +++++++++++++++++++++++++++++++++++
 3 files changed, 87 insertions(+)


proxmox-widget-toolkit:

Michael Köppl (1):
  add pmx-critical CSS class

 src/css/ext6-pmx.css                        |  4 ++++
 src/proxmox-dark/scss/proxmox/_general.scss | 15 +++++++++++----
 2 files changed, 15 insertions(+), 4 deletions(-)


pve-manager:

Michael Köppl (2):
  ui: cluster info: move initialization of items to initComponent
  ui: cluster info: display warnings from the join info endpoint

 www/manager6/dc/Cluster.js     |   3 +
 www/manager6/dc/ClusterEdit.js | 140 ++++++++++++++++++++++-----------
 2 files changed, 95 insertions(+), 48 deletions(-)


Summary over all repositories:
  9 files changed, 212 insertions(+), 61 deletions(-)

-- 
Generated by murpp 0.11.0




             reply	other threads:[~2026-06-05 15:39 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-05 15:38 Michael Köppl [this message]
2026-06-05 15:38 ` [PATCH docs v4 1/8] asciidoc-pve: allow linking sections with get_help_link Michael Köppl
2026-06-05 15:38 ` [PATCH docs v4 2/8] pvecm: add info about warnings regarding token coefficient Michael Köppl
2026-06-05 15:38 ` [PATCH cluster v4 3/8] add functions to determine warning level for high token timeouts Michael Köppl
2026-06-05 15:38 ` [PATCH cluster v4 4/8] pvecm: warn users of high token timeouts when using status command Michael Köppl
2026-06-05 15:38 ` [PATCH cluster v4 5/8] api: join info: add totem timeout warning message and level Michael Köppl
2026-06-05 15:38 ` [PATCH widget-toolkit v4 6/8] add pmx-critical CSS class Michael Köppl
2026-06-05 15:38 ` [PATCH manager v4 7/8] ui: cluster info: move initialization of items to initComponent Michael Köppl
2026-06-05 15:38 ` [PATCH manager v4 8/8] ui: cluster info: display warnings from the join info endpoint Michael Köppl

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260605153819.310048-1-m.koeppl@proxmox.com \
    --to=m.koeppl@proxmox.com \
    --cc=pve-devel@lists.proxmox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal