[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