[libvirt] [PATCH v4 2/2] libxl: keepalive messages support
jfehlig at suse.com
Wed Feb 10 04:23:49 UTC 2016
On 02/05/2016 01:45 PM, Joao Martins wrote:
> This patch introduces keep alive messages support for P2P migration
> and it adds two new configuration entries namely 'keepalive_interval'
> 'keepalive_count' to control it. Behavior of these entries is the
> same as qemu driver thus the description is copied from there
> with just a few simplifications.
> Signed-off-by: Joao Martins <joao.m.martins at oracle.com>
> Note: v4 series requires the patch
> ("remote: set VIR_TYPED_PARAM_STRING_OKAY on migration")
> to make migration work again, but it's not reviewed yet.
> src/libxl/libvirtd_libxl.aug | 4 ++++
> src/libxl/libxl.conf | 18 ++++++++++++++++++
> src/libxl/libxl_conf.c | 26 ++++++++++++++++++++++++++
> src/libxl/libxl_conf.h | 3 +++
> src/libxl/libxl_migration.c | 6 ++++++
> src/libxl/test_libvirtd_libxl.aug.in | 2 ++
> 6 files changed, 59 insertions(+)
> diff --git a/src/libxl/libvirtd_libxl.aug b/src/libxl/libvirtd_libxl.aug
> index d5aa150..b31cc07 100644
> --- a/src/libxl/libvirtd_libxl.aug
> +++ b/src/libxl/libvirtd_libxl.aug
> @@ -26,10 +26,14 @@ module Libvirtd_libxl =
> (* Config entry grouped by function - same order as example config *)
> let autoballoon_entry = bool_entry "autoballoon"
> let lock_entry = str_entry "lock_manager"
> + let keepalive_interval_entry = int_entry "keepalive_interval"
> + let keepalive_count_entry = int_entry "keepalive_count"
> (* Each entry in the config is one of the following ... *)
> let entry = autoballoon_entry
> | lock_entry
> + | keepalive_interval_entry
> + | keepalive_count_entry
> let comment = [ label "#comment" . del /#[ \t]*/ "# " . store /([^ \t\n][^\n]*)?/ . del /\n/ "\n" ]
> let empty = [ label "#empty" . eol ]
> diff --git a/src/libxl/libxl.conf b/src/libxl/libxl.conf
> index ba3de7a..82abdb6 100644
> --- a/src/libxl/libxl.conf
> +++ b/src/libxl/libxl.conf
> @@ -20,3 +20,21 @@
> # "lockd". Accepted values are "sanlock" and "lockd".
> #lock_manager = "lockd"
> +# A keepalive message is sent to the daemon after keepalive_interval
> +# seconds of inactivity to check if the daemon is still responding;
> +# keepalive_count is a maximum number of keepalive messages that are
> +# allowed to be sent to the deamon without getting any response before
> +# the connection is considered broken. In other words, the connection
> +# is automatically closed approximately after keepalive_interval *
> +# (keepalive_count + 1) seconds since the last message received from
> +# the daemon. If keepalive_interval is set to -1, libxl driver will
> +# not send keepalive requests during peer-to-peer migration; however,
> +# the remote libvirtd can still send them and source libvirtd will
> +# send responses. When keepalive_count is set to 0, connections will
> +# be automatically closed after keepalive_interval seconds of
> +# inactivity without sending any keepalive messages.
> +#keepalive_interval = 5
> +#keepalive_count = 5
Nit: I think the introductory sentence describing the purpose of the "keepalive
protocol" in qemu.conf is worth retaining. I added it to your existing comment
and pushed the series. Thanks for your patience! :-)
More information about the libvir-list