diff options
author | dongwenjuan <dong.wenjuan@zte.com.cn> | 2016-08-24 17:05:19 +0800 |
---|---|---|
committer | wenjuan dong <dong.wenjuan@zte.com.cn> | 2016-08-25 00:08:04 +0000 |
commit | c057c12914e9375e86540eff70341455755788b7 (patch) | |
tree | 73de0b45257f6c9ebd09c7a7070988ce7c0e63cd /tests/run.sh | |
parent | a6d4086ad286c9b7c8090e09c11a3c0ed20e17e0 (diff) |
add notification_driver config in nova.conf
Change-Id: Ib7462570b80bd0cf8214411a3467c5484a8d98a1
Signed-off-by: dongwenjuan <dong.wenjuan@zte.com.cn>
(cherry picked from commit c031c8cbd80b4080caffb73a459e14b738e7c896)
Diffstat (limited to 'tests/run.sh')
-rwxr-xr-x | tests/run.sh | 74 |
1 files changed, 51 insertions, 23 deletions
diff --git a/tests/run.sh b/tests/run.sh index f425879a..292a7ce7 100755 --- a/tests/run.sh +++ b/tests/run.sh @@ -89,8 +89,8 @@ prepare_ssh_to_cloud() { prepare_test_env() { #TODO delete it when fuel support the configuration if [[ "$INSTALLER_TYPE" == "fuel" ]] ; then - echo "modify the ceilometer event_pipeline configuration..." - cat > set_alarm_event_conf.sh << 'END_TXT' + echo "modify the configuration..." + cat > set_conf.sh << 'END_TXT' #!/bin/bash if [ -e /etc/ceilometer/event_pipeline.yaml ]; then if ! grep -q '^ *- notifier://?topic=alarm.all$' /etc/ceilometer/event_pipeline.yaml; then @@ -102,23 +102,36 @@ else echo "ceilometer event_pipeline.yaml file does not exist" exit 1 fi +if [ -e /etc/nova/nova.conf ]; then + if ! grep -q '^notification_driver=messaging$' /etc/nova/nova.conf; then + sed -i -r 's/notification_driver=/notification_driver=messaging/g' /etc/nova/nova.conf + echo "modify nova config" + service nova-api restart + fi +else + echo "nova.conf file does not exist" + exit 1 +fi exit 0 END_TXT - chmod +x set_alarm_event_conf.sh + chmod +x set_conf.sh CONTROLLER_IP=$(sshpass -p r00tme ssh 2>/dev/null $ssh_opts root@${INSTALLER_IP} \ "fuel node | grep controller | cut -d '|' -f 5|xargs") for node in $CONTROLLER_IP;do - scp $ssh_opts_cpu set_alarm_event_conf.sh "root@$node:" - ssh $ssh_opts_cpu "root@$node" './set_alarm_event_conf.sh > set_alarm_event_conf.log 2>&1 &' + scp $ssh_opts_cpu set_conf.sh "root@$node:" + ssh $ssh_opts_cpu "root@$node" './set_conf.sh > set_conf.log 2>&1 &' sleep 1 - scp $ssh_opts_cpu "root@$node:set_alarm_event_conf.log" set_alarm_event_conf_$node.log + scp $ssh_opts_cpu "root@$node:set_conf.log" set_conf_$node.log done - if grep -q "modify the ceilometer config" set_alarm_event_conf_*.log ; then - NEED_TO_RESTORE=true + if grep -q "modify the ceilometer config" set_conf_*.log ; then + NEED_TO_RESTORE_CEILOMETER=true + fi + if grep -q "modify nova config" set_conf_*.log ; then + NEED_TO_RESTORE_NOVA=true fi - echo "waiting ceilometer-agent-notification restart..." + echo "waiting service restart..." sleep 60 fi } @@ -126,32 +139,47 @@ END_TXT restore_test_env() { #TODO delete it when fuel support the configuration if [[ "$INSTALLER_TYPE" == "fuel" ]] ; then - if ! $NEED_TO_RESTORE ; then + if ! ($NEED_TO_RESTORE_CEILOMETER || $NEED_TO_RESTORE_NOVA) ; then echo "Don't need to restore config" exit 0 fi - echo "restore the ceilometer event_pipeline configuration..." - cat > restore_alarm_event_conf.sh << 'END_TXT' + echo "restore the configuration..." + cat > restore_conf.sh << 'END_TXT' #!/bin/bash -if [ -e /etc/ceilometer/event_pipeline.yaml ]; then - if grep -q '^ *- notifier://?topic=alarm.all$' /etc/ceilometer/event_pipeline.yaml; then - sed -i 's|- notifier://?topic=alarm.all|- notifier://|' /etc/ceilometer/event_pipeline.yaml - service ceilometer-agent-notification restart +if @NEED_TO_RESTORE_CEILOMETER@ ; then + if [ -e /etc/ceilometer/event_pipeline.yaml ]; then + if grep -q '^ *- notifier://?topic=alarm.all$' /etc/ceilometer/event_pipeline.yaml; then + sed -i 's|- notifier://?topic=alarm.all|- notifier://|' /etc/ceilometer/event_pipeline.yaml + service ceilometer-agent-notification restart + fi + else + echo "ceilometer event_pipeline.yaml file does not exist" + exit 1 + fi +fi +if @NEED_TO_RESTORE_NOVA@ ; then + if [ -e /etc/nova/nova.conf ]; then + if grep -q '^notification_driver=messaging$' /etc/nova/nova.conf; then + sed -i -r 's/notification_driver=messaging/notification_driver=/g' /etc/nova/nova.conf + service nova-api restart + fi + else + echo "nova.conf file does not exist" + exit 1 fi -else - echo "ceilometer event_pipeline.yaml file does not exist" - exit 1 fi exit 0 END_TXT - chmod +x restore_alarm_event_conf.sh + sed -i -e "s/@NEED_TO_RESTORE_CEILOMETER@/$NEED_TO_RESTORE_CEILOMETER/" restore_conf.sh + sed -i -e "s/@NEED_TO_RESTORE_NOVA@/$NEED_TO_RESTORE_NOVA/" restore_conf.sh + chmod +x restore_conf.sh for node in $CONTROLLER_IP;do - scp $ssh_opts_cpu restore_alarm_event_conf.sh "root@$node:" - ssh $ssh_opts_cpu "root@$node" './restore_alarm_event_conf.sh > set_alarm_event_conf.log 2>&1 &' + scp $ssh_opts_cpu restore_conf.sh "root@$node:" + ssh $ssh_opts_cpu "root@$node" './restore_conf.sh > restore_conf.log 2>&1 &' done - echo "waiting ceilometer-agent-notification restart..." + echo "waiting service restart..." sleep 60 fi } |