This commit is contained in:
Josh Santos 2024-09-26 16:43:40 +03:00 committed by GitHub
commit b2b715723e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 66 additions and 126 deletions

View File

@ -13,19 +13,31 @@ fi
: ${USER:=${DB_ENV_POSTGRES_USER:=${POSTGRES_USER:='odoo'}}}
: ${PASSWORD:=${DB_ENV_POSTGRES_PASSWORD:=${POSTGRES_PASSWORD:='odoo'}}}
DB_ARGS=()
ODOO_ARGS=()
DB_ARGS=("-d" "postgres")
function check_config() {
param="$1"
value="$2"
pg_flag="$3"
if grep -q -E "^\s*\b${param}\b\s*=" "$ODOO_RC" ; then
value=$(grep -E "^\s*\b${param}\b\s*=" "$ODOO_RC" |cut -d " " -f3|sed 's/["\n\r]//g')
fi;
DB_ARGS+=("--${param}")
ODOO_ARGS+=("--${param}")
ODOO_ARGS+=("${value}")
# Only add to DB_ARGS if pg_flag is set
if [[ -n "$pg_flag" ]]; then
DB_ARGS+=("${pg_flag}")
DB_ARGS+=("${value}")
fi
}
check_config "db_host" "$HOST"
check_config "db_port" "$PORT"
check_config "db_user" "$USER"
check_config "db_host" "$HOST" "-h"
check_config "db_port" "$PORT" "-p"
check_config "db_user" "$USER" "-U"
check_config "db_password" "$PASSWORD"
case "$1" in
@ -34,13 +46,13 @@ case "$1" in
if [[ "$1" == "scaffold" ]] ; then
exec odoo "$@"
else
wait-for-psql.py ${DB_ARGS[@]} --timeout=30
exec odoo "$@" "${DB_ARGS[@]}"
pg_isready ${DB_ARGS[@]} --timeout=30
exec odoo "$@" "${ODOO_ARGS[@]}"
fi
;;
-*)
wait-for-psql.py ${DB_ARGS[@]} --timeout=30
exec odoo "$@" "${DB_ARGS[@]}"
pg_isready ${DB_ARGS[@]} --timeout=30
exec odoo "$@" "${ODOO_ARGS[@]}"
;;
*)
exec "$@"

View File

@ -1,32 +0,0 @@
#!/usr/bin/env python3
import argparse
import psycopg2
import sys
import time
if __name__ == '__main__':
arg_parser = argparse.ArgumentParser()
arg_parser.add_argument('--db_host', required=True)
arg_parser.add_argument('--db_port', required=True)
arg_parser.add_argument('--db_user', required=True)
arg_parser.add_argument('--db_password', required=True)
arg_parser.add_argument('--timeout', type=int, default=5)
args = arg_parser.parse_args()
start_time = time.time()
while (time.time() - start_time) < args.timeout:
try:
conn = psycopg2.connect(user=args.db_user, host=args.db_host, port=args.db_port, password=args.db_password, dbname='postgres')
error = ''
break
except psycopg2.OperationalError as e:
error = e
else:
conn.close()
time.sleep(1)
if error:
print("Database connection failure: %s" % error, file=sys.stderr)
sys.exit(1)

View File

@ -13,19 +13,31 @@ fi
: ${USER:=${DB_ENV_POSTGRES_USER:=${POSTGRES_USER:='odoo'}}}
: ${PASSWORD:=${DB_ENV_POSTGRES_PASSWORD:=${POSTGRES_PASSWORD:='odoo'}}}
DB_ARGS=()
ODOO_ARGS=()
DB_ARGS=("-d" "postgres")
function check_config() {
param="$1"
value="$2"
pg_flag="$3"
if grep -q -E "^\s*\b${param}\b\s*=" "$ODOO_RC" ; then
value=$(grep -E "^\s*\b${param}\b\s*=" "$ODOO_RC" |cut -d " " -f3|sed 's/["\n\r]//g')
fi;
DB_ARGS+=("--${param}")
ODOO_ARGS+=("--${param}")
ODOO_ARGS+=("${value}")
# Only add to DB_ARGS if pg_flag is set
if [[ -n "$pg_flag" ]]; then
DB_ARGS+=("${pg_flag}")
DB_ARGS+=("${value}")
fi
}
check_config "db_host" "$HOST"
check_config "db_port" "$PORT"
check_config "db_user" "$USER"
check_config "db_host" "$HOST" "-h"
check_config "db_port" "$PORT" "-p"
check_config "db_user" "$USER" "-U"
check_config "db_password" "$PASSWORD"
case "$1" in
@ -34,13 +46,13 @@ case "$1" in
if [[ "$1" == "scaffold" ]] ; then
exec odoo "$@"
else
wait-for-psql.py ${DB_ARGS[@]} --timeout=30
exec odoo "$@" "${DB_ARGS[@]}"
pg_isready ${DB_ARGS[@]} --timeout=30
exec odoo "$@" "${ODOO_ARGS[@]}"
fi
;;
-*)
wait-for-psql.py ${DB_ARGS[@]} --timeout=30
exec odoo "$@" "${DB_ARGS[@]}"
pg_isready ${DB_ARGS[@]} --timeout=30
exec odoo "$@" "${ODOO_ARGS[@]}"
;;
*)
exec "$@"

