From 3beb415bd7f266934d8f51c3dba0e9b1d536b4a6 Mon Sep 17 00:00:00 2001 From: Alexandre Derumier Date: Thu, 27 Dec 2012 09:18:14 +0100 Subject: [PATCH] move qmp migrate_set_down && migrate_set_speed to qemumigrate so we can set the values when the vm is running also use int() to get json working Signed-off-by: Alexandre Derumier --- PVE/QemuMigrate.pm | 24 ++++++++++++++++++++++++ PVE/QemuServer.pm | 15 --------------- 2 files changed, 24 insertions(+), 15 deletions(-) diff --git a/PVE/QemuMigrate.pm b/PVE/QemuMigrate.pm index 07116816..9ca8f87e 100644 --- a/PVE/QemuMigrate.pm +++ b/PVE/QemuMigrate.pm @@ -327,6 +327,30 @@ sub phase2 { my $start = time(); + # load_defaults + my $defaults = PVE::QemuServer::load_defaults(); + + # 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; + $self->log('info', "migrate_set_speed: $migrate_speed"); + eval { + PVE::QemuServer::vm_mon_cmd_nocheck($vmid, "migrate_set_speed", value => int($migrate_speed)); + }; + $self->log('info', "migrate_set_speed error: $@") if $@; + + my $migrate_downtime = $defaults->{migrate_downtime}; + $migrate_downtime = $conf->{migrate_downtime} if defined($conf->{migrate_downtime}); + if (defined($migrate_downtime)) { + $self->log('info', "migrate_set_downtime: $migrate_downtime"); + eval { + PVE::QemuServer::vm_mon_cmd_nocheck($vmid, "migrate_set_downtime", value => int($migrate_downtime)); + }; + $self->log('info', "migrate_set_downtime error: $@") if $@; + } + my $capabilities = {}; $capabilities->{capability} = "xbzrle"; $capabilities->{state} = JSON::false; diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index 165eaf6b..92c7db79 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -2976,21 +2976,6 @@ sub vm_start { warn $@ if $@; } - # 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; - eval { - vm_mon_cmd_nocheck($vmid, "migrate_set_speed", value => $migrate_speed); - }; - - my $migrate_downtime = $defaults->{migrate_downtime}; - $migrate_downtime = $conf->{migrate_downtime} if defined($conf->{migrate_downtime}); - if (defined($migrate_downtime)) { - eval { vm_mon_cmd_nocheck($vmid, "migrate_set_downtime", value => $migrate_downtime); }; - } - if($migratedfrom) { my $capabilities = {}; $capabilities->{capability} = "xbzrle";