[bitnami/openldap] Fix timing issue where openldap is not yet ready (#22112)

* Fix timing issue where openldap is not yet ready

Signed-off-by: tatankat <tatankat@users.noreply.github.com>

* Rename is_ldap_answering to is_ldap_ready and doc cleanup

Signed-off-by: tatankat <tatankat@users.noreply.github.com>

* Skip SC2015 as this works as intended

Signed-off-by: tatankat <tatankat@users.noreply.github.com>

---------

Signed-off-by: tatankat <tatankat@users.noreply.github.com>
This commit is contained in:
tatankat
2023-02-02 16:44:01 +01:00
committed by GitHub
parent b901cb124a
commit c163e2e95e
@@ -150,6 +150,18 @@ ldap_validate() {
[[ "$error_code" -eq 0 ]] || exit "$error_code"
}
########################
# Check if OpenLDAP is ready to answer
# Arguments:
# None
# Returns:
# Whether slapd is ready to answer
#########################
is_ldap_ready() {
# shellcheck disable=SC2015
is_ldap_running && debug_execute ldapsearch -Y EXTERNAL -H "ldapi:///" -b cn=config -s base || false
}
########################
# Check if OpenLDAP is running
# Globals:
@@ -197,7 +209,7 @@ ldap_start_bg() {
ulimit -n "$LDAP_ULIMIT_NOFILES"
am_i_root && flags=("-u" "$LDAP_DAEMON_USER" "${flags[@]}")
debug_execute slapd "${flags[@]}" &
if ! retry_while is_ldap_running "$retries" "$sleep_time"; then
if ! retry_while is_ldap_ready "$retries" "$sleep_time"; then
error "OpenLDAP failed to start"
return 1
fi