package=$1
+
prepare_script() {
echo '#!/usr/bin/env python
import pika
prepare_vm() {
if [[ `cat /etc/*-release | head -n 1 | awk '{print $1}'` =~ Ubuntu ]]; then
- apt-get install rabbitmq-server screen python-pip sqlite3 -y
+ apt-get install screen python-pip sqlite3 curl -y
+ else
+ yum install screen python-pip sqlite curl -y
+ fi
+}
+
+prepare_rabbit() {
+ if [[ `cat /etc/*-release | head -n 1 | awk '{print $1}'` =~ Ubuntu ]]; then
+ apt-get install rabbitmq-server -y
else
- yum install screen rabbitmq-server python-pip sqlite -y
+ yum install rabbitmq-server -y
fi
+ echo "127.0.10.1 $(hostname)" >> /etc/hosts
service rabbitmq-server restart
sleep 5
}
fi
}
+stop_services(){
+ ubuntu_services=(
+ ceilometer-api
+ ceilometer-agent-central
+ ceilometer-agent-compute
+ ceilometer-agent-notification
+ ceilometer-collector
+ ceilometer-alarm-evaluator
+ ceilometer-alarm-notifier
+ )
+ centos_services=(
+ openstack-ceilometer-api
+ openstack-ceilometer-collector
+ openstack-ceilometer-notification
+ openstack-ceilometer-alarm-notifier
+ openstack-ceilometer-alarm-evaluator
+ openstack-ceilometer-compute
+ openstack-ceilometer-central
+ )
+
+ if [[ `cat /etc/*-release | head -n 1 | awk '{print $1}'` =~ Ubuntu ]]; then
+ services=${ubuntu_services[*]}
+ else
+ services=${centos_services[*]}
+ fi
+
+ for service in ${services[*]}; do
+ service $service stop || true
+ done
+}
+
case $package in
ceilometer-api|openstack-ceilometer-api)
prepare_config
prepare_vm
+ stop_services
screen -dmS ceilometer-api
sleep 2
ceilometer-collector|openstack-ceilometer-collector|ceilometer-agent-notification|openstack-ceilometer-notification)
prepare_config
prepare_vm
+ prepare_rabbit
if [[ `cat /etc/*-release | head -n 1 | awk '{print $1}'` =~ Ubuntu ]]; then
apt-get install ceilometer-collector ceilometer-agent-notification -y
yum install openstack-ceilometer-collector openstack-ceilometer-notification -y
fi
+ stop_services
screen -dmS ceilometer-collector
screen -dmS ceilometer-agent-notification
sleep 2
check_running ceilometer-collector
check_running ceilometer-agent-notification
send_fake_notification
- sleep 2
+ sleep 10
check_fake_notification
killall -15 ceilometer-collector ceilometer-agent-notification
echo "Testing 'ceilometer-alarm-notifier'"
prepare_config
prepare_vm
+ prepare_rabbit
+ stop_services
screen -dmS ceilometer-alarm-notifier
sleep 2
ceilometer-agent-compute|openstack-ceilometer-compute)
prepare_vm
prepare_config
+ stop_services
screen -dmS ceilometer-agent-compute
sleep 2
ceilometer-agent-central|openstack-ceilometer-central)
prepare_vm
prepare_config
+ stop_services
screen -dmS ceilometer-agent-central
sleep 2