[pve-devel] [PATCH ha-manager 1/2] LRM: release lcok also on restart
Thomas Lamprecht
t.lamprecht at proxmox.com
Mon Jan 18 11:38:06 CET 2016
Oh typo in the commit messages title,
s/lcok/lock/
please.
On 01/18/2016 11:35 AM, Thomas Lamprecht wrote:
> Wen restarting the LRM (e.g. on a update) we get an new pid and thus
> have to wait for our own lock to timeout.
> We can (and should) do that as there are no services or all services
> are freezed. If they are freezed only our LRM may touch them so we
> we can unfreeze them faster with this patch.
>
> The expected log of the restart-lrm test does not change much as the
> test system does not need to wait for a timeout.
>
> This let's the LRM start working directly after a restart,
> especially usefull on package updates.
>
> Signed-off-by: Thomas Lamprecht <t.lamprecht at proxmox.com>
> ---
> src/PVE/HA/LRM.pm | 3 +++
> src/test/test-restart-lrm/log.expect | 1 +
> 2 files changed, 4 insertions(+)
>
> diff --git a/src/PVE/HA/LRM.pm b/src/PVE/HA/LRM.pm
> index 60ee448..30df766 100644
> --- a/src/PVE/HA/LRM.pm
> +++ b/src/PVE/HA/LRM.pm
> @@ -282,6 +282,9 @@ sub do_one_iteration {
> }
>
> $shutdown = 1;
> +
> + # restart with no or freezed services, release the lock
> + $haenv->release_ha_agent_lock();
> }
> }
> } else {
> diff --git a/src/test/test-restart-lrm/log.expect b/src/test/test-restart-lrm/log.expect
> index 88cbd5a..7e0a71e 100644
> --- a/src/test/test-restart-lrm/log.expect
> +++ b/src/test/test-restart-lrm/log.expect
> @@ -26,5 +26,6 @@ info 120 node1/crm: service 'vm:103': state changed from 'started' to 'fre
> info 126 node3/lrm: exit (loop end)
> info 126 node3/lrm: status change startup => wait_for_agent_lock
> info 160 node1/crm: service 'vm:103': state changed from 'freeze' to 'started'
> +info 165 node3/lrm: got lock 'ha_agent_node3_lock'
> info 165 node3/lrm: status change wait_for_agent_lock => active
> info 720 hardware: exit simulation - done
More information about the pve-devel
mailing list