306 lines
14 KiB
Batchfile
306 lines
14 KiB
Batchfile
@REM ----------------------------------------------------------------------------------
|
|
@REM This batch file excercises some basic functionality of a cluster using the
|
|
@REM cluscli.exe tool.
|
|
@REM
|
|
@REM
|
|
@REM Author: SriniG
|
|
@REM History: 7-3-1996 First batch of tests
|
|
@REM ----------------------------------------------------------------------------------
|
|
|
|
|
|
@REM ----------------------------------------------------------------------------------
|
|
@REM The following parameters should be set in the cmd shell in which this script is
|
|
@REM run. They are:
|
|
@REM (1) NAME_OF_CLUSTER
|
|
@REM (2) NAME_OF_NODE1
|
|
@REM (3) NAME_OF_NODE2
|
|
@REM (4) NAME_OF_GROUP
|
|
@REM (5) NAME_OF_RESOURCE1
|
|
@REM (6) NAME_OF_RESOURCE2
|
|
@REM (7) NAME_OF_RESOURCETYPE
|
|
@REM ----------------------------------------------------------------------------------
|
|
|
|
@setlocal
|
|
|
|
@if "%1"=="/?" goto USAGE
|
|
@if "%1"=="-?" goto USAGE
|
|
|
|
|
|
@REM We set the environment by calling the bvtenv.cmd which should be tailored accordingly
|
|
@if not exist .\bvtenv.cmd goto USAGE
|
|
@call bvtenv.cmd
|
|
|
|
@REM This is used for rename operations... the original names are restored
|
|
@set TEMP_NAME=XYZ123
|
|
|
|
@REM check if the required env variables are set
|
|
|
|
@if "%NAME_OF_CLUSTER%"=="" goto USAGE
|
|
@if "%NAME_OF_NODE1%"=="" goto USAGE
|
|
@if "%NAME_OF_NODE2%"=="" goto USAGE
|
|
@if "%NAME_OF_GROUP%"=="" goto USAGE
|
|
@if "%NAME_OF_RESOURCE1%"=="" goto USAGE
|
|
@if "%NAME_OF_RESOURCE2%"=="" goto USAGE
|
|
@REM if "%NAME_OF_RESOURCETYPE%"=="" goto USAGE
|
|
|
|
@set STATS=1
|
|
|
|
@REM ----------------------------------------------------------------------------------
|
|
@REM Check the status of the two nodes
|
|
@REM ----------------------------------------------------------------------------------
|
|
|
|
cluscli -status -c %NAME_OF_CLUSTER% node %NAME_OF_NODE1%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
cluscli -status -c %NAME_OF_CLUSTER% node %NAME_OF_NODE2%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
@REM ----------------------------------------------------------------------------------
|
|
@REM Pause and resume each node in turn
|
|
@REM ----------------------------------------------------------------------------------
|
|
|
|
cluscli -pause -c %NAME_OF_CLUSTER% node %NAME_OF_NODE1%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
cluscli -resume -c %NAME_OF_CLUSTER% node %NAME_OF_NODE1%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
cluscli -pause -c %NAME_OF_CLUSTER% node %NAME_OF_NODE2%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
cluscli -resume -c %NAME_OF_CLUSTER% node %NAME_OF_NODE2%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
@REM ----------------------------------------------------------------------------------
|
|
@REM Create a group, find status, enumerate, online, find status, offline, find status,
|
|
@REM rename, get params
|
|
@REM ----------------------------------------------------------------------------------
|
|
|
|
cluscli -create -c %NAME_OF_CLUSTER% group %NAME_OF_GROUP%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
cluscli -status -c %NAME_OF_CLUSTER% group %NAME_OF_GROUP%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
cluscli -enum -c %NAME_OF_CLUSTER% group %NAME_OF_GROUP%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
cluscli -online -c %NAME_OF_CLUSTER% group %NAME_OF_GROUP%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
cluscli -status -c %NAME_OF_CLUSTER% group %NAME_OF_GROUP%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
cluscli -offline -c %NAME_OF_CLUSTER% group %NAME_OF_GROUP%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
cluscli -status -c %NAME_OF_CLUSTER% group %NAME_OF_GROUP%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
@REM Get params for this group
|
|
|
|
cluscli -params -c %NAME_OF_CLUSTER% group %NAME_OF_GROUP%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
@REM Rename the group to temp and back again
|
|
|
|
cluscli -rename -c %NAME_OF_CLUSTER% group %NAME_OF_GROUP% %TEMP_NAME%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
cluscli -rename -c %NAME_OF_CLUSTER% group %TEMP_NAME% %NAME_OF_GROUP%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
|
|
@REM ----------------------------------------------------------------------------------
|
|
@REM Move the group between the different nodes ... once with no node specified,
|
|
@REM twice with the two nodes specified, repeat with the group online
|
|
@REM ----------------------------------------------------------------------------------
|
|
|
|
cluscli -move -c %NAME_OF_CLUSTER% group %NAME_OF_GROUP%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
cluscli -move -c %NAME_OF_CLUSTER% group %NAME_OF_GROUP% %NAME_OF_NODE1%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
cluscli -move -c %NAME_OF_CLUSTER% group %NAME_OF_GROUP% %NAME_OF_NODE2%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
@REM Bring the group online and do the same
|
|
|
|
cluscli -online -c %NAME_OF_CLUSTER% group %NAME_OF_GROUP%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
cluscli -move -c %NAME_OF_CLUSTER% group %NAME_OF_GROUP%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
cluscli -move -c %NAME_OF_CLUSTER% group %NAME_OF_GROUP% %NAME_OF_NODE1%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
cluscli -move -c %NAME_OF_CLUSTER% group %NAME_OF_GROUP% %NAME_OF_NODE2%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
@REM ----------------------------------------------------------------------------------
|
|
@REM Obtain the params associated with the resourctype
|
|
@REM ----------------------------------------------------------------------------------
|
|
|
|
cluscli -params -c %NAME_OF_CLUSTER% resourcetype %NAME_OF_RESOURCETYPE%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
|
|
@REM ----------------------------------------------------------------------------------
|
|
@REM We create a resource %NAME_OF_RESOURCE1%, and do various operations on it.
|
|
@REM The resource is deleted at the end of this section.
|
|
@REM ----------------------------------------------------------------------------------
|
|
|
|
cluscli -create -c %NAME_OF_CLUSTER% resource %NAME_OF_RESOURCE1% %NAME_OF_GROUP% %NAME_OF_RESOURCETYPE% -p :CommandLine "/k ECHO %NAME_OF_RESOURCE1%" -p :ImageName cmd.exe -p :CurrentDirectory %HOMEDRIVE%%HOMEPATH%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
@REM get status of the resource
|
|
|
|
cluscli -status -c %NAME_OF_CLUSTER% resource %NAME_OF_RESOURCE1%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
@REM bring resource online
|
|
|
|
cluscli -online -c %NAME_OF_CLUSTER% resource %NAME_OF_RESOURCE1%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
@REM bring resource offline
|
|
|
|
cluscli -offline -c %NAME_OF_CLUSTER% resource %NAME_OF_RESOURCE1%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
@REM enum resource
|
|
|
|
cluscli -enum -c %NAME_OF_CLUSTER% resource %NAME_OF_RESOURCE1%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
|
|
@REM BUG BUG Delete owner and addowner functionality not implemented yet
|
|
|
|
@goto SKIPowner
|
|
|
|
@REM addowner and deleteowner
|
|
|
|
cluscli -addowner -c %NAME_OF_CLUSTER% resource %NAME_OF_RESOURCE1% %NAME_OF_NODE1%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
cluscli -deleteowner -c %NAME_OF_CLUSTER% resource %NAME_OF_RESOURCE1% %NAME_OF_NODE1%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
:SKIPowner
|
|
|
|
@REM rename the resource to temp name and back
|
|
|
|
cluscli -rename -c %NAME_OF_CLUSTER% resource %NAME_OF_RESOURCE1% %TEMP_NAME%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
cluscli -rename -c %NAME_OF_CLUSTER% resource %TEMP_NAME% %NAME_OF_RESOURCE1%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
@REM get the params associated with the resource
|
|
|
|
cluscli -params -c %NAME_OF_CLUSTER% resource %NAME_OF_RESOURCE1%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
@REM delete the resource
|
|
|
|
cluscli -delete -c %NAME_OF_CLUSTER% resource %NAME_OF_RESOURCE1%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
|
|
@REM ----------------------------------------------------------------------------------
|
|
@REM We create two resources %NAME_OF_RESOURCE1%, %NAME_OF_RESOURCE2%
|
|
@REM and do various dependency operations on it.
|
|
@REM The resources are deleted at the end of this section.
|
|
@REM ----------------------------------------------------------------------------------
|
|
|
|
cluscli -create -c %NAME_OF_CLUSTER% resource %NAME_OF_RESOURCE1% %NAME_OF_GROUP% %NAME_OF_RESOURCETYPE% -p :CommandLine "/k ECHO %NAME_OF_RESOURCE1%" -p :ImageName cmd.exe -p :CurrentDirectory %HOMEDRIVE%%HOMEPATH%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
cluscli -create -c %NAME_OF_CLUSTER% resource %NAME_OF_RESOURCE2% %NAME_OF_GROUP% %NAME_OF_RESOURCETYPE% -p :CommandLine "/k ECHO %NAME_OF_RESOURCE2%" -p :ImageName cmd.exe -p :CurrentDirectory %HOMEDRIVE%%HOMEPATH%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
@REM make resource2 depend upon resource1
|
|
|
|
cluscli -adddepend -c %NAME_OF_CLUSTER% resource %NAME_OF_RESOURCE2% %NAME_OF_RESOURCE1%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
@REM bring resource1 online
|
|
|
|
cluscli -online -c %NAME_OF_CLUSTER% resource %NAME_OF_RESOURCE1%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
@REM bring resource2 offline
|
|
|
|
cluscli -offline -c %NAME_OF_CLUSTER% resource %NAME_OF_RESOURCE2%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
@REM bring resource1 offline
|
|
|
|
cluscli -offline -c %NAME_OF_CLUSTER% resource %NAME_OF_RESOURCE1%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
@REM remove resource2 dependency upon resource1
|
|
|
|
cluscli -deletedepend -c %NAME_OF_CLUSTER% resource %NAME_OF_RESOURCE2% %NAME_OF_RESOURCE1%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
@REM ----------------------------------------------------------------------------------
|
|
@REM We try to rename the cluster to the temp name and back to the original, BUG-BUG:
|
|
@REM Need to change after cluster naming issues are resolved
|
|
@REM ----------------------------------------------------------------------------------
|
|
@REM BUG BUG Not able to restore Cluster name so don't do it...
|
|
|
|
@goto skipclusname
|
|
cluscli -rename -c %NAME_OF_CLUSTER% cluster %TEMP_NAME%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
|
|
cluscli -rename -c %TEMP_NAME% cluster %NAME_OF_CLUSTER%
|
|
@if errorlevel 1 set /A STATS=%STATS% + 1 & echo ***************** BVT Failure %STATS% *****************
|
|
:skipclusname
|
|
|
|
:cleanup
|
|
@echo.
|
|
@echo.
|
|
@echo Cleaning up ...............................
|
|
@echo.
|
|
cluscli -delete -c %NAME_OF_CLUSTER% resource %NAME_OF_RESOURCE1%
|
|
@if errorlevel 1 echo !!!! WARNING: Could not delete resource %NAME_OF_RESOURCE1% !!!!
|
|
cluscli -delete -c %NAME_OF_CLUSTER% resource %NAME_OF_RESOURCE2%
|
|
@if errorlevel 1 echo !!!! WARNING: Could not delete resource %NAME_OF_RESOURCE2% !!!!
|
|
cluscli -delete -c %NAME_OF_CLUSTER% group %NAME_OF_GROUP%
|
|
@if errorlevel 1 echo !!!! WARNING: Could not delete resource %NAME_OF_GROUP% !!!!
|
|
@goto EXIT
|
|
|
|
:USAGE
|
|
|
|
@echo Usage: %0
|
|
@echo The following environment variables should be set in the file bvtenv.cmd
|
|
@echo (The file should be placed in the same dir from which clusbvt is run.)
|
|
@echo They are:
|
|
@echo (1) NAME_OF_CLUSTER
|
|
@echo (2) NAME_OF_NODE1
|
|
@echo (3) NAME_OF_NODE2
|
|
@echo (4) NAME_OF_GROUP
|
|
@echo (5) NAME_OF_RESOURCE1
|
|
@echo (6) NAME_OF_RESOURCE2
|
|
@echo (7) NAME_OF_RESOURCETYPE
|
|
@echo The clustername, nodenames and resource type should be valid entities.
|
|
@echo The group, resource1 and resource2 should not exist i.e. they get deleted
|
|
@echo at the end of the run
|
|
@goto END
|
|
|
|
|
|
:EXIT
|
|
@set /A STATS=%STATS% - 1
|
|
@echo.
|
|
@echo.
|
|
@echo *******************************************************************************
|
|
@echo No. of BVT Tests failed = %STATS%
|
|
@echo *******************************************************************************
|
|
@echo.
|
|
@echo.
|
|
:END
|
|
@endlocal
|