From 3d1799192de9d4dd2fa14cb10ac0dbda23a6e305 Mon Sep 17 00:00:00 2001 From: Jim Fehlig Date: Mon, 26 Aug 2019 13:41:25 -0600 Subject: [PATCH] virsh: Add support for setting bandwidth in migrate Commit f15789ec added support for setting postcopy migration bandwidth to the migrate subcommand. This change does the same for precopy migration. Signed-off-by: Jim Fehlig Reviewed-by: Michal Privoznik --- tools/virsh-domain.c | 13 +++++++++++++ tools/virsh.pod | 4 +++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c index ccda71d7e0..8984c2f3b4 100644 --- a/tools/virsh-domain.c +++ b/tools/virsh-domain.c @@ -10587,6 +10587,10 @@ static const vshCmdOptDef opts_migrate[] = { .type = VSH_OT_INT, .help = N_("number of connections for parallel migration") }, + {.name = "precopy-bandwidth", + .type = VSH_OT_INT, + .help = N_("pre-copy migration bandwidth limit in MiB/s") + }, {.name = NULL} }; @@ -10801,6 +10805,15 @@ doMigrate(void *opaque) goto save_error; } + if ((rv = vshCommandOptULongLong(ctl, cmd, "precopy-bandwidth", &ullOpt)) < 0) { + goto out; + } else if (rv > 0) { + if (virTypedParamsAddULLong(¶ms, &nparams, &maxparams, + VIR_MIGRATE_PARAM_BANDWIDTH, + ullOpt) < 0) + goto save_error; + } + if (vshCommandOptBool(cmd, "live")) flags |= VIR_MIGRATE_LIVE; if (vshCommandOptBool(cmd, "p2p")) diff --git a/tools/virsh.pod b/tools/virsh.pod index af739bec24..aa0eb16f1a 100644 --- a/tools/virsh.pod +++ b/tools/virsh.pod @@ -1927,6 +1927,7 @@ I I [I] [I] [I] [I] [I<--persistent-xml> B] [I<--tls>] [I<--postcopy-bandwidth> B] [I<--parallel> [I<--parallel-connections> B]] +[I<--precopy-bandwidth> B] Migrate domain to another host. Add I<--live> for live migration; <--p2p> for peer-2-peer migration; I<--direct> for direct migration; or I<--tunnelled> @@ -1958,7 +1959,8 @@ B command sent from another virsh instance or use I<--postcopy-after-precopy> along with I<--postcopy> to let libvirt automatically switch to post-copy after the first pass of pre-copy is finished. The maximum bandwidth consumed during the post-copy phase may be limited using -I<--postcopy-bandwidth>. +I<--postcopy-bandwidth>. The maximum bandwidth consumed during the pre-copy phase +may be limited using I<--precopy-bandwidth>. I<--auto-converge> forces convergence during live migration. The initial guest CPU throttling rate can be set with I. If the -- GitLab