Implement a migrate-getmaxdowntime command to complement migrate-setmaxdowntime.
---
tools/virsh-domain.c | 42 ++++++++++++++++++++++++++++++++++++++++++
tools/virsh.pod | 6 ++++++
2 files changed, 48 insertions(+)
diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
index 40f1673..012c96e 100644
--- a/tools/virsh-domain.c
+++ b/tools/virsh-domain.c
@@ -10719,6 +10719,42 @@ cmdMigrateSetMaxDowntime(vshControl *ctl, const vshCmd *cmd)
return ret;
}
+ /*
+ * "migrate-getmaxdowntime" command
+ */
+static const vshCmdInfo info_migrate_getmaxdowntime[] = {
+ {.name = "help",
+ .data = N_("get maximum tolerable downtime")
+ },
+ {.name = "desc",
+ .data = N_("Get maximum tolerable downtime of a domain which is being live-migrated to another host.")
+ },
+ {.name = NULL}
+};
+
+static const vshCmdOptDef opts_migrate_getmaxdowntime[] = {
+ VIRSH_COMMON_OPT_DOMAIN_FULL,
+ {.name = NULL}
+};
+
+static bool
+cmdMigrateGetMaxDowntime(vshControl *ctl, const vshCmd *cmd)
+{
+ virDomainPtr dom;
+ unsigned long long downtime;
+ bool ret = false;
+
+ if ((dom = virshCommandOptDomain(ctl, cmd, NULL)) != NULL) {
+ if (virDomainMigrateGetMaxDowntime(dom, &downtime, 0) >= 0) {
+ vshPrint(ctl, "%llu\n", downtime);
+ ret = true;
+ }
+ virshDomainFree(dom);
+ }
+
+ return ret;
+}
+
/*
* "migrate-compcache" command
*/
@@ -13875,6 +13911,12 @@ const vshCmdDef domManagementCmds[] = {
.info = info_migrate_setmaxdowntime,
.flags = 0
},
+ {.name = "migrate-getmaxdowntime",
+ .handler = cmdMigrateGetMaxDowntime,
+ .opts = opts_migrate_getmaxdowntime,
+ .info = info_migrate_getmaxdowntime,
+ .flags = 0
+ },
{.name = "migrate-compcache",
.handler = cmdMigrateCompCache,
.opts = opts_migrate_compcache,
diff --git a/tools/virsh.pod b/tools/virsh.pod
index 43d6f0c..15a4143 100644
--- a/tools/virsh.pod
+++ b/tools/virsh.pod
@@ -1857,6 +1857,12 @@ Set maximum tolerable downtime for a domain which is being live-migrated to
another host. The I<downtime> is a number of milliseconds the guest is allowed
to be down at the end of live migration.
+=item B<migrate-getmaxdowntime> I<domain>
+
+Get the maximum tolerable downtime for a domain which is being live-migrated to
+another host. This is the number of milliseconds the guest is allowed
+to be down at the end of live migration.
+
=item B<migrate-compcache> I<domain> [I<--size> B<bytes>]
Sets and/or gets size of the cache (in bytes) used for compressing repeatedly
--
1.8.3.1
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
On 08/17/2017 06:17 PM, Scott Garfinkle wrote:
> Implement a migrate-getmaxdowntime command to complement migrate-setmaxdowntime.
> ---
> tools/virsh-domain.c | 42 ++++++++++++++++++++++++++++++++++++++++++
> tools/virsh.pod | 6 ++++++
> 2 files changed, 48 insertions(+)
>
Please don't forget to post a patch to add the migrate-compcache that
you rightly removed from this particular patch since it was "missing"
from some other original patch.
> diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
> index 40f1673..012c96e 100644
> --- a/tools/virsh-domain.c
> +++ b/tools/virsh-domain.c
> @@ -10719,6 +10719,42 @@ cmdMigrateSetMaxDowntime(vshControl *ctl, const vshCmd *cmd)
> return ret;
> }
>
> + /*
Bad indent here.
> + * "migrate-getmaxdowntime" command
> + */
> +static const vshCmdInfo info_migrate_getmaxdowntime[] = {
> + {.name = "help",
> + .data = N_("get maximum tolerable downtime")
> + },
> + {.name = "desc",
> + .data = N_("Get maximum tolerable downtime of a domain which is being live-migrated to another host.")
> + },
> + {.name = NULL}
> +};
> +
> +static const vshCmdOptDef opts_migrate_getmaxdowntime[] = {
> + VIRSH_COMMON_OPT_DOMAIN_FULL,
> + {.name = NULL}
> +};
> +
> +static bool
> +cmdMigrateGetMaxDowntime(vshControl *ctl, const vshCmd *cmd)
> +{
> + virDomainPtr dom;
> + unsigned long long downtime;
> + bool ret = false;
> +
> + if ((dom = virshCommandOptDomain(ctl, cmd, NULL)) != NULL) {
> + if (virDomainMigrateGetMaxDowntime(dom, &downtime, 0) >= 0) {
> + vshPrint(ctl, "%llu\n", downtime);
> + ret = true;
> + }
> + virshDomainFree(dom);
> + }
> +
> + return ret;
Although technically correct, the keeping the style of function logic is
preferred, thus I'll adjust to:
if (!(dom = virshCommandOptDomain(ctl, cmd, NULL)))
return false;
if (virDomainMigrateGetMaxDowntime(dom, &downtime, 0) < 0)
goto done;
vshPrint(ctl, "%llu\n", downtime);
ret = true;
done:
virshDomainFree(dom);
return ret;
I'll adjust the code before pushing
Reviewed-by: John Ferlan <jferlan@redhat.com>
John
> +}
> +
> /*
> * "migrate-compcache" command
> */
> @@ -13875,6 +13911,12 @@ const vshCmdDef domManagementCmds[] = {
> .info = info_migrate_setmaxdowntime,
> .flags = 0
> },
> + {.name = "migrate-getmaxdowntime",
> + .handler = cmdMigrateGetMaxDowntime,
> + .opts = opts_migrate_getmaxdowntime,
> + .info = info_migrate_getmaxdowntime,
> + .flags = 0
> + },
> {.name = "migrate-compcache",
> .handler = cmdMigrateCompCache,
> .opts = opts_migrate_compcache,
> diff --git a/tools/virsh.pod b/tools/virsh.pod
> index 43d6f0c..15a4143 100644
> --- a/tools/virsh.pod
> +++ b/tools/virsh.pod
> @@ -1857,6 +1857,12 @@ Set maximum tolerable downtime for a domain which is being live-migrated to
> another host. The I<downtime> is a number of milliseconds the guest is allowed
> to be down at the end of live migration.
>
> +=item B<migrate-getmaxdowntime> I<domain>
> +
> +Get the maximum tolerable downtime for a domain which is being live-migrated to
> +another host. This is the number of milliseconds the guest is allowed
> +to be down at the end of live migration.
> +
> =item B<migrate-compcache> I<domain> [I<--size> B<bytes>]
>
> Sets and/or gets size of the cache (in bytes) used for compressing repeatedly
>
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
© 2016 - 2026 Red Hat, Inc.