modules/enterprise/agent/src/etc/rhq-agent-env.bat | 18 ++- modules/enterprise/agent/src/etc/rhq-agent-wrapper.bat | 33 +++++- modules/enterprise/agent/src/etc/rhq-agent.bat | 33 +++--- modules/enterprise/server/appserver/src/main/bin-resources/bin/internal/rhq-server.bat | 50 +++++++--- modules/enterprise/server/appserver/src/main/bin-resources/bin/internal/rhq-storage-installer.bat | 13 ++ modules/enterprise/server/appserver/src/main/bin-resources/bin/internal/rhq-storage.bat | 50 +++++++--- modules/enterprise/server/appserver/src/main/bin-resources/bin/wrapper/rhq-server-wrapper.conf | 8 - modules/enterprise/server/appserver/src/main/bin-resources/bin/wrapper/rhq-storage-wrapper.conf | 8 - 8 files changed, 146 insertions(+), 67 deletions(-)
New commits: commit d769ac141cc0ea09dbb5ffaeaec596a9633d7732 Author: Jay Shaughnessy jshaughn@redhat.com Date: Wed Nov 27 17:33:24 2013 -0500
[1023019] Windows 2008 - Upgrade to JON3.2.ER3 freezes on 'Updating RHQ Agent Service' rhqctl-based installs will now exit if the password is not set when the RUN_AS option is specified. The RHQ_XXX_PASSWORD_PROMPT env vars are no longer relevant or documented for rhqctl-based installs. Note that the agent is typically installed standalone, outside of rhqctl, and in that case the RHQ_AGENT_PASSWORD_PROMPT env var is still relevant.
Additionally, rhq-agent.bat had some newly discovered problems handling certain options (32-bit java install, I think), and has had a decent amount of reworking to deal with the issues.
diff --git a/modules/enterprise/agent/src/etc/rhq-agent-env.bat b/modules/enterprise/agent/src/etc/rhq-agent-env.bat index 56485a1..eb1be8e 100644 --- a/modules/enterprise/agent/src/etc/rhq-agent-env.bat +++ b/modules/enterprise/agent/src/etc/rhq-agent-env.bat @@ -157,20 +157,24 @@ rem set RHQ_AGENT_RUN_AS=.%USERNAME% rem RHQ_AGENT_RUN_AS_ME - if defined, then when the Windows Service is rem installed, the domain\username of the rem user that the Windows Service will run as will -rem be the current user (.%USERNAME%). This takes +rem be the current user (.%USERNAME%). This takes rem precedence over RHQ_AGENT_RUN_AS. rem rem set RHQ_AGENT_RUN_AS_ME=true
-rem RHQ_AGENT_PASSWORD_PROMPT - if "true", the user that is to run the -rem service (as defined by RHQ_AGENT_RUN_AS or -rem RHQ_AGENT_RUN_AS_ME) must type the password +rem RHQ_AGENT_PASSWORD_PROMPT - ignored unless RHQ_AGENT_RUN_AS or +rem RHQ_AGENT_RUN_AS_ME is in use. +rem Ignored by 'rhqctl install', in which case +rem RHQ_AGENT_PASSWORD is required. +rem Used only when installing the agent as a +rem service via 'rhq-agent-wrapper.bat install'. +rem If "true", the user that is to +rem run the service must type the password rem on the console in order to install service. rem If "false", you must provide the password rem in RHQ_AGENT_PASSWORD. Default is "true". -rem This is only used when installing the -rem service; it is not needed to be set when -rem starting, stopping or removing the service. +rem It is not needed to be set when starting, +rem stopping or removing the service. rem rem set RHQ_AGENT_PASSWORD_PROMPT=true
diff --git a/modules/enterprise/agent/src/etc/rhq-agent-wrapper.bat b/modules/enterprise/agent/src/etc/rhq-agent-wrapper.bat index debbebb..90e9666 100644 --- a/modules/enterprise/agent/src/etc/rhq-agent-wrapper.bat +++ b/modules/enterprise/agent/src/etc/rhq-agent-wrapper.bat @@ -28,7 +28,7 @@ rem If the embedded JRE is to be used but is not available, the fallback rem JRE to be used will be determined by the JAVA_HOME environment variable. rem ===========================================================================
-setlocal +setlocal enabledelayedexpansion
rem ---------------------------------------------------------------------- rem Let's load in the env script first. We assume our custom environment @@ -121,13 +121,32 @@ rem Determine if there should be debug VM options passed into it rem For some reason, this can't go inside another if statement if defined RHQ_AGENT_DEBUG set _DEBUG_OPTS=wrapper.debug=true wrapper.java.additional.1=-Dlog4j.configuration=log4j-debug.xml wrapper.java.additional.4=-Di18nlog.dump-stack-traces=true wrapper.java.additional.5=-Dsigar.nativeLogging=true
-rem Determine what user the Windows Service will run as -if defined RHQ_AGENT_RUN_AS set _WRAPPER_NTSERVICE_ACCOUNT="wrapper.ntservice.account=%RHQ_AGENT_RUN_AS%" -if defined RHQ_AGENT_RUN_AS_ME set _WRAPPER_NTSERVICE_ACCOUNT="wrapper.ntservice.account=.%USERNAME%" -if not defined RHQ_AGENT_PASSWORD_PROMPT set RHQ_AGENT_PASSWORD_PROMPT=true - if /i "%1"=="install" ( - "%RHQ_AGENT_WRAPPER_EXE_FILE_PATH%" -i "%RHQ_AGENT_WRAPPER_CONF_FILE_PATH%" "set.RHQ_AGENT_HOME=%RHQ_AGENT_HOME%" "set.RHQ_AGENT_INSTANCE_NAME=%RHQ_AGENT_INSTANCE_NAME%" "set.RHQ_JAVA_EXE_FILE_PATH=%RHQ_JAVA_EXE_FILE_PATH%" "set.RHQ_AGENT_OS_PLATFORM=%RHQ_AGENT_OS_PLATFORM%" "set.RHQ_AGENT_WRAPPER_LOG_DIR_PATH=%RHQ_AGENT_WRAPPER_LOG_DIR_PATH%" %_WRAPPER_NTSERVICE_ACCOUNT% %_DEBUG_OPTS% + rem Determine what user the Windows Service will run as + rem If this is an rhqctl install then ensure password is set as needed because we can't perform interactive prompt + rem Note - using the RHQ_CONTROL_JAVA_OPTS env var as a flag indicating we're being called from rhqctl + if defined RHQ_CONTROL_JAVA_OPTS ( + if defined RHQ_AGENT_RUN_AS ( + if not defined RHQ_AGENT_PASSWORD ( + echo Exiting. RHQ_AGENT_PASSWORD is not set but is required because RHQ_AGENT_RUN_AS is set: %RHQ_AGENT_RUN_AS%. + exit /B 1 + ) + set _WRAPPER_NTSERVICE_ACCOUNT="wrapper.ntservice.account=%RHQ_AGENT_RUN_AS%" + ) + if defined RHQ_AGENT_RUN_AS_ME ( + if not defined RHQ_AGENT_PASSWORD ( + echo Exiting. RHQ_AGENT_PASSWORD is not set but is required because RHQ_AGENT_RUN_AS_ME is set. + exit /B 1 + ) + set _WRAPPER_NTSERVICE_ACCOUNT="wrapper.ntservice.account=.%USERNAME%" + ) + ) else ( + if defined RHQ_AGENT_RUN_AS set _WRAPPER_NTSERVICE_ACCOUNT="wrapper.ntservice.account=%RHQ_AGENT_RUN_AS%" + if defined RHQ_AGENT_RUN_AS_ME set _WRAPPER_NTSERVICE_ACCOUNT="wrapper.ntservice.account=.%USERNAME%" + if not defined RHQ_AGENT_PASSWORD_PROMPT set RHQ_AGENT_PASSWORD_PROMPT=true + ) + + "%RHQ_AGENT_WRAPPER_EXE_FILE_PATH%" -i "%RHQ_AGENT_WRAPPER_CONF_FILE_PATH%" "set.RHQ_AGENT_HOME=%RHQ_AGENT_HOME%" "set.RHQ_AGENT_INSTANCE_NAME=%RHQ_AGENT_INSTANCE_NAME%" "set.RHQ_JAVA_EXE_FILE_PATH=%RHQ_JAVA_EXE_FILE_PATH%" "set.RHQ_AGENT_OS_PLATFORM=%RHQ_AGENT_OS_PLATFORM%" "set.RHQ_AGENT_WRAPPER_LOG_DIR_PATH=%RHQ_AGENT_WRAPPER_LOG_DIR_PATH%" !_WRAPPER_NTSERVICE_ACCOUNT! %_DEBUG_OPTS% if ERRORLEVEL 1 goto error goto done ) diff --git a/modules/enterprise/agent/src/etc/rhq-agent.bat b/modules/enterprise/agent/src/etc/rhq-agent.bat index 46ef0b9..0d035b2 100644 --- a/modules/enterprise/agent/src/etc/rhq-agent.bat +++ b/modules/enterprise/agent/src/etc/rhq-agent.bat @@ -114,16 +114,15 @@ set CLASSPATH= call :append_classpath "%RHQ_AGENT_HOME%\conf" for /R "%RHQ_AGENT_HOME%\lib" %%G in ("*.jar") do ( call :append_classpath "%%G" - if defined RHQ_AGENT_DEBUG echo CLASSPATH entry: %%G ) -for %%G in ("%RHQ_JAVA_HOME%\lib\tools.jar" "%RHQ_JAVA_HOME%..\lib\tools.jar") do ( +for %%G in ("!RHQ_JAVA_HOME!\lib\tools.jar" "!RHQ_JAVA_HOME!..\lib\tools.jar") do ( if exist "%%G" ( - call :append_classpath "%%G" - if defined RHQ_AGENT_DEBUG echo CLASSPATH entry: %%G + call :append_classpath %%G goto end_classpath ) ) :end_classpath +if defined RHQ_AGENT_DEBUG echo CLASSPATH: %CLASSPATH%
rem ---------------------------------------------------------------------- rem Prepare the VM command line options to be passed in @@ -137,7 +136,7 @@ if defined RHQ_AGENT_DEBUG echo RHQ_AGENT_JAVA_OPTS: %RHQ_AGENT_JAVA_OPTS% rem ---------------------------------------------------------------------- rem Ensure the agent uses our custom JavaPreferences implementation rem ---------------------------------------------------------------------- -set _JAVA_PREFERENCES_FACTORY_OPT="-Djava.util.prefs.PreferencesFactory=org.rhq.core.util.preferences.FilePreferencesFactory" +set _JAVA_PREFERENCES_FACTORY_OPT=-Djava.util.prefs.PreferencesFactory=org.rhq.core.util.preferences.FilePreferencesFactory
if "%RHQ_AGENT_JAVA_ENDORSED_DIRS%" == "none" ( if defined RHQ_AGENT_DEBUG echo Not explicitly setting java.endorsed.dirs @@ -145,7 +144,7 @@ if "%RHQ_AGENT_JAVA_ENDORSED_DIRS%" == "none" ( ) if not defined RHQ_AGENT_JAVA_ENDORSED_DIRS set RHQ_AGENT_JAVA_ENDORSED_DIRS=%RHQ_AGENT_HOME%\lib\endorsed if defined RHQ_AGENT_DEBUG echo RHQ_AGENT_JAVA_ENDORSED_DIRS: %RHQ_AGENT_JAVA_ENDORSED_DIRS% -set _JAVA_ENDORSED_DIRS_OPT="-Djava.endorsed.dirs=%RHQ_AGENT_JAVA_ENDORSED_DIRS%" +set _JAVA_ENDORSED_DIRS_OPT=-Djava.endorsed.dirs="%RHQ_AGENT_JAVA_ENDORSED_DIRS%" :skip_java_endorsed_dirs
if "%RHQ_AGENT_JAVA_LIBRARY_PATH%" == "none" ( @@ -154,7 +153,7 @@ if "%RHQ_AGENT_JAVA_LIBRARY_PATH%" == "none" ( ) if not defined RHQ_AGENT_JAVA_LIBRARY_PATH set RHQ_AGENT_JAVA_LIBRARY_PATH=%RHQ_AGENT_HOME%\lib if defined RHQ_AGENT_DEBUG echo RHQ_AGENT_JAVA_LIBRARY_PATH: %RHQ_AGENT_JAVA_LIBRARY_PATH% -set _JAVA_LIBRARY_PATH_OPT="-Djava.library.path=%RHQ_AGENT_JAVA_LIBRARY_PATH%" +set _JAVA_LIBRARY_PATH_OPT=-Djava.library.path="%RHQ_AGENT_JAVA_LIBRARY_PATH%" :skip_java_library_path
if defined RHQ_AGENT_DEBUG echo RHQ_AGENT_ADDITIONAL_JAVA_OPTS: %RHQ_AGENT_ADDITIONAL_JAVA_OPTS% @@ -183,18 +182,17 @@ rem if sigar debug is enabled, the log configuration is different - sigar debugg if defined RHQ_AGENT_SIGAR_DEBUG ( set _LOG_CONFIG=%_LOG_CONFIG% -Dsigar.nativeLogging=true ) - rem to support other agents/plugin containers, allow the caller to override the main classname if not defined RHQ_AGENT_MAINCLASS ( set RHQ_AGENT_MAINCLASS=org.rhq.enterprise.agent.AgentMain )
-rem note - currently not using custom Java Prefs as the default, use commented command line to activate. If installing -rem note - the agent as a windows service, you must also uncomment lines in wrapper/rhq-agent-wrapper.conf. -rem set CMD="%RHQ_JAVA_EXE_FILE_PATH%" %_JAVA_ENDORSED_DIRS_OPT% %_JAVA_LIBRARY_PATH_OPT% %_JAVA_PREFERENCES_FACTORY_OPT% %RHQ_AGENT_JAVA_OPTS% %RHQ_AGENT_ADDITIONAL_JAVA_OPTS% %_LOG_CONFIG% -cp "%CLASSPATH%" %RHQ_AGENT_MAINCLASS% %RHQ_AGENT_CMDLINE_OPTS% -set CMD="%RHQ_JAVA_EXE_FILE_PATH%" %_JAVA_ENDORSED_DIRS_OPT% %_JAVA_LIBRARY_PATH_OPT% %RHQ_AGENT_JAVA_OPTS% %RHQ_AGENT_ADDITIONAL_JAVA_OPTS% %_LOG_CONFIG% -cp "%CLASSPATH%" %RHQ_AGENT_MAINCLASS% %RHQ_AGENT_CMDLINE_OPTS% - if not defined _SETENV_ONLY ( + rem note - currently not using custom Java Prefs as the default, use commented command line to activate. If installing + rem note - the agent as a windows service, you must also uncomment lines in wrapper/rhq-agent-wrapper.conf. + rem set CMD="%RHQ_JAVA_EXE_FILE_PATH%" %_JAVA_ENDORSED_DIRS_OPT% %_JAVA_LIBRARY_PATH_OPT% %_JAVA_PREFERENCES_FACTORY_OPT% %RHQ_AGENT_JAVA_OPTS% %RHQ_AGENT_ADDITIONAL_JAVA_OPTS% %_LOG_CONFIG% -cp "%CLASSPATH%" %RHQ_AGENT_MAINCLASS% %RHQ_AGENT_CMDLINE_OPTS% + set CMD="%RHQ_JAVA_EXE_FILE_PATH%" %_JAVA_ENDORSED_DIRS_OPT% %_JAVA_LIBRARY_PATH_OPT% %RHQ_AGENT_JAVA_OPTS% %RHQ_AGENT_ADDITIONAL_JAVA_OPTS% %_LOG_CONFIG% -cp "%CLASSPATH%" %RHQ_AGENT_MAINCLASS% %RHQ_AGENT_CMDLINE_OPTS% + rem log4j 1.2.8 does not create the directory for us (later versions do) if not exist "%RHQ_AGENT_HOME%\logs" ( mkdir "%RHQ_AGENT_HOME%\logs" @@ -203,7 +201,7 @@ if not defined _SETENV_ONLY ( echo Executing the agent with this command line: echo %CMD% ) - cmd.exe /S /C "%CMD%" + cmd.exe /S /C "!CMD!" )
goto :done @@ -213,11 +211,12 @@ rem CALL subroutine that appends the first argument to CLASSPATH rem ----------------------------------------------------------------------
:append_classpath -set _entry=%1 +set "_entry=%1" +if defined RHQ_AGENT_DEBUG echo CLASSPATH entry: !_entry! if not defined CLASSPATH ( - set CLASSPATH=%_entry:"=% + set CLASSPATH=!_entry:"=! ) else ( - set CLASSPATH=%CLASSPATH%;%_entry:"=% + set CLASSPATH=!CLASSPATH!;!_entry:"=! ) goto :eof
diff --git a/modules/enterprise/server/appserver/src/main/bin-resources/bin/internal/rhq-server.bat b/modules/enterprise/server/appserver/src/main/bin-resources/bin/internal/rhq-server.bat index ba6cbd8..f303c5f 100644 --- a/modules/enterprise/server/appserver/src/main/bin-resources/bin/internal/rhq-server.bat +++ b/modules/enterprise/server/appserver/src/main/bin-resources/bin/internal/rhq-server.bat @@ -41,14 +41,14 @@ rem rem RHQ_SERVER_RUN_AS - if defined, then when the Windows Service is rem installed, the value is the domain\username of the rem user that the Windows Service will run as. It is -rem important to also set RHQ_SERVER_PASSWORD for the -rem current user account. +rem required to also set RHQ_SERVER_PASSWORD for the +rem specified user account. rem rem RHQ_SERVER_RUN_AS_ME - if defined, then when the Windows Service is rem installed, the domain\username of the user that the Windows rem Service will run as will be the current user (.%USERNAME%). rem This takes precedence over RHQ_SERVER_RUN_AS. It is -rem important to also set RHQ_SERVER_PASSWORD for the +rem required to also set RHQ_SERVER_PASSWORD for the rem current user account. rem rem Note that you cannot define custom Java VM parameters or command line @@ -178,20 +178,46 @@ rem Determine if there should be debug VM options passed into it. rem For some reason, this can't go inside another if statement. if defined RHQ_SERVER_DEBUG set _DEBUG_OPTS=wrapper.debug=true
-rem Determine what user the Windows Service will run as. -if defined RHQ_SERVER_RUN_AS set _WRAPPER_NTSERVICE_ACCOUNT="wrapper.ntservice.account=%RHQ_SERVER_RUN_AS%" -if defined RHQ_SERVER_RUN_AS_ME set _WRAPPER_NTSERVICE_ACCOUNT="wrapper.ntservice.account=.%USERNAME%" -rem This service is typically installed by rhqctl, so assume we don't want to prompt -if not defined RHQ_SERVER_PASSWORD_PROMPT set RHQ_SERVER_PASSWORD_PROMPT=false - if /i "%1"=="console" ( - rem START SERVER - "%RHQ_SERVER_WRAPPER_EXE_FILE_PATH%" -c "%RHQ_SERVER_WRAPPER_CONF_FILE_PATH%" "set.RHQ_SERVER_HOME=%RHQ_SERVER_HOME%" "set.RHQ_SERVER_INSTANCE_NAME=%RHQ_SERVER_INSTANCE_NAME%" "set.RHQ_JAVA_EXE_FILE_PATH=%RHQ_JAVA_EXE_FILE_PATH%" "set.RHQ_SERVER_OS_PLATFORM=%RHQ_SERVER_OS_PLATFORM%" "set.RHQ_SERVER_WRAPPER_LOG_DIR_PATH=%RHQ_SERVER_WRAPPER_LOG_DIR_PATH%" %_WRAPPER_NTSERVICE_ACCOUNT% %_DEBUG_OPTS% + rem Determine what user the Windows Service will run as. + if defined RHQ_SERVER_RUN_AS ( + if not defined RHQ_SERVER_PASSWORD ( + echo Exiting. RHQ_SERVER_PASSWORD is not set but is required because RHQ_SERVER_RUN_AS is set: %RHQ_SERVER_RUN_AS%. + exit /B 1 + ) + set _WRAPPER_NTSERVICE_ACCOUNT="wrapper.ntservice.account=%RHQ_SERVER_RUN_AS%" + ) + if defined RHQ_SERVER_RUN_AS_ME ( + if not defined RHQ_SERVER_PASSWORD ( + echo Exiting. RHQ_SERVER_PASSWORD is not set but is required because RHQ_SERVER_RUN_AS_ME is set. + exit /B 1 + ) + set _WRAPPER_NTSERVICE_ACCOUNT="wrapper.ntservice.account=.%USERNAME%" + ) + + rem START SERVER as console + "%RHQ_SERVER_WRAPPER_EXE_FILE_PATH%" -c "%RHQ_SERVER_WRAPPER_CONF_FILE_PATH%" "set.RHQ_SERVER_HOME=%RHQ_SERVER_HOME%" "set.RHQ_SERVER_INSTANCE_NAME=%RHQ_SERVER_INSTANCE_NAME%" "set.RHQ_JAVA_EXE_FILE_PATH=%RHQ_JAVA_EXE_FILE_PATH%" "set.RHQ_SERVER_OS_PLATFORM=%RHQ_SERVER_OS_PLATFORM%" "set.RHQ_SERVER_WRAPPER_LOG_DIR_PATH=%RHQ_SERVER_WRAPPER_LOG_DIR_PATH%" !_WRAPPER_NTSERVICE_ACCOUNT! %_DEBUG_OPTS% goto done )
if /i "%1"=="install" ( - "%RHQ_SERVER_WRAPPER_EXE_FILE_PATH%" -i "%RHQ_SERVER_WRAPPER_CONF_FILE_PATH%" "set.RHQ_SERVER_HOME=%RHQ_SERVER_HOME%" "set.RHQ_SERVER_INSTANCE_NAME=%RHQ_SERVER_INSTANCE_NAME%" "set.RHQ_JAVA_EXE_FILE_PATH=%RHQ_JAVA_EXE_FILE_PATH%" "set.RHQ_SERVER_OS_PLATFORM=%RHQ_SERVER_OS_PLATFORM%" "set.RHQ_SERVER_WRAPPER_LOG_DIR_PATH=%RHQ_SERVER_WRAPPER_LOG_DIR_PATH%" %_WRAPPER_NTSERVICE_ACCOUNT% %_DEBUG_OPTS% + rem Determine what user the Windows Service will run as. + if defined RHQ_SERVER_RUN_AS ( + if not defined RHQ_SERVER_PASSWORD ( + echo Exiting. RHQ_SERVER_PASSWORD is not set but is required because RHQ_SERVER_RUN_AS is set: %RHQ_SERVER_RUN_AS%. + exit /B 1 + ) + set _WRAPPER_NTSERVICE_ACCOUNT="wrapper.ntservice.account=%RHQ_SERVER_RUN_AS%" + ) + if defined RHQ_SERVER_RUN_AS_ME ( + if not defined RHQ_SERVER_PASSWORD ( + echo Exiting. RHQ_SERVER_PASSWORD is not set but is required because RHQ_SERVER_RUN_AS_ME is set. + exit /B 1 + ) + set _WRAPPER_NTSERVICE_ACCOUNT="wrapper.ntservice.account=.%USERNAME%" + ) + + "%RHQ_SERVER_WRAPPER_EXE_FILE_PATH%" -i "%RHQ_SERVER_WRAPPER_CONF_FILE_PATH%" "set.RHQ_SERVER_HOME=%RHQ_SERVER_HOME%" "set.RHQ_SERVER_INSTANCE_NAME=%RHQ_SERVER_INSTANCE_NAME%" "set.RHQ_JAVA_EXE_FILE_PATH=%RHQ_JAVA_EXE_FILE_PATH%" "set.RHQ_SERVER_OS_PLATFORM=%RHQ_SERVER_OS_PLATFORM%" "set.RHQ_SERVER_WRAPPER_LOG_DIR_PATH=%RHQ_SERVER_WRAPPER_LOG_DIR_PATH%" !_WRAPPER_NTSERVICE_ACCOUNT! %_DEBUG_OPTS% goto done )
diff --git a/modules/enterprise/server/appserver/src/main/bin-resources/bin/internal/rhq-storage-installer.bat b/modules/enterprise/server/appserver/src/main/bin-resources/bin/internal/rhq-storage-installer.bat index f29b7c9..fa14a5b 100644 --- a/modules/enterprise/server/appserver/src/main/bin-resources/bin/internal/rhq-storage-installer.bat +++ b/modules/enterprise/server/appserver/src/main/bin-resources/bin/internal/rhq-storage-installer.bat @@ -199,6 +199,19 @@ set _JBOSS_MODULEPATH=%_RHQ_MODULES_PATH%;%_INTERNAL_MODULES_PATH%
if defined RHQ_STORAGE_DEBUG echo _JBOSS_MODULEPATH: %_JBOSS_MODULEPATH%
+rem before running the storage installer, ensure password is set if RUN_AS is in use +if defined RHQ_STORAGE_RUN_AS ( + if not defined RHQ_STORAGE_PASSWORD ( + echo Exiting. RHQ_STORAGE_PASSWORD is not set but is required because RHQ_STORAGE_RUN_AS is set: %RHQ_STORAGE_RUN_AS%. + exit /B 1 + ) +) +if defined RHQ_STORAGE_RUN_AS_ME ( + if not defined RHQ_STORAGE_PASSWORD ( + echo Exiting. RHQ_STORAGE_PASSWORD is not set but is required because RHQ_STORAGE_RUN_AS_ME is set. + exit /B 1 + ) +)
echo "Starting RHQ Storage Installer ..."
diff --git a/modules/enterprise/server/appserver/src/main/bin-resources/bin/internal/rhq-storage.bat b/modules/enterprise/server/appserver/src/main/bin-resources/bin/internal/rhq-storage.bat index c2f7f02..46e483b 100644 --- a/modules/enterprise/server/appserver/src/main/bin-resources/bin/internal/rhq-storage.bat +++ b/modules/enterprise/server/appserver/src/main/bin-resources/bin/internal/rhq-storage.bat @@ -43,15 +43,15 @@ rem rem RHQ_STORAGE_RUN_AS - if defined, then when the Windows Service is rem installed, the value is the domain\username of the rem user that the Windows Service will run as. It is -rem important to also set RHQ_STORAGE_PASSWORD for the -rem current user account. +rem required to also set RHQ_STORAGE_PASSWORD for the +rem specified user account. rem rem RHQ_STORAGE_RUN_AS_ME - if defined, then when the Windows Service is rem installed, the domain\username of the user that the Windows rem Service will run as will be the current user (.%USERNAME%). rem This takes precedence over RHQ_STORAGE_RUN_AS. It is -rem important to also set RHQ_STORAGE_PASSWORD for the -rem current user account. +rem required to also set RHQ_STORAGE_PASSWORD for the +rem specified user account. rem rem Note that you cannot define custom Java VM parameters or command line rem arguments to pass to Cassandra. If you wish to pass in specific arguments, @@ -199,20 +199,46 @@ rem Determine if there should be debug VM options passed into it. rem For some reason, this can't go inside another if statement. if defined RHQ_STORAGE_DEBUG set _DEBUG_OPTS=wrapper.debug=true
-rem Determine what user the Windows Service will run as. -if defined RHQ_STORAGE_RUN_AS set _WRAPPER_NTSERVICE_ACCOUNT="wrapper.ntservice.account=%RHQ_STORAGE_RUN_AS%" -if defined RHQ_STORAGE_RUN_AS_ME set _WRAPPER_NTSERVICE_ACCOUNT="wrapper.ntservice.account=.%USERNAME%" -rem This service is typically installed by rhqctl, so assume we don't want to prompt -if not defined RHQ_STORAGE_PASSWORD_PROMPT set RHQ_STORAGE_PASSWORD_PROMPT=false - if /i "%1"=="console" ( + rem Determine what user the Windows Service will run as. + if defined RHQ_STORAGE_RUN_AS ( + if not defined RHQ_STORAGE_PASSWORD ( + echo Exiting. RHQ_STORAGE_PASSWORD is not set but is required because RHQ_STORAGE_RUN_AS is set: %RHQ_STORAGE_RUN_AS%. + exit /B 1 + ) + set _WRAPPER_NTSERVICE_ACCOUNT="wrapper.ntservice.account=%RHQ_STORAGE_RUN_AS%" + ) + if defined RHQ_STORAGE_RUN_AS_ME ( + if not defined RHQ_STORAGE_PASSWORD ( + echo Exiting. RHQ_STORAGE_PASSWORD is not set but is required because RHQ_STORAGE_RUN_AS_ME is set. + exit /B 1 + ) + set _WRAPPER_NTSERVICE_ACCOUNT="wrapper.ntservice.account=.%USERNAME%" + ) + rem START STORAGE NODE - start "%RHQ_STORAGE_WRAPPER_EXE_FILE_PATH%" -c "%RHQ_STORAGE_WRAPPER_CONF_FILE_PATH%" "set.RHQ_SERVER_HOME=%RHQ_SERVER_HOME%" "set.RHQ_STORAGE_HOME=%RHQ_STORAGE_HOME%" "set.RHQ_STORAGE_INSTANCE_NAME=%RHQ_STORAGE_INSTANCE_NAME%" "set.RHQ_JAVA_EXE_FILE_PATH=%RHQ_JAVA_EXE_FILE_PATH%" "set.RHQ_STORAGE_OS_PLATFORM=%RHQ_STORAGE_OS_PLATFORM%" "set.RHQ_STORAGE_WRAPPER_LOG_DIR_PATH=%RHQ_STORAGE_WRAPPER_LOG_DIR_PATH%" %_WRAPPER_NTSERVICE_ACCOUNT% %_DEBUG_OPTS% + start "%RHQ_STORAGE_WRAPPER_EXE_FILE_PATH%" -c "%RHQ_STORAGE_WRAPPER_CONF_FILE_PATH%" "set.RHQ_SERVER_HOME=%RHQ_SERVER_HOME%" "set.RHQ_STORAGE_HOME=%RHQ_STORAGE_HOME%" "set.RHQ_STORAGE_INSTANCE_NAME=%RHQ_STORAGE_INSTANCE_NAME%" "set.RHQ_JAVA_EXE_FILE_PATH=%RHQ_JAVA_EXE_FILE_PATH%" "set.RHQ_STORAGE_OS_PLATFORM=%RHQ_STORAGE_OS_PLATFORM%" "set.RHQ_STORAGE_WRAPPER_LOG_DIR_PATH=%RHQ_STORAGE_WRAPPER_LOG_DIR_PATH%" !_WRAPPER_NTSERVICE_ACCOUNT! %_DEBUG_OPTS% goto done )
if /i "%1"=="install" ( - "%RHQ_STORAGE_WRAPPER_EXE_FILE_PATH%" -i "%RHQ_STORAGE_WRAPPER_CONF_FILE_PATH%" "set.RHQ_SERVER_HOME=%RHQ_SERVER_HOME%" "set.RHQ_STORAGE_HOME=%RHQ_STORAGE_HOME%" "set.RHQ_STORAGE_INSTANCE_NAME=%RHQ_STORAGE_INSTANCE_NAME%" "set.RHQ_JAVA_EXE_FILE_PATH=%RHQ_JAVA_EXE_FILE_PATH%" "set.RHQ_STORAGE_OS_PLATFORM=%RHQ_STORAGE_OS_PLATFORM%" "set.RHQ_STORAGE_WRAPPER_LOG_DIR_PATH=%RHQ_STORAGE_WRAPPER_LOG_DIR_PATH%" %_WRAPPER_NTSERVICE_ACCOUNT% %_DEBUG_OPTS% + rem Determine what user the Windows Service will run as. + if defined RHQ_STORAGE_RUN_AS ( + if not defined RHQ_STORAGE_PASSWORD ( + echo Exiting. RHQ_STORAGE_PASSWORD is not set but is required because RHQ_STORAGE_RUN_AS is set: %RHQ_STORAGE_RUN_AS%. + exit /B 1 + ) + set _WRAPPER_NTSERVICE_ACCOUNT="wrapper.ntservice.account=%RHQ_STORAGE_RUN_AS%" + ) + if defined RHQ_STORAGE_RUN_AS_ME ( + if not defined RHQ_STORAGE_PASSWORD ( + echo Exiting. RHQ_STORAGE_PASSWORD is not set but is required because RHQ_STORAGE_RUN_AS_ME is set. + exit /B 1 + ) + set _WRAPPER_NTSERVICE_ACCOUNT="wrapper.ntservice.account=.%USERNAME%" + ) + + "%RHQ_STORAGE_WRAPPER_EXE_FILE_PATH%" -i "%RHQ_STORAGE_WRAPPER_CONF_FILE_PATH%" "set.RHQ_SERVER_HOME=%RHQ_SERVER_HOME%" "set.RHQ_STORAGE_HOME=%RHQ_STORAGE_HOME%" "set.RHQ_STORAGE_INSTANCE_NAME=%RHQ_STORAGE_INSTANCE_NAME%" "set.RHQ_JAVA_EXE_FILE_PATH=%RHQ_JAVA_EXE_FILE_PATH%" "set.RHQ_STORAGE_OS_PLATFORM=%RHQ_STORAGE_OS_PLATFORM%" "set.RHQ_STORAGE_WRAPPER_LOG_DIR_PATH=%RHQ_STORAGE_WRAPPER_LOG_DIR_PATH%" !_WRAPPER_NTSERVICE_ACCOUNT! %_DEBUG_OPTS% goto done )
diff --git a/modules/enterprise/server/appserver/src/main/bin-resources/bin/wrapper/rhq-server-wrapper.conf b/modules/enterprise/server/appserver/src/main/bin-resources/bin/wrapper/rhq-server-wrapper.conf index 761dc3b..8546c02 100644 --- a/modules/enterprise/server/appserver/src/main/bin-resources/bin/wrapper/rhq-server-wrapper.conf +++ b/modules/enterprise/server/appserver/src/main/bin-resources/bin/wrapper/rhq-server-wrapper.conf @@ -25,12 +25,8 @@ # set.RHQ_SERVER_INSTANCE_NAME - A name to identify the RHQ Server # set.RHQ_SERVER_OS_PLATFORM - The operating system platform name # set.RHQ_SERVER_WRAPPER_LOG_DIR_PATH - The Java Service Wrapper's log file (helpful if installing, uninstalling or starting fails) -# set.RHQ_SERVER_PASSWORD_PROMPT - TRUE if password needs to be typed on -# the console when installing. FALSE -# requires RHQ_SERVER_PASSWORD to be set. # set.RHQ_SERVER_PASSWORD - the password of the user that is to -# run the service. Only used if -# RHQ_SERVER_PASSWORD_PROMPT is FALSE. +# run the service. # set.RHQ_JAVA_EXE_FILE_PATH - Java executable #*****************************************************************************
@@ -182,7 +178,7 @@ wrapper.ntservice.console=FALSE # If prompt is true, the user will be prompted for the password. If false, # the password configuration property will be used. #wrapper.ntservice.account=.\username -wrapper.ntservice.password.prompt=%RHQ_SERVER_PASSWORD_PROMPT% +wrapper.ntservice.password.prompt=false wrapper.ntservice.password=%RHQ_SERVER_PASSWORD%
#***************************************************************************** diff --git a/modules/enterprise/server/appserver/src/main/bin-resources/bin/wrapper/rhq-storage-wrapper.conf b/modules/enterprise/server/appserver/src/main/bin-resources/bin/wrapper/rhq-storage-wrapper.conf index 88f6011..7d9b65f 100644 --- a/modules/enterprise/server/appserver/src/main/bin-resources/bin/wrapper/rhq-storage-wrapper.conf +++ b/modules/enterprise/server/appserver/src/main/bin-resources/bin/wrapper/rhq-storage-wrapper.conf @@ -26,12 +26,8 @@ # set.RHQ_STORAGE_INSTANCE_NAME - A name to identify the RHQ Storage Node # set.RHQ_STORAGE_OS_PLATFORM - The operating system platform name # set.RHQ_STORAGE_WRAPPER_LOG_DIR_PATH - The Java Service Wrapper's log file (helpful if installing, uninstalling or starting fails) -# set.RHQ_STORAGE_PASSWORD_PROMPT - TRUE if password needs to be typed on -# the console when installing. FALSE -# requires RHQ_STORAGE_PASSWORD to be set. # set.RHQ_STORAGE_PASSWORD - the password of the user that is to -# run the service. Only used if -# RHQ_STORAGE_PASSWORD_PROMPT is FALSE. +# run the service. # set.RHQ_JAVA_EXE_FILE_PATH - Java executable #*****************************************************************************
@@ -166,7 +162,7 @@ wrapper.ntservice.console=FALSE # If prompt is true, the user will be prompted for the password. If false, # the password configuration property will be used. #wrapper.ntservice.account=.\username -wrapper.ntservice.password.prompt=%RHQ_STORAGE_PASSWORD_PROMPT% +wrapper.ntservice.password.prompt=false wrapper.ntservice.password=%RHQ_STORAGE_PASSWORD%
#*****************************************************************************