View File

@ -1,32 +0,0 @@
#!/usr/bin/env python3
import argparse
import psycopg2
import sys
import time
if __name__ == '__main__':
arg_parser = argparse.ArgumentParser()
arg_parser.add_argument('--db_host', required=True)
arg_parser.add_argument('--db_port', required=True)
arg_parser.add_argument('--db_user', required=True)
arg_parser.add_argument('--db_password', required=True)
arg_parser.add_argument('--timeout', type=int, default=5)
args = arg_parser.parse_args()
start_time = time.time()
while (time.time() - start_time) < args.timeout:
try:
conn = psycopg2.connect(user=args.db_user, host=args.db_host, port=args.db_port, password=args.db_password, dbname='postgres')
error = ''
break
except psycopg2.OperationalError as e:
error = e
else:
conn.close()
time.sleep(1)
if error:
print("Database connection failure: %s" % error, file=sys.stderr)
sys.exit(1)

View File

@ -13,19 +13,31 @@ fi
: ${USER:=${DB_ENV_POSTGRES_USER:=${POSTGRES_USER:='odoo'}}}
: ${PASSWORD:=${DB_ENV_POSTGRES_PASSWORD:=${POSTGRES_PASSWORD:='odoo'}}}
DB_ARGS=()
ODOO_ARGS=()
DB_ARGS=("-d" "postgres")
function check_config() {
param="$1"
value="$2"
pg_flag="$3"
if grep -q -E "^\s*\b${param}\b\s*=" "$ODOO_RC" ; then
value=$(grep -E "^\s*\b${param}\b\s*=" "$ODOO_RC" |cut -d " " -f3|sed 's/["\n\r]//g')
fi;
DB_ARGS+=("--${param}")
ODOO_ARGS+=("--${param}")
ODOO_ARGS+=("${value}")
# Only add to DB_ARGS if pg_flag is set
if [[ -n "$pg_flag" ]]; then
DB_ARGS+=("${pg_flag}")
DB_ARGS+=("${value}")
fi
}
check_config "db_host" "$HOST"
check_config "db_port" "$PORT"
check_config "db_user" "$USER"
check_config "db_host" "$HOST" "-h"
check_config "db_port" "$PORT" "-p"
check_config "db_user" "$USER" "-U"
check_config "db_password" "$PASSWORD"
case "$1" in
@ -34,13 +46,13 @@ case "$1" in
if [[ "$1" == "scaffold" ]] ; then
exec odoo "$@"
else
wait-for-psql.py ${DB_ARGS[@]} --timeout=30
exec odoo "$@" "${DB_ARGS[@]}"
pg_isready ${DB_ARGS[@]} --timeout=30
exec odoo "$@" "${ODOO_ARGS[@]}"
fi
;;
-*)
wait-for-psql.py ${DB_ARGS[@]} --timeout=30
exec odoo "$@" "${DB_ARGS[@]}"
pg_isready ${DB_ARGS[@]} --timeout=30
exec odoo "$@" "${ODOO_ARGS[@]}"
;;
*)
exec "$@"

View File

@ -1,32 +0,0 @@
#!/usr/bin/env python3
import argparse
import psycopg2
import sys
import time
if __name__ == '__main__':
arg_parser = argparse.ArgumentParser()
arg_parser.add_argument('--db_host', required=True)
arg_parser.add_argument('--db_port', required=True)
arg_parser.add_argument('--db_user', required=True)
arg_parser.add_argument('--db_password', required=True)
arg_parser.add_argument('--timeout', type=int, default=5)
args = arg_parser.parse_args()
start_time = time.time()
while (time.time() - start_time) < args.timeout:
try:
conn = psycopg2.connect(user=args.db_user, host=args.db_host, port=args.db_port, password=args.db_password, dbname='postgres')
error = ''
break
except psycopg2.OperationalError as e:
error = e
else:
conn.close()
time.sleep(1)
if error:
print("Database connection failure: %s" % error, file=sys.stderr)
sys.exit(1)