diff --git a/bitnami/openldap/2.6/debian-11/rootfs/opt/bitnami/scripts/libopenldap.sh b/bitnami/openldap/2.6/debian-11/rootfs/opt/bitnami/scripts/libopenldap.sh index 13bfb2546917..f850249c1ee0 100644 --- a/bitnami/openldap/2.6/debian-11/rootfs/opt/bitnami/scripts/libopenldap.sh +++ b/bitnami/openldap/2.6/debian-11/rootfs/opt/bitnami/scripts/libopenldap.sh @@ -196,12 +196,19 @@ is_ldap_not_running() { # None ######################### ldap_start_bg() { - local -a flags=("-h" "ldap://:${LDAP_PORT_NUMBER}/ ldapi:/// " "-F" "${LDAP_CONF_DIR}/slapd.d") + local -r retries="${1:-12}" + local -r sleep_time="${2:-1}" + + local -a flags=("-h" "ldap://:${LDAP_PORT_NUMBER}/ ldapi:/// " "-F" "${LDAP_CONF_DIR}/slapd.d" "-d" "$LDAP_LOGLEVEL") if is_ldap_not_running; then info "Starting OpenLDAP server in background" ulimit -n "$LDAP_ULIMIT_NOFILES" am_i_root && flags=("-u" "$LDAP_DAEMON_USER" "${flags[@]}") - debug_execute slapd "${flags[@]}" + debug_execute slapd "${flags[@]}"& + if ! retry_while is_ldap_running "$retries" "$sleep_time"; then + error "OpenLDAP failed to start" + return 1 + fi fi }