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
next 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox