use Cwd qw(getcwd);
use File::Path;
use File::Basename;
+use Time::HiRes qw(usleep);
+
use PVE::Tools qw(run_command);
use PVE::Cluster;
use PVE::INotify;
returns => { type => 'null' },
code => sub {
my ($param) = @_;
+ my ($force_new_cert, $silent) = $param->@{qw(force silent)};
# we get called by the pveproxy.service ExecStartPre and as we do
# IO (on /etc/pve) which can hang (uninterruptedly D state). That'd be
# no-good for ExecStartPre as it fails the whole service in this case
PVE::Tools::run_fork_with_timeout(30, sub {
- PVE::Cluster::Setup::updatecerts_and_ssh($param->@{qw(force silent)});
+ PVE::Cluster::Setup::generate_local_files();
+
+ for (my $i = 0; !PVE::Cluster::check_cfs_quorum(1); $i++) {
+ print "waiting for pmxcfs mount to appear and get quorate...\n" if $i % 50 == 0;
+ usleep(100 * 1000);
+ }
+
+ PVE::Cluster::Setup::updatecerts_and_ssh($force_new_cert, $silent);
PVE::Cluster::prepare_observed_file_basedirs();
});