From: "Daniel Kral" <d.kral@proxmox.com>
To: "Thomas Lamprecht" <t.lamprecht@proxmox.com>,
<pve-devel@lists.proxmox.com>
Subject: Re: [PATCH ha-manager v2 3/4] fix #2751: implement disarm-ha and arm-ha for safe cluster maintenance
Date: Fri, 27 Mar 2026 11:21:12 +0100 [thread overview]
Message-ID: <DHDHMUPWY9YS.1C3Z6EO3TDWNV@proxmox.com> (raw)
In-Reply-To: <deb611b2-fd77-4410-8a35-4983ec965879@proxmox.com>
On Fri Mar 27, 2026 at 12:15 AM CET, Thomas Lamprecht wrote:
> Am 26.03.26 um 17:02 schrieb Daniel Kral:
>> Two other possible cases of 'implicitly transient' states might be:
>>
>> - adding a HA rule, which makes a HA resource in 'started' state be put
>> in 'migrate' to another node when processing the select_service_node()
>> in next_state_started().
>>
>> - the node of a HA resource is offline delayed in the same round as the
>> disarm request. If none of the HA resources are in a transient state
>> yet, the disarm request goes through, otherwise the affected HA
>> resources might be put in 'fence'.
>>
>>
>> I haven't thought this through fully, but an option might be that we
>> only allow the FSM processing of the HA resources, which are in one of
>> these 4 transient states and don't process the others.
>>
>> E.g. breaking out the FSM transition loop into its own function and in
>> normal operation we iterate through all services in $ss, but for
>> deferred disarming we only iterate through the HA resources in transient
>> states, which should be resolved.
>
> I pushed a follow-up [0] that should deal with this, another look at
> that would be appreciated!
> FWIW, I mostly pushed directly as I still wanted to do a bump+test upload
> today, because if everything is good we get a small regression fix faster
> out to users, if not we can follow-up here and no harm done.
>
> [0]: https://git.proxmox.com/?p=pve-ha-manager.git;a=commitdiff;h=b6b025a268032ff5302bede1f5eb56247af13f21
>
> [...]
>
Thanks for the quick patch! The changes look good to me too and the test
case captures the behavior well!
next prev parent reply other threads:[~2026-03-27 10:20 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-21 23:42 [PATCH ha-manager v2 0/4] fix #2751: implement disarm/arm HA for safer " Thomas Lamprecht
2026-03-21 23:42 ` [PATCH ha-manager v2 1/4] sim: hardware: add manual-migrate command for ignored services Thomas Lamprecht
2026-03-21 23:42 ` [PATCH ha-manager v2 2/4] api: status: add fencing status entry with armed/standby state Thomas Lamprecht
2026-03-21 23:42 ` [PATCH ha-manager v2 3/4] fix #2751: implement disarm-ha and arm-ha for safe cluster maintenance Thomas Lamprecht
2026-03-23 13:04 ` Dominik Rusovac
2026-03-25 15:50 ` Fiona Ebner
2026-03-27 1:17 ` Thomas Lamprecht
2026-03-26 16:02 ` Daniel Kral
2026-03-26 23:15 ` Thomas Lamprecht
2026-03-27 10:21 ` Daniel Kral [this message]
2026-03-21 23:42 ` [PATCH ha-manager v2 4/4] api: status: add disarm-ha and arm-ha endpoints and CLI wiring Thomas Lamprecht
2026-03-23 13:05 ` [PATCH ha-manager v2 0/4] fix #2751: implement disarm/arm HA for safer cluster maintenance Dominik Rusovac
2026-03-25 12:06 ` applied: " Thomas Lamprecht
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=DHDHMUPWY9YS.1C3Z6EO3TDWNV@proxmox.com \
--to=d.kral@proxmox.com \
--cc=pve-devel@lists.proxmox.com \
--cc=t.lamprecht@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