On 2/20/19 1:22 AM, Alexandre Derumier wrote:
> ---
>  PVE/Makefile               |   1 +
>  PVE/QemuMigrateExternal.pm | 872 
> +++++++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 873 insertions(+)
>  create mode 100644 PVE/QemuMigrateExternal.pm
> 
> diff --git a/PVE/Makefile b/PVE/Makefile
> index 2c800f6..0494cfb 100644
> --- a/PVE/Makefile
> +++ b/PVE/Makefile
> @@ -1,6 +1,7 @@
>  PERLSOURCE =                         \
>       QemuServer.pm           \
>       QemuMigrate.pm          \
> +     QemuMigrateExternal.pm  \
>       QMPClient.pm            \
>       QemuConfig.pm
>  
> diff --git a/PVE/QemuMigrateExternal.pm b/PVE/QemuMigrateExternal.pm
> new file mode 100644
> index 0000000..dd6a1d9
> --- /dev/null
> +++ b/PVE/QemuMigrateExternal.pm
> @@ -0,0 +1,872 @@
> +package PVE::QemuMigrateExternal;
> +
> +use strict;
> +use warnings;
> +use PVE::AbstractMigrate;
> +use IO::File;
> +use IPC::Open2;
> +use POSIX qw( WNOHANG );
> +use PVE::INotify;
> +use PVE::Tools;
> +use PVE::Cluster;
> +use PVE::Storage;
> +use PVE::QemuServer;
> +use Time::HiRes qw( usleep );
> +use PVE::RPCEnvironment;
> +use PVE::ReplicationConfig;
> +use PVE::ReplicationState;
> +use PVE::Replication;
> +use Storable qw(dclone);
> +
> +use base qw(PVE::AbstractMigrate);

I do not like the completel full duplication of QemuMigrate, how about using
the exisitng "PVE::QemuMigrate" migrate as base for this and changing only 
really
those methods which need to be changed? Maybe we even can split it up a little 
bit
more so that you only need to overwrite a handful of rather small methods (no 
full
phases)? 

Looking at a diff between existing QemuMigrate and your External one, maybe:

* one to get the ssh command
* one to get the target vmid (for the common case it would just return $vmid)
* one to get the remote start command
* ...?

Do you think that could be dooable and make sense? We can also expand 
AbstractMigrate
if we can formulate the stuff we need for this in more general ways, i.e., I'd 
like
to not put to much "for ext. migrate only" methods there as long as this is seen
experimental.

_______________________________________________
pve-devel mailing list
[email protected]
https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to