47 lines
1.6 KiB
Bash
Executable File
47 lines
1.6 KiB
Bash
Executable File
#! /bin/bash
|
|
|
|
logger "Start running ns_ovs_cleanup.sh..."
|
|
logger " ** "
|
|
logger " ** "
|
|
|
|
logger "CRM_notify_task: $CRM_notify_task"
|
|
logger "CRM_notify_desc: $CRM_notify_desc"
|
|
logger "CRM_notify_rsc: $CRM_notify_rsc"
|
|
logger "CRM_notify_node: $CRM_notify_node"
|
|
logger " ** "
|
|
logger " ** "
|
|
|
|
if [[ ${CRM_notify_task} == 'monitor' && $CRM_notify_rsc == 'res_PingCheck' ]]; then
|
|
if [[ ${CRM_notify_desc} == 'unknown error' || ${CRM_notify_desc} == 'Timed Out' ]]; then
|
|
hostname=`hostname`
|
|
logger "monitor error hostname: $CRM_notify_node"
|
|
logger "hostname: $hostname"
|
|
if [[ $hostname == $CRM_notify_node ]]; then
|
|
logger "Cleaning up namespace and ovs on node $CRM_notify_node !"
|
|
for ns in $(ip netns list |grep 'qrouter-'); do ip netns delete $ns; done;
|
|
for ns in $(ip netns list |grep 'qdhcp-'); do ip netns delete $ns; done;
|
|
neutron-ovs-cleanup
|
|
logger "Cleaning done."
|
|
else
|
|
sudo crm_node -p
|
|
if [ $? -ne 0 ]; then
|
|
logger "Failed to executing command 'crm_node -p'."
|
|
exit
|
|
fi
|
|
nodes=`sudo crm_node -p`
|
|
logger "Cluster partition nodes: $nodes"
|
|
if [ ! -z "$nodes" ]; then
|
|
for node in $nodes
|
|
do
|
|
if [ "$node" != "$CRM_notify_node" ]; then
|
|
logger "Executing monitor to reschedule Neutron agents..."
|
|
sudo python /usr/local/bin/monitor.py
|
|
break
|
|
fi
|
|
done
|
|
fi
|
|
fi
|
|
fi
|
|
fi
|
|
|