Try harder to restart ldap, if it's failing

In case it won't restart, restart all zimbra services, prevents mailboxd going crasy and filling GB of logs about not being able to contact LDAP
This commit is contained in:
Daniel Berteaud 2019-12-03 15:02:47 +01:00
parent ba36653cd4
commit 2592b82c31
1 changed files with 18 additions and 1 deletions

View File

@ -101,7 +101,24 @@ if ( $opt->{pre} ) {
log_info("No service were shutted down");
} elsif ($opt->{shutdown} eq 'ldap' and -e '/opt/zimbra/bin/ldap'){
log_info("Starting Zimbra LDAP service");
system("/opt/zimbra/bin/ldap start");
my $try = 0;
my $running = 0;
while ($try < 20) {
system("/opt/zimbra/bin/ldap start");
sleep 1;
if (system("/opt/zimbra/bin/ldap status") == 0){
$running = 1;
last;
} else {
log_info('ldap service not running, trying again to start it');
$try++;
}
}
# Couldn't start ldap ? Restart all the services
if (not $running){
log_info("Failed to restart ldap, restarting all Zimbra services");
system('systemctl restart zimbra');
}
} else {
log_info("Starting Zimbra services");
system('systemctl start zimbra');