[pve-devel] [PatchV3 guest-common 1/6] Cleanup for stateless jobs.

Wolfgang Bumiller w.bumiller at proxmox.com
Tue May 8 10:25:20 CEST 2018


On Tue, May 08, 2018 at 08:29:56AM +0200, Wolfgang Link wrote:
> If a VM configuration has been manually moved or recovered by HA,
> there is no status on this new node.
> In this case, the replication snapshots still exist on the remote side.
> It must be possible to remove a job without status,
> otherwise, a new replication job on the same remote node will fail
> and the disks will have to be manually removed.
> When searching through the sorted_volumes generated from the VMID.conf,
> we can be sure that every disk will be removed in the event
> of a complete job removal on the remote side.
> 
> In the end, the remote_prepare_local_job calls on the remote side a prepare.
> ---
>  PVE/Replication.pm | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/PVE/Replication.pm b/PVE/Replication.pm
> index ce267fe..89a9572 100644
> --- a/PVE/Replication.pm
> +++ b/PVE/Replication.pm
> @@ -214,8 +214,10 @@ sub replicate {
>  
>  	if ($remove_job eq 'full' && $jobcfg->{target} ne $local_node) {
>  	    # remove all remote volumes
> +	    my $store_list = [ map { (PVE::Storage::parse_volume_id($_))[0] } @$sorted_volids ];

Shouldn't we deduplicate entries here?

> +
>  	    my $ssh_info = PVE::Cluster::get_ssh_info($jobcfg->{target});
> -	    remote_prepare_local_job($ssh_info, $jobid, $vmid, [], $state->{storeid_list}, 0, undef, 1, $logfunc);
> +	    remote_prepare_local_job($ssh_info, $jobid, $vmid, [], $store_list, 0, undef, 1, $logfunc);
>  
>  	}
>  	# remove all local replication snapshots (lastsync => 0)
> -- 
> 2.11.0



More information about the pve-devel mailing list