diff --git a/files/ping b/files/ping deleted file mode 100755 index bbca44b1..00000000 --- a/files/ping +++ /dev/null @@ -1,351 +0,0 @@ -#!/bin/sh -# -# -# Ping OCF RA that utilizes the system ping -# -# Copyright (c) 2009 Andrew Beekhof -# All Rights Reserved. -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of version 2 of the GNU General Public License as -# published by the Free Software Foundation. -# -# This program is distributed in the hope that it would be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# -# Further, this software is distributed without any warranty that it is -# free of the rightful claim of any third person regarding infringement -# or the like. Any license provided herein, whether implied or -# otherwise, applies only to this software file. Patent licenses, if -# any, provided herein do not apply to combinations of this program with -# other software, or any other product whatsoever. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write the Free Software Foundation, -# Inc., 59 Temple Place - Suite 330, Boston MA 02111-1307, USA. -# - -####################################################################### -# Initialization: - -: ${OCF_FUNCTIONS=${OCF_ROOT}/resource.d/heartbeat/.ocf-shellfuncs} -. ${OCF_FUNCTIONS} -: ${__OCF_ACTION=$1} - -####################################################################### - -meta_data() { - cat < - - -1.0 - - -Every time the monitor action is run, this resource agent records (in the CIB) the current number of ping nodes the host can connect to. -It is essentially the same as pingd except that it uses the system ping tool to obtain the results. - -node connectivity - - - - -PID file -PID file - - - - - -The time to wait (dampening) further changes occur - -Dampening interval - - - - - -The name of the attributes to set. This is the name to be used in the constraints. - -Attribute name - - - - - -The number by which to multiply the number of connected ping nodes by - -Value multiplier - - - - - -The list of ping nodes to count. Defaults to all configured ping nodes. Rarely needs to be specified. - -Host list - - - - - -Number of ping attempts, per host, before declaring it dead - -no. of ping attempts - - - - - -How long, in seconds, to wait before declaring a ping lost - -ping timeout in seconds - - - - - -A catch all for any other options that need to be passed to ping. - -Extra Options - - - - - -Enables to use default attrd_updater verbose logging on every call. - -Verbose logging - - - - - - - - - - - - - - -END -} - -####################################################################### - -ping_conditional_log() { - level=$1; shift - if [ ${OCF_RESKEY_debug} = "true" ]; then - ocf_log $level "$*" - fi -} - -ping_usage() { - cat <$f_out 2>$f_err; rc=$? - active=`grep alive $f_out|wc -l` - - case $rc in - 0) - ;; - 1) - for h in `grep unreachable $f_out | awk '{print $1}'`; do - ping_conditional_log warn "$h is inactive" - done - ;; - *) - ocf_log err "Unexpected result for '$cmd' $rc: `tr '\n' ';' < $f_err`" - ;; - esac - rm -f $f_out $f_err - - return $active -} - -ping_check() { - active=0 - for host in $OCF_RESKEY_host_list; do - p_exe=ping - - case `uname` in - Linux) p_args="-n -q -W $OCF_RESKEY_timeout -c $OCF_RESKEY_attempts";; - Darwin) p_args="-n -q -t $OCF_RESKEY_timeout -c $OCF_RESKEY_attempts -o";; - *) ocf_log err "Unknown host type: `uname`"; exit $OCF_ERR_INSTALLED;; - esac - - case $host in - *:*) p_exe=ping6 - esac - - p_out=`$p_exe $p_args $OCF_RESKEY_options $host 2>&1`; rc=$? - - case $rc in - 0) active=`expr $active + 1`;; - 1) ping_conditional_log warn "$host is inactive: $p_out";; - *) ocf_log err "Unexpected result for '$p_exe $p_args $OCF_RESKEY_options $host' $rc: $p_out";; - esac - done - return $active -} - -ping_update() { - - if have_binary fping; then - fping_check - active=$? - else - ping_check - active=$? - fi - - score=`expr $active \* $OCF_RESKEY_multiplier` - attrd_updater -n $OCF_RESKEY_name -v $score -d $OCF_RESKEY_dampen $attrd_options - rc=$? - case $rc in - 0) ping_conditional_log debug "Updated $OCF_RESKEY_name = $score" ;; - *) ocf_log warn "Could not update $OCF_RESKEY_name = $score: rc=$rc";; - esac - return $rc -} - -: ${OCF_RESKEY_name:="pingd"} -: ${OCF_RESKEY_dampen:="5s"} -: ${OCF_RESKEY_attempts:="3"} -: ${OCF_RESKEY_multiplier:="1"} -: ${OCF_RESKEY_debug:="false"} - -: ${OCF_RESKEY_CRM_meta_timeout:="20000"} -: ${OCF_RESKEY_CRM_meta_globally_unique:="true"} - -integer=`echo ${OCF_RESKEY_timeout} | egrep -o '[0-9]*'` -case ${OCF_RESKEY_timeout} in - *[0-9]ms|*[0-9]msec) OCF_RESKEY_timeout=`expr $integer / 1000`;; - *[0-9]m|*[0-9]min) OCF_RESKEY_timeout=`expr $integer \* 60`;; - *[0-9]h|*[0-9]hr) OCF_RESKEY_timeout=`expr $integer \* 60 \* 60`;; - *) OCF_RESKEY_timeout=$integer;; -esac - -if [ -z ${OCF_RESKEY_timeout} ]; then - host_count=`echo $OCF_RESKEY_host_list | awk '{print NF}'` - OCF_RESKEY_timeout=`expr $OCF_RESKEY_CRM_meta_timeout / $host_count / $OCF_RESKEY_attempts` - OCF_RESKEY_timeout=`expr $OCF_RESKEY_timeout / 1100` # Convert to seconds and finish 10% early -fi - -if [ ${OCF_RESKEY_timeout} -lt 1 ]; then - OCF_RESKEY_timeout=5 -elif [ ${OCF_RESKEY_timeout} -gt 1000 ]; then - # ping actually complains if this value is too high, 5 minutes is plenty - OCF_RESKEY_timeout=300 -fi - -if [ ${OCF_RESKEY_CRM_meta_globally_unique} = "false" ]; then - : ${OCF_RESKEY_pidfile:="$HA_VARRUN/ping-${OCF_RESKEY_name}"} -else - : ${OCF_RESKEY_pidfile:="$HA_VARRUN/ping-${OCF_RESOURCE_INSTANCE}"} -fi - -attrd_options='-q' -if ocf_is_true ${OCF_RESKEY_debug} ; then - attrd_options='' -fi - -# Check the debug option - case "${OCF_RESKEY_debug}" in - true|True|TRUE|1) OCF_RESKEY_debug=true;; - false|False|FALSE|0) OCF_RESKEY_debug=false;; - *) - ocf_log warn "Value for 'debug' is incorrect. Please specify 'true' or 'false' not: ${OCF_RESKEY_debug}" - OCF_RESKEY_debug=false - ;; - esac - -case $__OCF_ACTION in -meta-data) meta_data - exit $OCF_SUCCESS - ;; -start) ping_start;; -stop) ping_stop;; -monitor) ping_monitor;; -reload) ping_start;; -validate-all) ping_validate;; -usage|help) ping_usage - exit $OCF_SUCCESS - ;; -*) ping_usage - exit $OCF_ERR_UNIMPLEMENTED - ;; -esac -exit $? - diff --git a/hooks/quantum_hooks.py b/hooks/quantum_hooks.py index 7cd94bf2..b560f2fc 100755 --- a/hooks/quantum_hooks.py +++ b/hooks/quantum_hooks.py @@ -230,7 +230,7 @@ def ha_relation_joined(): cluster_config = get_hacluster_config(excludes_key=['vip']) resources = { - 'res_PingCheck': 'ocf:canonical:ping', + 'res_PingCheck': 'ocf:pacemaker:ping', 'res_ClusterMon': 'ocf:pacemaker:ClusterMon', } resource_params = {