[pve-devel] [PATCH 1/3] add live storage migration with vm migration
Wolfgang Bumiller
w.bumiller at proxmox.com
Wed Oct 12 11:41:59 CEST 2016
On Wed, Oct 12, 2016 at 09:44:25AM +0200, Thomas Lamprecht wrote:
> > die "can't migrate VM which uses local devices\n";
> > } else {
> > $self->log('info', "migrating VM which uses local devices");
> >@@ -182,12 +184,16 @@ sub prepare {
> > my $vollist = PVE::QemuServer::get_vm_volumes($conf);
> > my $need_activate = [];
> >+ my $unsharedcount = 0;
> > foreach my $volid (@$vollist) {
> > my ($sid, $volname) = PVE::Storage::parse_volume_id($volid, 1);
> > # check if storage is available on both nodes
> > my $scfg = PVE::Storage::storage_check_node($self->{storecfg}, $sid);
> >- PVE::Storage::storage_check_node($self->{storecfg}, $sid, $self->{node});
> >+ my $targetsid = $sid;
> >+ $targetsid = $self->{opts}->{targetstorage} if $self->{opts}->{targetstorage};
> >+
> we often use
>
> my $targetsid = $self->{opts}->{targetstorage} || $sid;
Or assign the long one first and use
$targetsid = $sid if !$targetsid;
as second line (which is btw. what our new style guide suggests ;-)
(as a preference))
> >+ elsif ($line =~ m/^storage migration listens on nbd:(localhost|[\d\.]+|\[[\d\.:a-fA-F]+\]):(\d+):exportname=(\S+) volume:(\S+)$/) {
> we have a regex for valid IP v4/v6 addresses, maybe use that here
That's fine, this part of the regex is copied from existing code and
handles domains/hostnames in addition to addresses; wouldn't get any
less complex when testing them separately.
More information about the pve-devel
mailing list