From: Wolfgang Bumiller Date: Thu, 21 May 2015 13:19:35 +0000 (+0200) Subject: migration: put the source address in brackets X-Git-Url: https://git.proxmox.com/?p=qemu-server.git;a=commitdiff_plain;h=2fbd27eabcd792103d920f4036f485c3e61c0cb8 migration: put the source address in brackets Always adding brackets around the address works. They're required for ipv6 and qemu also accepts them for ipv4 and hostnames. --- diff --git a/PVE/QemuMigrate.pm b/PVE/QemuMigrate.pm index 5eb488f..264a2a7 100644 --- a/PVE/QemuMigrate.pm +++ b/PVE/QemuMigrate.pm @@ -334,7 +334,7 @@ sub phase2 { PVE::Tools::run_command($cmd, input => $spice_ticket, outfunc => sub { my $line = shift; - if ($line =~ m/^migration listens on tcp:([\d\.]+|localhost):(\d+)$/) { + if ($line =~ m/^migration listens on tcp:\[([\d\.:a-fA-F]+|localhost)\]:(\d+)$/) { $raddr = $1; $rport = int($2); } @@ -418,10 +418,10 @@ sub phase2 { } eval { - PVE::QemuServer::vm_mon_cmd_nocheck($vmid, "migrate", uri => "tcp:$raddr:$rport"); + PVE::QemuServer::vm_mon_cmd_nocheck($vmid, "migrate", uri => "tcp:[$raddr]:$rport"); }; my $merr = $@; - $self->log('info', "migrate uri => tcp:$raddr:$rport failed: $merr") if $merr; + $self->log('info', "migrate uri => tcp:[$raddr]:$rport failed: $merr") if $merr; my $lstat = 0; my $usleep = 2000000; diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index 3ac0eae..19fcf49 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -4202,7 +4202,7 @@ sub vm_start { } my $pfamily = PVE::Tools::get_host_address_family($nodename); $migrate_port = PVE::Tools::next_migrate_port($pfamily); - $migrate_uri = "tcp:${localip}:${migrate_port}"; + $migrate_uri = "tcp:[${localip}]:${migrate_port}"; push @$cmd, '-incoming', $migrate_uri; push @$cmd, '-S'; } else {