]> git.proxmox.com Git - pve-container.git/blobdiff - src/lxc-pve-prestart-hook
fix #4355: d/control: depend on binutils to ensure objdump is available
[pve-container.git] / src / lxc-pve-prestart-hook
index fac587e996d417e39aa60525aa067cac8d37be28..2911e1be7bb7587eb0e820a4cc3083efa3bc1cd8 100755 (executable)
@@ -15,11 +15,22 @@ use PVE::LXC::Config;
 use PVE::LXC::Setup;
 use PVE::LXC::Tools;
 use PVE::LXC;
+use PVE::RESTEnvironment;
 use PVE::SafeSyslog;
 use PVE::Storage;
 use PVE::Syscall qw(:fsmount);
 use PVE::Tools qw(AT_FDCWD O_PATH);
 
+my $WARNFD;
+sub log_warn {
+    my ($vmid, $message) = @_;
+
+    if (!defined($WARNFD)) {
+       open($WARNFD, '>', "/run/pve/ct-${vmid}.warnings");
+    }
+    print $WARNFD "$message\n";
+}
+
 PVE::LXC::Tools::lxc_hook('pre-start', 'lxc', sub {
     my ($vmid, $vars, undef, undef) = @_;
 
@@ -29,6 +40,8 @@ PVE::LXC::Tools::lxc_hook('pre-start', 'lxc', sub {
 
     PVE::Cluster::check_cfs_quorum(); # only start if we have quorum
 
+    PVE::RESTEnvironment->setup_default_cli_env();
+
     return undef if ! -f PVE::LXC::Config->config_file($vmid);
 
     my $conf = PVE::LXC::Config->load_config($vmid);
@@ -128,7 +141,9 @@ PVE::LXC::Tools::lxc_hook('pre-start', 'lxc', sub {
     $lxc_setup->pre_start_hook();
 
     if (PVE::CGroup::cgroup_mode() == 2) {
-       if(!$lxc_setup->unified_cgroupv2_support()) {
+       if (!$lxc_setup->unified_cgroupv2_support()) {
+           log_warn($vmid, "old systemd (< v232) detected, container won't run in a pure cgroupv2"
+               ." environment! Please see documentation -> container -> cgroup version.");
            syslog('err', "CT $vmid does not support running in a pure cgroupv2 environment\n");
        }
     }