diff options
Diffstat (limited to 'Bombs/cpu/sx.sh')
-rw-r--r-- | Bombs/cpu/sx.sh | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/Bombs/cpu/sx.sh b/Bombs/cpu/sx.sh new file mode 100644 index 0000000..2f2607a --- /dev/null +++ b/Bombs/cpu/sx.sh @@ -0,0 +1,65 @@ +#!/bin/bash +export TERM=xterm +pid=0 + +function check_environment { + if [ ! -v CONTAINER_TYPE ]; then + CONTAINER_TYPE="unknown" + export CONTAINER_TYPE + echo "! WARNING : environment var CONTAINER_TYPE is missing..." + echo "! WARNING : auto-assigned value : $CONTAINER_TYPE" + fi + if [ ! -v CONTAINER_SERVICE ]; then + CONTAINER_SERVICE=$CONTAINER_TYPE; + export CONTAINER_SERVICE; + echo "! WARNING : environment var CONTAINER_SERVICE is missing..." + echo "! WARNING : auto-assigned value : $CONTAINER_SERVICE" + fi + if [ ! -v CONTAINER_INSTANCE ]; then + CONTAINER_INSTANCE=$CONTAINER_TYPE "_" $CONTAINER_SERVICE; + export CONTAINER_INSTANCE; + echo "! WARNING : environment var CONTAINER_INSTANCE is missing..." + echo "! WARNING : auto-assigned value : $CONTAINER_INSTANCE" + fi +} + +function display_container_header { + echo "+=====================================================" + echo "| Container : $HOSTNAME" + echo "| OS : $(</etc/redhat-release)" + if [ -v CONTAINER_TYPE ]; then + echo "| Type : $CONTAINER_TYPE" + fi + if [ -v CONTAINER_SERVICE ]; then + echo "| Service : $CONTAINER_SERVICE" + fi + if [ -v CONTAINER_INSTANCE ]; then + echo "| Instance : $CONTAINER_INSTANCE" + fi + echo "+=====================================================" +} + +function start_service { + if [ ! -v TEST_DURATION ]; then + TEST_DURATION=10; + export TEST_DURATION; + fi + if echo $TEST_DURATION | egrep -q '^[0-9]+$'; then + echo "" > /dev/null & + else + TEST_DURATION=10; + fi + echo "+=====================================================" + echo "| Container $HOSTNAME is now bombing CPU for $TEST_DURATION sec" + echo "+=====================================================" + /bin/bomb > /dev/null & + TASK_PID=$! + sleep $TEST_DURATION + kill $TASK_PID + exit 0 +} + + +check_environment +display_container_header +start_service
\ No newline at end of file |