diff options
-rw-r--r-- | docs/configguide/featureconfig.rst | 49 | ||||
-rw-r--r-- | docs/configguide/index.rst | 12 | ||||
-rw-r--r-- | docs/manuals/get-valid-server-state.rst | 2 | ||||
-rw-r--r-- | docs/userguide/feature.userguide.rst | 10 | ||||
-rwxr-xr-x | tests/run.sh | 80 |
5 files changed, 60 insertions, 93 deletions
diff --git a/docs/configguide/featureconfig.rst b/docs/configguide/featureconfig.rst deleted file mode 100644 index 5ca17b9b..00000000 --- a/docs/configguide/featureconfig.rst +++ /dev/null @@ -1,49 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 - -Doctor Configuration -==================== - -.. - This section will be compiled into OPNFV composite document. - -Doctor Inspector ----------------- - -Doctor Inspector is suggested to be placed in one of the controller nodes, -but it can be put on any host where Doctor Monitor can reach and accessible -to the OpenStack Controller (Nova). - -Make sure OpenStack env parameters are set properly, so that Doctor Inspector -can issue admin actions such as compute host force-down and state update of VM. - -Then, you can configure Doctor Inspector as follows: - -.. code-block:: bash - - git clone https://gerrit.opnfv.org/gerrit/doctor -b stable/brahmaputra - cd doctor/tests - INSPECTOR_PORT=12345 - python inspector.py $INSPECTOR_PORT > inspector.log 2>&1 & - -Doctor Monitor --------------- - -Doctor Monitors are suggested to be placed in one of the controller nodes, -but those can be put on any host which is reachable to target compute host and -accessible to the Doctor Inspector. -You need to configure Monitors for all compute hosts one by one. - -Make sure OpenStack env parameters are set properly, so that Doctor Inspector -can issue admin actions such as compute host force-down and state update of VM. - -Then, you can configure Doctor Monitor as follows: - -.. code-block:: bash - - git clone https://gerrit.opnfv.org/gerrit/doctor -b stable/brahmaputra - cd doctor/tests - INSPECTOR_PORT=12345 - COMPUTE_HOST='overcloud-novacompute-0' - sudo python monitor.py "$COMPUTE_HOST" \ - "http://127.0.0.1:$INSPECTOR_PORT/events" > monitor.log 2>&1 & diff --git a/docs/configguide/index.rst b/docs/configguide/index.rst deleted file mode 100644 index 4a7a5fbe..00000000 --- a/docs/configguide/index.rst +++ /dev/null @@ -1,12 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 - -************************** -Doctor Configuration Guide -************************** - -.. toctree:: - :maxdepth: 2 - :numbered: - -.. include:: featureconfig.rst diff --git a/docs/manuals/get-valid-server-state.rst b/docs/manuals/get-valid-server-state.rst index 5d74e9ed..ed1c6d5c 100644 --- a/docs/manuals/get-valid-server-state.rst +++ b/docs/manuals/get-valid-server-state.rst @@ -119,7 +119,7 @@ Links: ====== [1] Manual for OpenStack NOVA API for marking host down -http://artifacts.opnfv.org/doctor/brahmaputra/docs/manuals/mark-host-down_manual.html +http://artifacts.opnfv.org/doctor/colorado/manuals/mark-host-down_manual.html [2] OpenStack compute manual page http://developer.openstack.org/api-ref-compute-v2.1.html#compute-v2.1 diff --git a/docs/userguide/feature.userguide.rst b/docs/userguide/feature.userguide.rst index d24c1acb..4e080eb9 100644 --- a/docs/userguide/feature.userguide.rst +++ b/docs/userguide/feature.userguide.rst @@ -3,10 +3,6 @@ Doctor capabilities and usage ============================= - -.. - This section will be compiled into OPNFV composite document. - Immediate Notification ---------------------- @@ -21,7 +17,7 @@ repository. It can be executed as follows: .. code-block:: bash - git clone https://gerrit.opnfv.org/gerrit/doctor -b stable/brahmaputra + git clone https://gerrit.opnfv.org/gerrit/doctor -b stable/colorado cd doctor/tests CONSUMER_PORT=12346 python consumer.py "$CONSUMER_PORT" > consumer.log 2>&1 & @@ -34,7 +30,7 @@ from a monitor running outside of OpenStack Compute (Nova) by using force-down API. See -http://artifacts.opnfv.org/doctor/brahmaputra/docs/manuals/mark-host-down_manual.html +http://artifacts.opnfv.org/doctor/colorado/manuals/mark-host-down_manual.html for more detail. Valid compute host status given to VM owner @@ -44,5 +40,5 @@ The resource state of a compute host can be retrieved by a user with the OpenStack Compute (Nova) servers API. See -http://artifacts.opnfv.org/doctor/docs/manuals/get-valid-server-state.html +http://artifacts.opnfv.org/doctor/colorado/manuals/get-valid-server-state.html for more detail. diff --git a/tests/run.sh b/tests/run.sh index f425879a..ee96da9d 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 } @@ -456,7 +484,11 @@ calculate_notification_time() { exit 1 fi echo "$notified $detected" | \ - awk '{d = $1 - $2; if (d < 1 && d > 0) print d " OK"; else print d " NG"}' + awk '{ + d = $1 - $2; + if (d < 1 && d > 0) { print d " OK"; exit 0 } + else { print d " NG"; exit 1 } + }' } check_host_status() { |