[pve-devel] [PATCH container] fix issue where ttys aren't correctly set after restore

Oguz Bektas o.bektas at proxmox.com
Tue Sep 10 15:27:30 CEST 2019


restore from unpriv to priv causes a problem with the log-in, since the
/etc/securetty file isn't modified after a restore to reflect the change
(/dev/lxc/tty1 and so on).

template_fixup is normally called in post_create_hook, but we have no $password
or $ssh_keys to call the hook with during restore. instead we call template_fixup by
itself to fix the ttys on some distributions.

Signed-off-by: Oguz Bektas <o.bektas at proxmox.com>
---
 src/PVE/API2/LXC.pm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/PVE/API2/LXC.pm b/src/PVE/API2/LXC.pm
index 26c4f88..738556b 100644
--- a/src/PVE/API2/LXC.pm
+++ b/src/PVE/API2/LXC.pm
@@ -413,10 +413,11 @@ __PACKAGE__->register_method({
 		    $bwlimit = PVE::Storage::get_bandwidth_limit('restore', [keys %used_storages], $bwlimit);
 		    PVE::LXC::Create::restore_archive($archive, $rootdir, $conf, $ignore_unpack_errors, $bwlimit);
 
+		    my $lxc_setup = PVE::LXC::Setup->new($conf, $rootdir); # detect OS
 		    if ($restore) {
 			PVE::LXC::Create::restore_configuration($vmid, $rootdir, $conf, !$is_root, $unique, $skip_fw_config_restore);
+			$lxc_setup->template_fixup($conf);
 		    } else {
-			my $lxc_setup = PVE::LXC::Setup->new($conf, $rootdir); # detect OS
 			PVE::LXC::Config->write_config($vmid, $conf); # safe config (after OS detection)
 			$lxc_setup->post_create_hook($password, $ssh_keys);
 		    }
-- 
2.20.1




More information about the pve-devel mailing list