From 38dc94b774ad93e50bad0f60653080800ba00d53 Mon Sep 17 00:00:00 2001 From: Daniil Fedotov Date: Mon, 13 Aug 2018 11:49:09 +0100 Subject: Better warning and error messages in scripts. If advanced config file has a wrong extension and is to be used as a -config argument - the script should fail with an error. --- scripts/rabbitmq-server | 27 +++++++++++++++++++-------- scripts/rabbitmq-server.bat | 37 +++++++++++++++++++++++-------------- scripts/rabbitmq-service.bat | 37 +++++++++++++++++++++++-------------- 3 files changed, 65 insertions(+), 36 deletions(-) (limited to 'scripts') diff --git a/scripts/rabbitmq-server b/scripts/rabbitmq-server index 78faf063b7..a808de9d44 100755 --- a/scripts/rabbitmq-server +++ b/scripts/rabbitmq-server @@ -86,19 +86,15 @@ get_noex() { # Check that advanced config file has the .config extension # Add .config extension if it's empty + RABBITMQ_ADVANCED_CONFIG_FILE_NOEX=$(get_noex ${RABBITMQ_ADVANCED_CONFIG_FILE}) if [ "${RABBITMQ_ADVANCED_CONFIG_FILE_NOEX}.config" = "${RABBITMQ_ADVANCED_CONFIG_FILE}" \ -o "${RABBITMQ_ADVANCED_CONFIG_FILE_NOEX}" = "${RABBITMQ_ADVANCED_CONFIG_FILE}" ]; then RABBITMQ_ADVANCED_CONFIG_FILE="${RABBITMQ_ADVANCED_CONFIG_FILE_NOEX}.config" -else - echo "ERROR: Wrong extension for RABBITMQ_ADVANCED_CONFIG_FILE: ${RABBITMQ_ADVANCED_CONFIG_FILE}" - echo "ERROR: should be .config" - exit 1 fi RABBITMQ_CONFIG_FILE_NOEX=$(get_noex ${RABBITMQ_CONFIG_FILE}) - # Extension is not specified. # Determine config type from file @@ -114,8 +110,9 @@ if [ "${RABBITMQ_CONFIG_FILE_NOEX}" = "${RABBITMQ_CONFIG_FILE}" ]; then elif [ -f "${RABBITMQ_CONFIG_FILE_NOEX}.conf" ]; then RABBITMQ_CONFIG_FILE="${RABBITMQ_CONFIG_FILE_NOEX}.conf" else - echo "WARNING: Config file without extension does not exist" - echo "WARNING: Assuming the new config format is used" + if [ -f ${RABBITMQ_ADVANCED_CONFIG_FILE} ]; then + echo "WARNING: Using RABBITMQ_ADVANCED_CONFIG_FILE: ${RABBITMQ_ADVANCED_CONFIG_FILE}" + fi # No config file exist. Use advanced config for -config arg. RABBITMQ_CONFIG_ARG_FILE="${RABBITMQ_ADVANCED_CONFIG_FILE}" RABBITMQ_CONFIG_FILE="" @@ -137,11 +134,25 @@ elif [ "x" != "x${RABBITMQ_CONFIG_FILE}" \ -a "${RABBITMQ_CONFIG_FILE_NOEX}" != "${RABBITMQ_CONFIG_FILE}" ]; then # Config file has an extension, but it's neither .conf or .config echo "ERROR: Wrong extension for RABBITMQ_CONFIG_FILE: ${RABBITMQ_CONFIG_FILE}" - echo "ERROR: should be either .conf or .config" + echo "ERROR: extension should be either .conf or .config" exit 1 fi + # Set -config if the file exists +if [ "${RABBITMQ_CONFIG_ARG_FILE_NOEX}.config" != "${RABBITMQ_CONFIG_ARG_FILE}" ]; then + if [ "${RABBITMQ_CONFIG_ARG_FILE}" = "${RABBITMQ_ADVANCED_CONFIG_FILE}" ]; then + echo "ERROR: Wrong extension for RABBITMQ_ADVANCED_CONFIG_FILE: ${RABBITMQ_ADVANCED_CONFIG_FILE}" + echo "ERROR: extension should be .config" + exit 1 + else + # We should never got here, but still there should be some explanation + echo "ERROR: Wrong extension for ${RABBITMQ_CONFIG_ARG_FILE}" + echo "ERROR: extension should be .config" + exit 1 + fi +fi + if [ -f "${RABBITMQ_CONFIG_ARG_FILE}" ]; then RABBITMQ_CONFIG_ARG_FILE_NOEX=$(get_noex ${RABBITMQ_CONFIG_ARG_FILE}) RABBITMQ_CONFIG_ARG="-config ${RABBITMQ_CONFIG_ARG_FILE_NOEX}" diff --git a/scripts/rabbitmq-server.bat b/scripts/rabbitmq-server.bat index 196a61adc6..9c13f5f87e 100644 --- a/scripts/rabbitmq-server.bat +++ b/scripts/rabbitmq-server.bat @@ -64,16 +64,11 @@ CALL :get_noex !RABBITMQ_ADVANCED_CONFIG_FILE! RABBITMQ_ADVANCED_CONFIG_FILE_NOE if "!RABBITMQ_ADVANCED_CONFIG_FILE!" == "!RABBITMQ_ADVANCED_CONFIG_FILE_NOEX!" ( set RABBITMQ_ADVANCED_CONFIG_FILE=!RABBITMQ_ADVANCED_CONFIG_FILE_NOEX!.config -) else if not "!RABBITMQ_ADVANCED_CONFIG_FILE!" == "!RABBITMQ_ADVANCED_CONFIG_FILE_NOEX!.config" ( - echo "ERROR: Wrong extension for RABBITMQ_ADVANCED_CONFIG_FILE: !RABBITMQ_ADVANCED_CONFIG_FILE!" - echo "ERROR: should be .config" - exit /B 1 -) - -REM Try to create advanced config file, if it doesn't exist -REM It still can fail to be created, but at least not for default install -if not exist "!RABBITMQ_ADVANCED_CONFIG_FILE!" ( - echo []. > !RABBITMQ_ADVANCED_CONFIG_FILE! + REM Try to create advanced config file, if it doesn't exist + REM It still can fail to be created, but at least not for default install + if not exist "!RABBITMQ_ADVANCED_CONFIG_FILE!" ( + echo []. > !RABBITMQ_ADVANCED_CONFIG_FILE! + ) ) CALL :get_noex !RABBITMQ_CONFIG_FILE! RABBITMQ_CONFIG_FILE_NOEX @@ -81,7 +76,7 @@ CALL :get_noex !RABBITMQ_CONFIG_FILE! RABBITMQ_CONFIG_FILE_NOEX if "!RABBITMQ_CONFIG_FILE!" == "!RABBITMQ_CONFIG_FILE_NOEX!" ( if exist "!RABBITMQ_CONFIG_FILE_NOEX!.config" ( if exist "!RABBITMQ_CONFIG_FILE_NOEX!.conf" ( - # Both files exist. Print a warning + rem Both files exist. Print a warning echo "WARNING: Both old (.config) and new (.conf) format config files exist." echo "WARNING: Using the old format config file: !RABBITMQ_CONFIG_FILE_NOEX!.config" echo "WARNING: Please update your config files to the new format and remove the old file" @@ -90,9 +85,10 @@ if "!RABBITMQ_CONFIG_FILE!" == "!RABBITMQ_CONFIG_FILE_NOEX!" ( ) else if exist "!RABBITMQ_CONFIG_FILE_NOEX!.conf" ( set RABBITMQ_CONFIG_FILE=!RABBITMQ_CONFIG_FILE_NOEX!.conf ) else ( - echo "WARNING: Config file without extension does not exist" - echo "WARNING: Assuming the new config format is used" rem No config file exist. Use advanced config for -config arg. + if exist "!RABBITMQ_ADVANCED_CONFIG_FILE!" ( + echo "WARNING: Using RABBITMQ_ADVANCED_CONFIG_FILE: !RABBITMQ_ADVANCED_CONFIG_FILE!" + ) set RABBITMQ_CONFIG_ARG_FILE="!RABBITMQ_ADVANCED_CONFIG_FILE!" ) ) @@ -111,7 +107,20 @@ if "!RABBITMQ_CONFIG_FILE_NOEX!.config" == "!RABBITMQ_CONFIG_FILE" ( if not "!RABBITMQ_CONFIG_FILE_NOEX!" == "!RABBITMQ_CONFIG_FILE!" ( rem Config file has an extension, but it's neither .conf or .config echo "ERROR: Wrong extension for RABBITMQ_CONFIG_FILE: !RABBITMQ_CONFIG_FILE!" - echo "ERROR: should be either .conf or .config" + echo "ERROR: extension should be either .conf or .config" + exit /B 1 + ) +) + +if not "$!RABBITMQ_CONFIG_ARG_FILE_NOEX!.config" == "!RABBITMQ_CONFIG_ARG_FILE!" ( + if "!RABBITMQ_CONFIG_ARG_FILE!" == "!RABBITMQ_ADVANCED_CONFIG_FILE!" ( + echo "ERROR: Wrong extension for RABBITMQ_ADVANCED_CONFIG_FILE: !RABBITMQ_ADVANCED_CONFIG_FILE!" + echo "ERROR: extension should be .config" + exit /B 1 + ) else ( + rem We should never got here, but still there should be some explanation + echo "ERROR: Wrong extension for !RABBITMQ_CONFIG_ARG_FILE!" + echo "ERROR: extension should be .config" exit /B 1 ) ) diff --git a/scripts/rabbitmq-service.bat b/scripts/rabbitmq-service.bat index 8bafd0f7e9..5f47b155a2 100644 --- a/scripts/rabbitmq-service.bat +++ b/scripts/rabbitmq-service.bat @@ -147,16 +147,11 @@ CALL :get_noex !RABBITMQ_ADVANCED_CONFIG_FILE! RABBITMQ_ADVANCED_CONFIG_FILE_NOE if "!RABBITMQ_ADVANCED_CONFIG_FILE!" == "!RABBITMQ_ADVANCED_CONFIG_FILE_NOEX!" ( set RABBITMQ_ADVANCED_CONFIG_FILE=!RABBITMQ_ADVANCED_CONFIG_FILE_NOEX!.config -) else if not "!RABBITMQ_ADVANCED_CONFIG_FILE!" == "!RABBITMQ_ADVANCED_CONFIG_FILE_NOEX!.config" ( - echo "ERROR: Wrong extension for RABBITMQ_ADVANCED_CONFIG_FILE: !RABBITMQ_ADVANCED_CONFIG_FILE!" - echo "ERROR: should be .config" - exit /B 1 -) - -REM Try to create advanced config file, if it doesn't exist -REM It still can fail to be created, but at least not for default install -if not exist "!RABBITMQ_ADVANCED_CONFIG_FILE!" ( - echo []. > !RABBITMQ_ADVANCED_CONFIG_FILE! + REM Try to create advanced config file, if it doesn't exist + REM It still can fail to be created, but at least not for default install + if not exist "!RABBITMQ_ADVANCED_CONFIG_FILE!" ( + echo []. > !RABBITMQ_ADVANCED_CONFIG_FILE! + ) ) CALL :get_noex !RABBITMQ_CONFIG_FILE! RABBITMQ_CONFIG_FILE_NOEX @@ -164,7 +159,7 @@ CALL :get_noex !RABBITMQ_CONFIG_FILE! RABBITMQ_CONFIG_FILE_NOEX if "!RABBITMQ_CONFIG_FILE!" == "!RABBITMQ_CONFIG_FILE_NOEX!" ( if exist "!RABBITMQ_CONFIG_FILE_NOEX!.config" ( if exist "!RABBITMQ_CONFIG_FILE_NOEX!.conf" ( - # Both files exist. Print a warning + rem Both files exist. Print a warning echo "WARNING: Both old (.config) and new (.conf) format config files exist." echo "WARNING: Using the old format config file: !RABBITMQ_CONFIG_FILE_NOEX!.config" echo "WARNING: Please update your config files to the new format and remove the old file" @@ -173,9 +168,10 @@ if "!RABBITMQ_CONFIG_FILE!" == "!RABBITMQ_CONFIG_FILE_NOEX!" ( ) else if exist "!RABBITMQ_CONFIG_FILE_NOEX!.conf" ( set RABBITMQ_CONFIG_FILE=!RABBITMQ_CONFIG_FILE_NOEX!.conf ) else ( - echo "WARNING: Config file without extension does not exist" - echo "WARNING: Assuming the new config format is used" rem No config file exist. Use advanced config for -config arg. + if exist "!RABBITMQ_ADVANCED_CONFIG_FILE!" ( + echo "WARNING: Using RABBITMQ_ADVANCED_CONFIG_FILE: !RABBITMQ_ADVANCED_CONFIG_FILE!" + ) set RABBITMQ_CONFIG_ARG_FILE="!RABBITMQ_ADVANCED_CONFIG_FILE!" ) ) @@ -194,7 +190,20 @@ if "!RABBITMQ_CONFIG_FILE_NOEX!.config" == "!RABBITMQ_CONFIG_FILE" ( if not "!RABBITMQ_CONFIG_FILE_NOEX!" == "!RABBITMQ_CONFIG_FILE!" ( rem Config file has an extension, but it's neither .conf or .config echo "ERROR: Wrong extension for RABBITMQ_CONFIG_FILE: !RABBITMQ_CONFIG_FILE!" - echo "ERROR: should be either .conf or .config" + echo "ERROR: extension should be either .conf or .config" + exit /B 1 + ) +) + +if not "$!RABBITMQ_CONFIG_ARG_FILE_NOEX!.config" == "!RABBITMQ_CONFIG_ARG_FILE!" ( + if "!RABBITMQ_CONFIG_ARG_FILE!" == "!RABBITMQ_ADVANCED_CONFIG_FILE!" ( + echo "ERROR: Wrong extension for RABBITMQ_ADVANCED_CONFIG_FILE: !RABBITMQ_ADVANCED_CONFIG_FILE!" + echo "ERROR: extension should be .config" + exit /B 1 + ) else ( + rem We should never got here, but still there should be some explanation + echo "ERROR: Wrong extension for !RABBITMQ_CONFIG_ARG_FILE!" + echo "ERROR: extension should be .config" exit /B 1 ) ) -- cgit v1.2.1