[pve-devel] [PATCH qemu-server 1/7] bwlimit: honor bwlimit for migrate qmp call
Thomas Lamprecht
t.lamprecht at proxmox.com
Fri Mar 29 10:08:19 CET 2019
On 3/29/19 8:28 AM, Stoiko Ivanov wrote:
> The 'migrate_speed' can be set in the VM config. Additionally migrate should
> honor the 'migrate' bwlimit set in datacenter.cfg (storage-specific limits play
> no role for memory+state migration) or the parameter provided to the API call.
>
> With this patch a set bwlimit overrides the 'migrate_speed' setting.
would it make sense to not plain overwrite it but use the smaller one of both?
Or is this the same behavior as elsewhere? I just want to ensure this is documented,
and seen as expected behavior for users.
>
> Signed-off-by: Stoiko Ivanov <s.ivanov at proxmox.com>
> ---
> PVE/QemuMigrate.pm | 8 +++++---
> 1 file changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/PVE/QemuMigrate.pm b/PVE/QemuMigrate.pm
> index ee605d8..8f4ee5b 100644
> --- a/PVE/QemuMigrate.pm
> +++ b/PVE/QemuMigrate.pm
> @@ -663,9 +663,11 @@ sub phase2 {
>
> # always set migrate speed (overwrite kvm default of 32m)
> # we set a very hight default of 8192m which is basically unlimited
> - my $migrate_speed = $defaults->{migrate_speed} || 8192;
> - $migrate_speed = $conf->{migrate_speed} || $migrate_speed;
> - $migrate_speed = $migrate_speed * 1048576;
> + my $migrate_speed = $conf->{migrate_speed} // ($defaults->{migrate_speed} || 8192*1024);
> + #optionally override with $opt_bwlimit - with undef as storagelist
> + my $bwlimit = PVE::Storage::get_bandwidth_limit('migrate', undef, $opt_bwlimit);
> + $migrate_speed = $bwlimit // $migrate_speed;
> + $migrate_speed *= 1024;
> $self->log('info', "migrate_set_speed: $migrate_speed");
> eval {
> PVE::QemuServer::vm_mon_cmd_nocheck($vmid, "migrate_set_speed", value => int($migrate_speed));
>
More information about the pve-devel
mailing list