[libvirt] [PATCH v4 3/4] virsh: Add support for virDomainMigrateGetMaxDowntime

Scott Garfinkle scottgar at linux.vnet.ibm.com
Thu Aug 17 22:17:21 UTC 2017


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




More information about the libvir-list mailing list