[pve-devel] [PATCH 1/3] move qmp migrate_set_down && migrate_set_speed to qemumigrate

Alexandre DERUMIER aderumier at odiso.com
Thu Dec 27 09:55:42 CET 2012


>>qemu docs say that a value of 0 is unlimited to maybe we should change 
>>
Are you sure ? any link to doc ?
AFAIK, libvirt set also a big value for set_migrate_speed



----- Mail original ----- 

De: "Stefan Priebe" <s.priebe at profihost.ag> 
À: "Alexandre Derumier" <aderumier at odiso.com> 
Cc: pve-devel at pve.proxmox.com 
Envoyé: Jeudi 27 Décembre 2012 09:25:11 
Objet: Re: [pve-devel] [PATCH 1/3] move qmp migrate_set_down && migrate_set_speed to qemumigrate 

Hi Alexandre, 

qemu docs say that a value of 0 is unlimited to maybe we should change 
this to: 

+ # 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; 

+ # always set migrate speed (overwrite kvm default of 32m) 
+ # we set a very hight default of 0 which is unlimited 
+ my $migrate_speed = $defaults->{migrate_speed} || 0; 

Stefan 

Am 27.12.2012 09:18, schrieb Alexandre Derumier: 
> so we can set the values when the vm is running 
> also use int() to get json working 
> 
> Signed-off-by: Alexandre Derumier <aderumier at odiso.com> 
> --- 
> 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 0711681..9ca8f87 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 165eaf6..92c7db7 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"; 
> 



More information about the pve-devel mailing list