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) = @_;
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);
$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");
}
}