From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <f.ebner@proxmox.com>
Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by lists.proxmox.com (Postfix) with ESMTPS id B3ED760250
 for <pve-devel@lists.proxmox.com>; Wed, 14 Oct 2020 13:37:06 +0200 (CEST)
Received: from firstgate.proxmox.com (localhost [127.0.0.1])
 by firstgate.proxmox.com (Proxmox) with ESMTP id 664128F62
 for <pve-devel@lists.proxmox.com>; Wed, 14 Oct 2020 13:36:36 +0200 (CEST)
Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com
 [212.186.127.180])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (2048 bits))
 (No client certificate requested)
 by firstgate.proxmox.com (Proxmox) with ESMTPS id 842378E6A
 for <pve-devel@lists.proxmox.com>; Wed, 14 Oct 2020 13:36:34 +0200 (CEST)
Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1])
 by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 4A65245D5D
 for <pve-devel@lists.proxmox.com>; Wed, 14 Oct 2020 13:36:34 +0200 (CEST)
From: Fabian Ebner <f.ebner@proxmox.com>
To: pve-devel@lists.proxmox.com
Date: Wed, 14 Oct 2020 13:36:23 +0200
Message-Id: <20201014113628.14286-1-f.ebner@proxmox.com>
X-Mailer: git-send-email 2.20.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-SPAM-LEVEL: Spam detection results:  0
 AWL -0.045 Adjusted score from AWL reputation of From: address
 KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment
 RCVD_IN_DNSWL_MED        -2.3 Sender listed at https://www.dnswl.org/,
 medium trust
 SPF_HELO_NONE           0.001 SPF: HELO does not publish an SPF Record
 SPF_PASS               -0.001 SPF: sender matches SPF record
 URIBL_BLOCKED 0.001 ADMINISTRATOR NOTICE: The query to URIBL was blocked. See
 http://wiki.apache.org/spamassassin/DnsBlocklists#dnsbl-block for more
 information. [proxmox.com, replication.pm, replicationconfig.pm]
Subject: [pve-devel] [PATCH-SERIES] remove replicated volumes on guest purge
X-BeenThere: pve-devel@lists.proxmox.com
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Proxmox VE development discussion <pve-devel.lists.proxmox.com>
List-Unsubscribe: <https://lists.proxmox.com/cgi-bin/mailman/options/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=unsubscribe>
List-Archive: <http://lists.proxmox.com/pipermail/pve-devel/>
List-Post: <mailto:pve-devel@lists.proxmox.com>
List-Help: <mailto:pve-devel-request@lists.proxmox.com?subject=help>
List-Subscribe: <https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel>, 
 <mailto:pve-devel-request@lists.proxmox.com?subject=subscribe>
X-List-Received-Date: Wed, 14 Oct 2020 11:37:06 -0000

Introduces two helper functions in Replication.pm and ReplicationConfig.pm
so that the guests can do the removal easily.

destroy_vm contains a check whether the guest is still in use by a
linked clone (in the LXC case triggered by the storage backend at vdisk_free),
so that needs to happen first.
That check could be factored out and removing replicated volumes moved
to before destroy_vm, but I feel like it's cleaner to first destroy the
VM and do all related cleanups later (as it is now).

The problem is that the guest config does not contain any volumes
after destroy_vm, and run_full_removal would do nothing, because
on removal, run_replication currently only considers storages that
show up in the config and not those from the replication job state.

Therefore, this depends on the following patch to be applied first:
https://lists.proxmox.com/pipermail/pve-devel/2020-October/045386.html

Dependency bumps: qemu-server,pve-container -> pve-guest-common
are needed for patches #2 and #3
and I think the reverse bumps are needed for patch #4

-- 
2.20.1