From 19563122553c6d6246f8c2096a3f28329a1d2a02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beno=C3=AEt=20Peccatte?= Date: Wed, 26 Apr 2023 11:15:56 +0200 Subject: [PATCH] Fixes #22689: silent rudder-upgrade failure / plugins were not upgraded when upgrading from 7.2.5 to 7.3.1~nightly --- rudder-server/SOURCES/rudder-server-postinst | 21 +++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/rudder-server/SOURCES/rudder-server-postinst b/rudder-server/SOURCES/rudder-server-postinst index 99a252cc3..1331c4238 100755 --- a/rudder-server/SOURCES/rudder-server-postinst +++ b/rudder-server/SOURCES/rudder-server-postinst @@ -37,13 +37,24 @@ echo "`date` - Starting rudder-server post installation script" >> ${LOG_FILE} # check if a db is configured CREATE_DB="true" -if [ -f /opt/rudder/etc/rudder-web.properties ] && grep -q rudder.jdbc.url /opt/rudder/etc/rudder-web.properties +if [ -f /opt/rudder/etc/rudder-web.properties ] then - # if it is an external DB, do not run - if ! grep -qE 'rudder.jdbc.url=jdbc:postgresql://(localhost|127\.0\.)' /opt/rudder/etc/rudder-web.properties + if grep -q rudder.jdbc.url /opt/rudder/etc/rudder-web.properties then - echo "INFO: External database detected, skipping rudder-reports postinst" - CREATE_DB="false" + # if it is an external DB, do not run + if ! grep -qE 'rudder.jdbc.url=jdbc:postgresql://(localhost|127\.0\.)' /opt/rudder/etc/rudder-web.properties + then + echo "INFO: External database detected, skipping database creation" + CREATE_DB="false" + else + USER=$(grep rudder.jdbc.username /opt/rudder/etc/rudder-web.properties) + CHK_PG_USER=$(su postgres -c "psql -t -c \"select count(1) from pg_user where usename = '${USERNAME}'\"") + if [ ${CHK_PG_DB} -ne 0 ] + then + echo "INFO: Existing database detected, skipping database creation" + CREATE_DB="false" + fi + fi fi fi