[pve-devel] [PATCH v2 container 2/2] clear /etc/machine-id also after container clone

Oguz Bektas o.bektas at proxmox.com
Wed May 26 16:18:40 CEST 2021


pass $clone=1 to avoid removing the file. instead we truncate it to an
empty file

Signed-off-by: Oguz Bektas <o.bektas at proxmox.com>
---

 src/PVE/API2/LXC.pm | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/src/PVE/API2/LXC.pm b/src/PVE/API2/LXC.pm
index a9ea3a6..413f466 100644
--- a/src/PVE/API2/LXC.pm
+++ b/src/PVE/API2/LXC.pm
@@ -1594,7 +1594,24 @@ __PACKAGE__->register_method({
 	};
 
 	PVE::Firewall::clone_vmfw_conf($vmid, $newid);
-	return $rpcenv->fork_worker('vzclone', $vmid, $authuser, $realcmd);
+
+	my $task = eval {
+	    return $rpcenv->fork_worker('vzclone', $vmid, $authuser, $realcmd);
+	};
+	if (my $err = $@) {
+	    warn $@ if $@;
+	    die $err;
+	}
+
+	my $lastconf = PVE::LXC::Config->load_config($newid);
+	my $rootdir = PVE::LXC::mount_all($newid, $storecfg, $lastconf, 1);
+	my $lxc_setup = PVE::LXC::Setup->new($lastconf, $rootdir);
+	$lxc_setup->clear_machine_id($lastconf, 1);
+	PVE::LXC::umount_all($newid, $storecfg, $lastconf, 1);
+
+	return $task;
+
+
     }});
 
 
-- 
2.20.1





More information about the pve-devel mailing list