From: Daniel Kral <d.kral@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [PATCH-SERIES ha-manager 0/2] make idle LRMs resolve leftover moving HA resources while disarmed
Date: Tue, 19 May 2026 16:38:34 +0200 [thread overview]
Message-ID: <20260519143842.382324-1-d.kral@proxmox.com> (raw)
As in patch message #2:
If there are HA resources, which are in transient states that defer the
disarming process, but their LRMs are already in idle state and disarmed
mode, these LRMs will not properly resolve the transient states of these
HA resources as assumed by the HA Manager.
For HA resources, which are still moving, this makes the HA Manager
stuck in a loop, which tries to defer the disarming process to wait for
a LRM response for these moving HA resources, which will never come as
the LRM is idle.
Therefore allow the LRM to become active in disarm mode if there are any
HA resources on the LRM's node, which are in any of these transient
states, and make sure that the LRM only processes the disarm-deferring
HA resources while the LRM is active.
Daniel Kral (2):
test: add disarm test cases for idle lrms with transient ha resources
make idle LRMs resolve leftover moving HA resources while disarmed
src/PVE/HA/LRM.pm | 19 ++++++++-
src/PVE/HA/Manager.pm | 8 ++--
src/PVE/HA/Tools.pm | 17 ++++++++
src/test/test-disarm-idle-lrm1/README | 8 ++++
src/test/test-disarm-idle-lrm1/cmdlist | 3 ++
.../test-disarm-idle-lrm1/hardware_status | 5 +++
src/test/test-disarm-idle-lrm1/log.expect | 40 +++++++++++++++++++
src/test/test-disarm-idle-lrm1/manager_status | 26 ++++++++++++
src/test/test-disarm-idle-lrm1/service_config | 5 +++
src/test/test-disarm-idle-lrm2/README | 8 ++++
src/test/test-disarm-idle-lrm2/cmdlist | 3 ++
.../test-disarm-idle-lrm2/hardware_status | 5 +++
src/test/test-disarm-idle-lrm2/log.expect | 39 ++++++++++++++++++
src/test/test-disarm-idle-lrm2/manager_status | 26 ++++++++++++
src/test/test-disarm-idle-lrm2/service_config | 5 +++
15 files changed, 211 insertions(+), 6 deletions(-)
create mode 100644 src/test/test-disarm-idle-lrm1/README
create mode 100644 src/test/test-disarm-idle-lrm1/cmdlist
create mode 100644 src/test/test-disarm-idle-lrm1/hardware_status
create mode 100644 src/test/test-disarm-idle-lrm1/log.expect
create mode 100644 src/test/test-disarm-idle-lrm1/manager_status
create mode 100644 src/test/test-disarm-idle-lrm1/service_config
create mode 100644 src/test/test-disarm-idle-lrm2/README
create mode 100644 src/test/test-disarm-idle-lrm2/cmdlist
create mode 100644 src/test/test-disarm-idle-lrm2/hardware_status
create mode 100644 src/test/test-disarm-idle-lrm2/log.expect
create mode 100644 src/test/test-disarm-idle-lrm2/manager_status
create mode 100644 src/test/test-disarm-idle-lrm2/service_config
--
2.47.3
next reply other threads:[~2026-05-19 14:39 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-19 14:38 Daniel Kral [this message]
2026-05-19 14:38 ` [PATCH ha-manager 1/2] test: add disarm test cases for idle lrms with transient ha resources Daniel Kral
2026-05-19 14:38 ` [PATCH ha-manager 2/2] make idle LRMs resolve leftover moving HA resources while disarmed Daniel Kral
2026-05-19 16:00 ` Fiona Ebner
2026-05-19 14:47 ` [PATCH-SERIES ha-manager 0/2] " Daniel Kral
2026-05-19 16:00 ` Fiona Ebner
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=20260519143842.382324-1-d.kral@proxmox.com \
--to=d.kral@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