[V2]clone ping and ClusterMon, when start OK monitor daemon is started.
This commit is contained in:
parent
7a24f44ad3
commit
601422cbe0
@ -189,8 +189,10 @@ class MonitorNeutronAgentsDaemon(Daemon):
|
||||
index += 1
|
||||
|
||||
def run(self):
|
||||
LOG.info('Monitor Neutron Agent Loop Start')
|
||||
self.reassign_agent_resources()
|
||||
while True:
|
||||
LOG.info('Monitor Neutron Agent Loop Start')
|
||||
time.sleep(15)
|
||||
self.reassign_agent_resources()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
@ -11,36 +11,13 @@ 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
|
||||
if [[ ${CRM_notify_task} == 'start' && $CRM_notify_rsc == 'res_PingCheck' ]]; then
|
||||
if [[ ${CRM_notify_desc} == 'OK' ]]; 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
|
||||
logger "Executing monitor to reschedule Neutron agents..."
|
||||
sudo python /usr/local/bin/monitor.py
|
||||
fi
|
||||
fi
|
||||
|
||||
|
46
files/ns_ovs_cleanup.sh.ori
Executable file
46
files/ns_ovs_cleanup.sh.ori
Executable file
@ -0,0 +1,46 @@
|
||||
#! /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
|
||||
|
@ -235,11 +235,11 @@ def ha_relation_joined():
|
||||
}
|
||||
resource_params = {
|
||||
'res_PingCheck': 'params host_list="{host}" dampen="5s" '
|
||||
'debug={debug} multiplier="100" '
|
||||
'failure_score="100" '
|
||||
'debug={debug} multiplier="1000" '
|
||||
'failure_score="10" '
|
||||
'op monitor on-fail="restart" interval="10s" '
|
||||
'timeout="60s" '.format(host=dns_hosts,
|
||||
debug=debug),
|
||||
debug=debug),
|
||||
'res_ClusterMon': 'params user="root" update="30" '
|
||||
'extra_options="-E {external_agent}" '
|
||||
'op monitor on-fail="restart" interval="10s"'
|
||||
|
@ -595,7 +595,6 @@ def get_dns_host():
|
||||
except Exception:
|
||||
log('Failed to get nameserver from resolv.conf !', level=ERROR)
|
||||
|
||||
dns_hosts.append('8.8.8.8')
|
||||
if config('dns_hosts'):
|
||||
dnss = config('dns_hosts').split(' ')
|
||||
for dns in dnss:
|
||||
|
Loading…
x
Reference in New Issue
Block a user