
This commit add part of reliability testing results. Scope of this commit is testing Nova API under several factors. Change-Id: Id3cb644ccf4bd315846399e6ac40a446297787f3
117 lines
3.3 KiB
Bash
Executable File
117 lines
3.3 KiB
Bash
Executable File
# Copyright 2014: Mirantis Inc.
|
|
# All Rights Reserved.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
#!/bin/bash -xe
|
|
|
|
# source credentionals
|
|
if [ -f /data/rally/rally_plugins/scrappy/scrappy.conf ];
|
|
then
|
|
. /data/rally/rally_plugins/scrappy/scrappy.conf
|
|
else
|
|
exit -1
|
|
fi
|
|
|
|
#
|
|
# Function exetute command over ssh
|
|
# Login & password stored in scrappy.conf
|
|
#
|
|
function ssh_exec() {
|
|
local ssh_node=$1
|
|
local ssh_cmd=$2
|
|
local ssh_options='-oConnectTimeout=5 -oStrictHostKeyChecking=no -oCheckHostIP=no -oUserKnownHostsFile=/dev/null -oRSAAuthentication=no'
|
|
echo "sshpass -p ${SSH_PASS} ssh ${ssh_options} ${SSH_LOGIN}@${ssh_node} ${ssh_cmd}"
|
|
local ssh_result=`sshpass -p ${SSH_PASS} ssh ${ssh_options} ${SSH_LOGIN}@${ssh_node} ${ssh_cmd}`
|
|
echo "$ssh_result"
|
|
}
|
|
|
|
#
|
|
# Function return random controller node from Fuel cluster
|
|
#
|
|
function get_random_controller() {
|
|
local random_controller=${CONTROLLERS[$RANDOM % ${#CONTROLLERS[@]}]}
|
|
echo $random_controller
|
|
}
|
|
|
|
#
|
|
# Function return random compute node from Fuel cluster
|
|
#
|
|
function get_random_compute() {
|
|
local random_compute=${COMPUTES[$RANDOM % ${#COMPUTES[@]}]}
|
|
echo $random_compute
|
|
}
|
|
|
|
#
|
|
# Factors
|
|
#
|
|
function random_controller_kill_rabbitmq() {
|
|
local action=$1
|
|
local controller_node=$(get_random_controller)
|
|
local result=`ssh_exec ${controller_node} "${SCRAPPY_BASE}/scrappy_host.sh send_signal rabbitmq_server -KILL"`
|
|
echo "$result"
|
|
}
|
|
|
|
function random_controller_freeze_process_random_interval() {
|
|
local process_name=$1
|
|
local interval=$2
|
|
local controller_node=$(get_random_controller)
|
|
local result=`ssh_exec ${controller_node} "${SCRAPPY_BASE}/scrappy_host.sh freeze_process_random_interval ${process_name} ${interval}"`
|
|
echo "$result"
|
|
}
|
|
|
|
function random_controller_freeze_process_fixed_interval() {
|
|
local process_name=$1
|
|
local interval=$2
|
|
local controller_node=$(get_random_controller)
|
|
local result=`ssh_exec ${controller_node} "${SCRAPPY_BASE}/scrappy_host.sh freeze_process_fixed_interval ${process_name} ${interval}"`
|
|
echo "$result"
|
|
}
|
|
|
|
function random_controller_reboot() {
|
|
local controller_node=$(get_random_controller)
|
|
local result=`ssh_exec ${controller_node} "${SCRAPPY_BASE}/scrappy_host.sh reboot_node"`
|
|
echo "$result"
|
|
}
|
|
|
|
function usage() {
|
|
echo "usage"
|
|
echo "TODO"
|
|
}
|
|
|
|
#
|
|
# Main
|
|
#
|
|
function main() {
|
|
local factor=$1
|
|
case ${factor} in
|
|
random_controller_kill_rabbitmq)
|
|
random_controller_kill_rabbitmq $2
|
|
;;
|
|
random_controller_freeze_process_random_interval)
|
|
random_controller_freeze_process_random_interval $2 $3
|
|
;;
|
|
random_controller_freeze_process_fixed_interval)
|
|
random_controller_freeze_process_fixed_interval $2 $3
|
|
;;
|
|
random_controller_reboot)
|
|
random_controller_reboot
|
|
;;
|
|
*)
|
|
usage
|
|
;;
|
|
esac
|
|
}
|
|
|
|
main "$@"
|