Hello community,

here is the log from the commit of package resource-agents for openSUSE:Factory 
checked in at 2014-12-08 16:56:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/resource-agents (Old)
 and      /work/SRC/openSUSE:Factory/.resource-agents.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "resource-agents"

Changes:
--------
--- /work/SRC/openSUSE:Factory/resource-agents/resource-agents.changes  
2014-10-17 08:50:54.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.resource-agents.new/resource-agents.changes     
2014-12-08 16:56:01.000000000 +0100
@@ -1,0 +2,16 @@
+Fri Nov 21 11:30:30 UTC 2014 - kgronl...@suse.com
+
+- Update to upstream cs v3.9.5-631-g992ca06
+  - High: Introduces the docker agent to manage docker containers in an HA 
environment
+  - High: mysql: report error when validation fails during monitor yet pid is 
still active
+  - High: mysql-common: avoid use of check_binary in common validation 
function.
+  - Medium: ocf-shellfuncs: set HA_LOGD depending on HA_use_logd
+  - Low: VirtualDomain: downgrade error msg during probe
+  - Modified replication_user description: RELOAD privilege is required for 
RESET SLAVE or RESET SLAVE ALL command.
+  - lvm_by_vg.sh: Only strip tag on stop if we are owner
+  - Low: pgsql: PostgreSQL 9.3 compatibility for unix_socket_directories
+  - Medium: Xen: Use xl list $domain return code in status check (boo#901453)
+  - Medium: VirtualDomain: For Xen, prefer xl to xen-list (boo#901453)
+  - Low: mysql: document use of notify metadata attr for master/slave
+
+-------------------------------------------------------------------

Old:
----
  resource-agents-3.9.5+git589.tar.xz

New:
----
  resource-agents-3.9.5+git631.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ resource-agents.spec ++++++
--- /var/tmp/diff_new_pack.aZ2aun/_old  2014-12-08 16:56:02.000000000 +0100
+++ /var/tmp/diff_new_pack.aZ2aun/_new  2014-12-08 16:56:02.000000000 +0100
@@ -48,7 +48,7 @@
 Summary:        Open Source HA Reusable Cluster Resource Scripts
 License:        GPL-2.0 and LGPL-2.1+ and GPL-3.0+
 Group:          Productivity/Clustering/HA
-Version:        3.9.5+git589
+Version:        3.9.5+git631
 Release:        0
 Url:            http://linux-ha.org/
 Source:         resource-agents-%{version}.tar.xz

++++++ resource-agents-3.9.5+git589.tar.xz -> 
resource-agents-3.9.5+git631.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/resource-agents-3.9.5+git589/configure.ac 
new/resource-agents-3.9.5+git631/configure.ac
--- old/resource-agents-3.9.5+git589/configure.ac       2014-09-27 
13:49:54.000000000 +0200
+++ new/resource-agents-3.9.5+git631/configure.ac       2014-11-18 
16:34:51.000000000 +0100
@@ -911,7 +911,7 @@
 AC_MSG_RESULT([])
 AC_MSG_RESULT([$PACKAGE configuration:])
 AC_MSG_RESULT([  Version                  = ${VERSION}])
-AC_MSG_RESULT([  Build Version            = 
b644395182179ad500424dfbd648e2abd2c4ad69])
+AC_MSG_RESULT([  Build Version            = 
992ca067ffbe7a5fb3b882b6bb1e56f66251d732])
 AC_MSG_RESULT([  Features                 =${PKG_FEATURES}])
 AC_MSG_RESULT([])
 AC_MSG_RESULT([  Prefix                   = ${prefix}])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/resource-agents-3.9.5+git589/doc/man/Makefile.am 
new/resource-agents-3.9.5+git631/doc/man/Makefile.am
--- old/resource-agents-3.9.5+git589/doc/man/Makefile.am        2014-09-27 
13:49:54.000000000 +0200
+++ new/resource-agents-3.9.5+git631/doc/man/Makefile.am        2014-11-18 
16:34:51.000000000 +0100
@@ -98,6 +98,7 @@
                           ocf_heartbeat_conntrackd.7 \
                           ocf_heartbeat_db2.7 \
                           ocf_heartbeat_dhcpd.7 \
+                          ocf_heartbeat_docker.7 \
                           ocf_heartbeat_eDir88.7 \
                           ocf_heartbeat_ethmonitor.7 \
                           ocf_heartbeat_exportfs.7 \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/resource-agents-3.9.5+git589/heartbeat/Makefile.am 
new/resource-agents-3.9.5+git631/heartbeat/Makefile.am
--- old/resource-agents-3.9.5+git589/heartbeat/Makefile.am      2014-09-27 
13:49:54.000000000 +0200
+++ new/resource-agents-3.9.5+git631/heartbeat/Makefile.am      2014-11-18 
16:34:51.000000000 +0100
@@ -67,6 +67,7 @@
                        dhcpd           \
                        Delay                   \
                        dnsupdate               \
+                       docker                  \
                        eDir88                  \
                        EvmsSCC                 \
                        Evmsd                   \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/resource-agents-3.9.5+git589/heartbeat/VirtualDomain 
new/resource-agents-3.9.5+git631/heartbeat/VirtualDomain
--- old/resource-agents-3.9.5+git589/heartbeat/VirtualDomain    2014-09-27 
13:49:54.000000000 +0200
+++ new/resource-agents-3.9.5+git631/heartbeat/VirtualDomain    2014-11-18 
16:34:51.000000000 +0100
@@ -226,6 +226,12 @@
 get_emulator()
 {
        local emulator=""
+       # An emulator is not required, so only report message in debug mode
+       local loglevel="debug"
+
+       if ocf_is_probe; then
+               loglevel="notice"
+       fi
 
        emulator=$(virsh $VIRSH_OPTIONS dumpxml $DOMAIN_NAME 2>/dev/null | sed 
-n -e 's/^.*<emulator>\(.*\)<\/emulator>.*$/\1/p')
        if [ -z "$emulator" ] && [ -a "$EMULATOR_STATE" ]; then
@@ -238,7 +244,7 @@
        if [ -n "$emulator" ]; then
                basename $emulator
        else 
-               ocf_log error "Unable to determine emulator for $DOMAIN_NAME" 
+               ocf_log $loglevel "Unable to determine emulator for 
$DOMAIN_NAME"
        fi
 }
 
@@ -276,11 +282,17 @@
                # This can be expanded to check for additional emulators
                *)
                        # We may be running xen with PV domains, they don't
-                       # have an emulator set. try xenstore-ls in this case
-                       if have_binary xenstore-ls; then
-                               xenstore-ls -f /vm | grep -E "/vm.*name = 
\"$DOMAIN_NAME\"" > /dev/null 2>&1
+                       # have an emulator set. try xl list or xen-lists
+                       if have_binary xl; then
+                               xl list $DOMAIN_NAME >/dev/null 2>&1
+                               if [ $? -eq 0 ]; then
+                                       return $OCF_SUCCESS
+                               fi
+                       fi
+                       if have_binary xen-list; then
+                               xen-list $DOMAIN_NAME 2>/dev/null | grep -qs 
"State.*[-r][-b][-p]--" 2>/dev/null
                                if [ $? -eq 0 ]; then
-                                       rc=$OCF_SUCCESS
+                                       return $OCF_SUCCESS
                                fi
                        fi
                        ;;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/resource-agents-3.9.5+git589/heartbeat/Xen 
new/resource-agents-3.9.5+git631/heartbeat/Xen
--- old/resource-agents-3.9.5+git589/heartbeat/Xen      2014-09-27 
13:49:54.000000000 +0200
+++ new/resource-agents-3.9.5+git631/heartbeat/Xen      2014-11-18 
16:34:51.000000000 +0100
@@ -33,9 +33,9 @@
 #######################################################################
 
 usage() {
-  cat <<-END
+       cat <<-END
        usage: $0 {start|stop|status|monitor|meta-data|validate-all}
-       END
+END
 }
 
 
@@ -57,7 +57,7 @@
 <longdesc lang="en">
 Resource Agent for the Xen Hypervisor.
 Manages Xen virtual machine instances by mapping cluster resource
-start and stop,  to Xen create and shutdown, respectively.
+start and stop, to Xen create and shutdown, respectively.
 
 A note on names
 
@@ -181,42 +181,41 @@
 }
 
 Xen_Status() {
-  if have_binary xen-list; then
-     xen-list $1 2>/dev/null | grep -qs "State.*[-r][-b][-p]--" 2>/dev/null
-     if [ $? -ne 0 ]; then
-       return $OCF_NOT_RUNNING
-     else
-       return $OCF_SUCCESS
-     fi
-  fi
-  if have_binary xenstore-ls; then
-         xenstore-ls -f /vm | grep -E "/vm.*name = \"$1\"" > /dev/null 2>&1
-         if [ $? -ne 0 ]; then
-                 return $OCF_NOT_RUNNING
-         else
-                 return $OCF_SUCCESS
-         fi
-  fi
-  STATUS=`$xentool list --long $1 2>/dev/null | grep status 2>/dev/null`
-  if [ "X${STATUS}" != "X" ]; then
-    # we have Xen 3.0.4 or higher
-    STATUS_NOSPACES=`echo "$STATUS" | awk '{ print $1,$2}'`
-    if [ "$STATUS_NOSPACES" = "(status 2)" -o "$STATUS_NOSPACES" = "(status 
1)" ]; then
-      return $OCF_SUCCESS
-    else
-      return $OCF_NOT_RUNNING
-    fi
-  else
-    # we have Xen 3.0.3 or lower
-    STATUS=`$xentool list --long $1 2>/dev/null | grep state 2>/dev/null`
-    echo "${STATUS}" | grep -qs "[-r][-b][-p]---"
-    if [ $? -ne 0 ]; then
-      return $OCF_NOT_RUNNING
-    else
-      return $OCF_SUCCESS
-    fi
-
-  fi
+       if expr "x$xentool" : "x.*xl" >/dev/null; then
+               $xentool list $1 >/dev/null 2>&1
+               if [ $? -ne 0 ]; then
+                       return $OCF_NOT_RUNNING
+               else
+                       return $OCF_SUCCESS
+               fi
+       fi
+       if have_binary xen-list; then
+               xen-list $1 2>/dev/null | grep -qs "State.*[-r][-b][-p]--" 
2>/dev/null
+               if [ $? -ne 0 ]; then
+                       return $OCF_NOT_RUNNING
+               else
+                       return $OCF_SUCCESS
+               fi
+       fi
+       STATUS=`$xentool list --long $1 2>/dev/null | grep status 2>/dev/null`
+       if [ "X${STATUS}" != "X" ]; then
+               # we have Xen 3.0.4 or higher
+               STATUS_NOSPACES=`echo "$STATUS" | awk '{ print $1,$2}'`
+               if [ "$STATUS_NOSPACES" = "(status 2)" -o "$STATUS_NOSPACES" = 
"(status 1)" ]; then
+                       return $OCF_SUCCESS
+               else
+                       return $OCF_NOT_RUNNING
+               fi
+       else
+               # we have Xen 3.0.3 or lower
+               STATUS=`$xentool list --long $1 2>/dev/null | grep state 
2>/dev/null`
+               echo "${STATUS}" | grep -qs "[-r][-b][-p]---"
+               if [ $? -ne 0 ]; then
+                       return $OCF_NOT_RUNNING
+               else
+                       return $OCF_SUCCESS
+               fi
+       fi
 }
 
 # If the guest is rebooting, it may completely disappear from the
@@ -226,47 +225,47 @@
 # If a status returns not running, then test status
 # again for 5 times (perhaps it'll show up)
 Xen_Status_with_Retry() {
-  local rc cnt=5
+       local rc cnt=5
 
-  Xen_Status $1
-  rc=$?
-  while [ $rc -eq $OCF_NOT_RUNNING -a $cnt -gt 0 ]; do
-       case "$__OCF_ACTION" in
-       stop)
-         ocf_log debug "domain $1 reported as not running, waiting $cnt 
seconds ..."
-         ;;
-       monitor)
-         ocf_log warn "domain $1 reported as not running, but it is expected 
to be running! Retrying for $cnt seconds ..."
-         ;;
-       *) : not reachable
-               ;;
-       esac
-       sleep 1
        Xen_Status $1
        rc=$?
-       let cnt=$((cnt-1))
-  done
-  return $rc
+       while [ $rc -eq $OCF_NOT_RUNNING -a $cnt -gt 0 ]; do
+               case "$__OCF_ACTION" in
+                       stop)
+                               ocf_log debug "domain $1 reported as not 
running, waiting $cnt seconds ..."
+                               ;;
+                       monitor)
+                               ocf_log warn "domain $1 reported as not 
running, but it is expected to be running! Retrying for $cnt seconds ..."
+                               ;;
+                       *) : not reachable
+                               ;;
+               esac
+               sleep 1
+               Xen_Status $1
+               rc=$?
+               let cnt=$((cnt-1))
+       done
+       return $rc
 }
 
 Xen_Adjust_Memory() {
-    if ocf_is_true "${OCF_RESKEY_allow_mem_management}"; then
-      CNTNEW=$1
-      RUNNING=`Xen_List_running`
-      RUNCNT=`Xen_Count_running`
-      MAXMEM=`Xen_Total_Memory`
-      if [ ${RUNCNT} -eq 0 -a ${CNTNEW} -eq 0 ]; then
-       RUNCNT=1
-      fi
-      #NEWMEM=`echo 
"(${MAXMEM}-${OCF_RESKEY_reserved_Dom0_memory})/(${RUNCNT}+${CNTNEW})"|bc`
-      NEWMEM=$(( (${MAXMEM} - ${OCF_RESKEY_reserved_Dom0_memory}) / (${RUNCNT} 
+ ${CNTNEW} ) ))
-      # do not rely on ballooning add dom0_mem=512 instead to force memory for 
dom0
-      #$xentool mem-set Domain-0 ${OCF_RESKEY_reserved_Dom0_memory}
-      for DOM in ${RUNNING}; do
-        $xentool mem-set ${DOM} ${NEWMEM}
-      done
-      ocf_log info "Adjusted memory to: $NEWMEM, for the following $RUNCNT 
domains: $RUNNING"
-    fi
+       if ocf_is_true "${OCF_RESKEY_allow_mem_management}"; then
+               CNTNEW=$1
+               RUNNING=`Xen_List_running`
+               RUNCNT=`Xen_Count_running`
+               MAXMEM=`Xen_Total_Memory`
+               if [ ${RUNCNT} -eq 0 -a ${CNTNEW} -eq 0 ]; then
+                       RUNCNT=1
+               fi
+               #NEWMEM=`echo 
"(${MAXMEM}-${OCF_RESKEY_reserved_Dom0_memory})/(${RUNCNT}+${CNTNEW})"|bc`
+               NEWMEM=$(( (${MAXMEM} - ${OCF_RESKEY_reserved_Dom0_memory}) / 
(${RUNCNT} + ${CNTNEW} ) ))
+               # do not rely on ballooning add dom0_mem=512 instead to force 
memory for dom0
+               #$xentool mem-set Domain-0 ${OCF_RESKEY_reserved_Dom0_memory}
+               for DOM in ${RUNNING}; do
+                       $xentool mem-set ${DOM} ${NEWMEM}
+               done
+               ocf_log info "Adjusted memory to: $NEWMEM, for the following 
$RUNCNT domains: $RUNNING"
+       fi
 }
 
 Xen_List_all() {
@@ -285,26 +284,26 @@
 }
 
 Xen_Monitor() {
-  if ocf_is_probe; then
-       Xen_Status ${DOMAIN_NAME}
-  else
-       Xen_Status_with_Retry ${DOMAIN_NAME}
-  fi
-  if [ $? -eq ${OCF_NOT_RUNNING} ]; then
-       ocf_is_probe ||
-         ocf_log err "Xen domain $DOMAIN_NAME stopped"
-       return ${OCF_NOT_RUNNING}
-  fi
-  if [ "X${OCF_RESKEY_monitor_scripts}" = "X" ]; then
-       return ${OCF_SUCCESS}
-  fi
-  for SCRIPT in ${OCF_RESKEY_monitor_scripts}; do
-       $SCRIPT
-       if [ $? -ne 0 ]; then
-               return ${OCF_ERR_GENERIC}
+       if ocf_is_probe; then
+               Xen_Status ${DOMAIN_NAME}
+       else
+               Xen_Status_with_Retry ${DOMAIN_NAME}
        fi
-  done
-  return ${OCF_SUCCESS}
+       if [ $? -eq ${OCF_NOT_RUNNING} ]; then
+               ocf_is_probe ||
+               ocf_log err "Xen domain $DOMAIN_NAME stopped"
+               return ${OCF_NOT_RUNNING}
+       fi
+       if [ "X${OCF_RESKEY_monitor_scripts}" = "X" ]; then
+               return ${OCF_SUCCESS}
+       fi
+       for SCRIPT in ${OCF_RESKEY_monitor_scripts}; do
+               $SCRIPT
+               if [ $? -ne 0 ]; then
+                       return ${OCF_ERR_GENERIC}
+               fi
+       done
+       return ${OCF_SUCCESS}
 }
 
 Xen_Total_Memory() {
@@ -312,181 +311,183 @@
 }
 
 Xen_Start() {
-  if Xen_Status ${DOMAIN_NAME}; then
-    ocf_log info "Xen domain $DOMAIN_NAME already running."
-    return $OCF_SUCCESS
-  fi
-
-  if [ ! -f "${OCF_RESKEY_xmfile}" ]; then
-    ocf_log err "Config file ${OCF_RESKEY_xmfile} for $DOMAIN_NAME does not 
exist."
-    return $OCF_ERR_INSTALLED
-  fi
-
-  if ocf_is_true "${OCF_RESKEY_allow_mem_management}"; then
-    Xen_Adjust_Memory 1
-    ocf_log info "New memory for virtual domains: ${NEWMEM}"
-    sed -i -e "/^memory=/ s/^memory=.*/memory=${NEWMEM}/" ${OCF_RESKEY_xmfile}
-    $xentool mem-set ${DOMAIN_NAME} ${NEWMEM}
-  fi
-
-  $xentool create ${OCF_RESKEY_xmfile} name=\"$DOMAIN_NAME\"
-  rc=$?
-  if [ $rc -ne 0 ]; then
-    return $OCF_ERR_GENERIC
-  else
-    if ocf_is_true "${OCF_RESKEY_allow_mem_management}"; then
-      $xentool mem-set ${DOMAIN_NAME} ${NEWMEM}
-    fi
-  fi
-  while sleep 1; do
-    Xen_Monitor && return $OCF_SUCCESS
-  done
+       if Xen_Status ${DOMAIN_NAME}; then
+               ocf_log info "Xen domain $DOMAIN_NAME already running."
+               return $OCF_SUCCESS
+       fi
+
+       if [ ! -f "${OCF_RESKEY_xmfile}" ]; then
+               ocf_log err "Config file ${OCF_RESKEY_xmfile} for $DOMAIN_NAME 
does not exist."
+               return $OCF_ERR_INSTALLED
+       fi
+
+       if ocf_is_true "${OCF_RESKEY_allow_mem_management}"; then
+               Xen_Adjust_Memory 1
+               ocf_log info "New memory for virtual domains: ${NEWMEM}"
+               sed -i -e "/^memory=/ s/^memory=.*/memory=${NEWMEM}/" 
${OCF_RESKEY_xmfile}
+               $xentool mem-set ${DOMAIN_NAME} ${NEWMEM}
+       fi
+
+       $xentool create ${OCF_RESKEY_xmfile} name=\"$DOMAIN_NAME\"
+       rc=$?
+       if [ $rc -ne 0 ]; then
+               return $OCF_ERR_GENERIC
+       else
+               if ocf_is_true "${OCF_RESKEY_allow_mem_management}"; then
+                       $xentool mem-set ${DOMAIN_NAME} ${NEWMEM}
+               fi
+       fi
+       while sleep 1; do
+               Xen_Monitor && return $OCF_SUCCESS
+       done
 }
 
 xen_domain_stop() {
-    local dom=$1
-    local timeout
+       local dom=$1
+       local timeout
 
-    if [ -n "$OCF_RESKEY_shutdown_timeout" ]; then
-      timeout=$OCF_RESKEY_shutdown_timeout
-    elif [ -n "$OCF_RESKEY_CRM_meta_timeout" ]; then
-      # Allow 2/3 of the action timeout for the orderly shutdown
-      # (The origin unit is ms, hence the conversion)
-      timeout=$((OCF_RESKEY_CRM_meta_timeout/1500))
-    else
-      timeout=60
-    fi
-
-    if [ "$timeout" -gt 0 ]; then
-      ocf_log info "Xen domain $dom will be stopped (timeout: ${timeout}s)"
-      if ocf_is_true "${OCF_RESKEY_shutdown_acpi}"; then
-        $xentool trigger $dom power
-      else
-        $xentool shutdown $dom
-      fi
-
-      while Xen_Status $dom && [ "$timeout" -gt 0 ]; do
-        ocf_log debug "$dom still not stopped. Waiting..."
-        timeout=$((timeout-1))
-        sleep 1
-      done
-    fi
-
-    if [ "$timeout" -eq 0 ]; then
-      while Xen_Status $dom; do
-        ocf_log warn "Xen domain $dom will be destroyed!"
-       $xenkill $dom
-        sleep 1
-      done
-      # Note: This does not give up. stop isn't allowed to to fail.
-      # If $xentool destroy fails, stop will eventually timeout.
-      # This is the correct behaviour.
-    fi
+       if [ -n "$OCF_RESKEY_shutdown_timeout" ]; then
+               timeout=$OCF_RESKEY_shutdown_timeout
+       elif [ -n "$OCF_RESKEY_CRM_meta_timeout" ]; then
+               # Allow 2/3 of the action timeout for the orderly shutdown
+               # (The origin unit is ms, hence the conversion)
+               timeout=$((OCF_RESKEY_CRM_meta_timeout/1500))
+       else
+               timeout=60
+       fi
 
-    ocf_log info "Xen domain $dom stopped."
+       if [ "$timeout" -gt 0 ]; then
+               ocf_log info "Xen domain $dom will be stopped (timeout: 
${timeout}s)"
+               if ocf_is_true "${OCF_RESKEY_shutdown_acpi}"; then
+                       $xentool trigger $dom power
+               else
+                       $xentool shutdown $dom
+               fi
+
+               while Xen_Status $dom && [ "$timeout" -gt 0 ]; do
+                       ocf_log debug "$dom still not stopped. Waiting..."
+                       timeout=$((timeout-1))
+                       sleep 1
+               done
+       fi
+
+       if [ "$timeout" -eq 0 ]; then
+               while Xen_Status $dom; do
+                       ocf_log warn "Xen domain $dom will be destroyed!"
+                       $xenkill $dom
+                       sleep 1
+               done
+               # Note: This does not give up. stop isn't allowed to to fail.
+               # If $xentool destroy fails, stop will eventually timeout.
+               # This is the correct behaviour.
+       fi
+
+       ocf_log info "Xen domain $dom stopped."
 }
 
 Xen_Stop() {
-  local vm
-  if Xen_Status_with_Retry ${DOMAIN_NAME}; then
-    vm=${DOMAIN_NAME}
-  elif Xen_Status migrating-${DOMAIN_NAME}; then
-    ocf_log info "Xen domain $DOMAIN_NAME is migrating"
-    vm="migrating-${DOMAIN_NAME}"
-  else
-    ocf_log info "Xen domain $DOMAIN_NAME already stopped."
-  fi
-
-  if [ "$vm" ]; then
-    xen_domain_stop $vm
-  else
-  # It is supposed to be gone, but there have been situations where
-  # $xentool list / xen-list showed it as stopped but it was still
-  # instantiated. Nuke it once more to make sure:
-    $xenkill ${DOMAIN_NAME}
-  fi
+       local vm
+       if Xen_Status_with_Retry ${DOMAIN_NAME}; then
+               vm=${DOMAIN_NAME}
+       elif Xen_Status migrating-${DOMAIN_NAME}; then
+               ocf_log info "Xen domain $DOMAIN_NAME is migrating"
+               vm="migrating-${DOMAIN_NAME}"
+       else
+               ocf_log info "Xen domain $DOMAIN_NAME already stopped."
+       fi
+
+       if [ "$vm" ]; then
+               xen_domain_stop $vm
+       else
+               # It is supposed to be gone, but there have been situations 
where
+               # $xentool list / xen-list showed it as stopped but it was still
+               # instantiated. Nuke it once more to make sure:
+               $xenkill ${DOMAIN_NAME}
+       fi
 
-  Xen_Adjust_Memory 0
-  return $OCF_SUCCESS
+       Xen_Adjust_Memory 0
+       return $OCF_SUCCESS
 }
 
 Xen_Migrate_To() {
-  target_node="$OCF_RESKEY_CRM_meta_migrate_target"
-  target_attr="$OCF_RESKEY_node_ip_attribute"
-  target_addr="$target_node"
-
-  if Xen_Status ${DOMAIN_NAME}; then
-    ocf_log info "$DOMAIN_NAME: Starting $xentool migrate to $target_node"
-
-    if [ -n "$target_attr" ]; then
-         nodevalue=`crm_attribute --type nodes --node-uname $target_node 
--attr-name $target_attr --get-value -q`
-         if [ -n "${nodevalue}" -a "${nodevalue}" != "(null)" ]; then
-               target_addr="$nodevalue"
-               ocf_log info "$DOMAIN_NAME: $target_node is using address 
$target_addr"
-         fi
-    fi
-
-    if [[ "$xentool" == *xm ]]; then
-        $xentool migrate --live $DOMAIN_NAME $target_addr
-    else
-        $xentool migrate $DOMAIN_NAME $target_addr
-    fi
-    rc=$?
-    if [ $rc -ne 0 ]; then
-      ocf_log err "$DOMAIN_NAME: $xentool migrate to $target_node failed: $rc"
-      return $OCF_ERR_GENERIC
-    else
-      Xen_Adjust_Memory 0
-      ocf_log info "$DOMAIN_NAME: $xentool migrate to $target_node succeeded."
-      return $OCF_SUCCESS
-    fi
-  else
-    ocf_log err "$DOMAIN_NAME: migrate_to: Not active locally!"
-    return $OCF_ERR_GENERIC
-  fi
+       target_node="$OCF_RESKEY_CRM_meta_migrate_target"
+       target_attr="$OCF_RESKEY_node_ip_attribute"
+       target_addr="$target_node"
+
+       if Xen_Status ${DOMAIN_NAME}; then
+               ocf_log info "$DOMAIN_NAME: Starting $xentool migrate to 
$target_node"
+
+               if [ -n "$target_attr" ]; then
+                       nodevalue=`crm_attribute --type nodes --node-uname 
$target_node --attr-name $target_attr --get-value -q`
+                       if [ -n "${nodevalue}" -a "${nodevalue}" != "(null)" ]; 
then
+                               target_addr="$nodevalue"
+                               ocf_log info "$DOMAIN_NAME: $target_node is 
using address $target_addr"
+                       fi
+               fi
+
+               if expr "x$xentool" : "x.*xm" >/dev/null; then
+                       $xentool migrate --live $DOMAIN_NAME $target_addr
+               else
+                       $xentool migrate $DOMAIN_NAME $target_addr
+               fi
+               rc=$?
+               if [ $rc -ne 0 ]; then
+                       ocf_log err "$DOMAIN_NAME: $xentool migrate to 
$target_node failed: $rc"
+                       return $OCF_ERR_GENERIC
+               else
+                       Xen_Adjust_Memory 0
+                       ocf_log info "$DOMAIN_NAME: $xentool migrate to 
$target_node succeeded."
+                       return $OCF_SUCCESS
+               fi
+       else
+               ocf_log err "$DOMAIN_NAME: migrate_to: Not active locally!"
+               return $OCF_ERR_GENERIC
+       fi
 }
 
 Xen_Migrate_From() {
-  if [ -n "$OCF_RESKEY_CRM_meta_timeout" ]; then
-      # Allow 2/3 of the action timeout for status to stabilize
-      # (The origin unit is ms, hence the conversion)
-      timeout=$((OCF_RESKEY_CRM_meta_timeout/1500))
-  else
-      timeout=10               # should be plenty
-  fi
-
-  while ! Xen_Status ${DOMAIN_NAME} && [ $timeout -gt 0 ]; do
-    ocf_log debug "$DOMAIN_NAME: Not yet active locally, waiting (timeout: 
${timeout}s)"
-    timeout=$((timeout-1))
-    sleep 1
-  done
-
-  if Xen_Status ${DOMAIN_NAME}; then
-    Xen_Adjust_Memory 0
-    ocf_log info "$DOMAIN_NAME: Active locally, migration successful"
-    return $OCF_SUCCESS
-  else
-    ocf_log err "$DOMAIN_NAME: Not active locally, migration failed!"
-    return $OCF_ERR_GENERIC
-  fi
+       if [ -n "$OCF_RESKEY_CRM_meta_timeout" ]; then
+               # Allow 2/3 of the action timeout for status to stabilize
+               # (The origin unit is ms, hence the conversion)
+               timeout=$((OCF_RESKEY_CRM_meta_timeout/1500))
+       else
+               timeout=10              # should be plenty
+       fi
+
+       while ! Xen_Status ${DOMAIN_NAME} && [ $timeout -gt 0 ]; do
+               ocf_log debug "$DOMAIN_NAME: Not yet active locally, waiting 
(timeout: ${timeout}s)"
+               timeout=$((timeout-1))
+               sleep 1
+       done
+
+       if Xen_Status ${DOMAIN_NAME}; then
+               Xen_Adjust_Memory 0
+               ocf_log info "$DOMAIN_NAME: Active locally, migration 
successful"
+               return $OCF_SUCCESS
+       else
+               ocf_log err "$DOMAIN_NAME: Not active locally, migration 
failed!"
+               return $OCF_ERR_GENERIC
+       fi
 }
 
 Xen_Validate_All() {
-  return $OCF_SUCCESS
+       return $OCF_SUCCESS
 }
 
 if [ $# -ne 1 ]; then
-  usage
-  exit $OCF_ERR_ARGS
+       usage
+       exit $OCF_ERR_ARGS
 fi
 
 case $1 in
-  meta-data)           meta_data
-                       exit $OCF_SUCCESS
-                       ;;
-  usage)               usage
-                       exit $OCF_SUCCESS
-                       ;;
+       meta-data)
+               meta_data
+               exit $OCF_SUCCESS
+               ;;
+       usage)
+               usage
+               exit $OCF_SUCCESS
+               ;;
 esac
 
 # the name business:
@@ -509,13 +510,13 @@
 fi
 
 for binary in sed awk; do
-    check_binary $binary
+       check_binary $binary
 done
 
 if have_binary xen-destroy ; then
-  xenkill="xen-destroy"
+       xenkill="xen-destroy"
 else
-  xenkill="$xentool destroy"
+       xenkill="$xentool destroy"
 fi
 
 if [ -n "$OCF_RESKEY_shutdown_timeout" ]; then
@@ -526,23 +527,31 @@
 fi
 
 case $1 in
-  start)               Xen_Start
-                       ;;
-  stop)                        Xen_Stop
-                       ;;
-  migrate_to)          Xen_Migrate_To
-                       ;;
-  migrate_from)                Xen_Migrate_From
-                       ;;
-  monitor)             Xen_Monitor
-                       ;;
-  status)              Xen_Status ${DOMAIN_NAME}
-                       ;;
-  validate-all)                Xen_Validate_All
-                       ;;
-  *)                   usage
-                       exit $OCF_ERR_UNIMPLEMENTED
-                       ;;
+       start)
+               Xen_Start
+               ;;
+       stop)
+               Xen_Stop
+               ;;
+       migrate_to)
+               Xen_Migrate_To
+               ;;
+       migrate_from)
+               Xen_Migrate_From
+               ;;
+       monitor)
+               Xen_Monitor
+               ;;
+       status)
+               Xen_Status ${DOMAIN_NAME}
+               ;;
+       validate-all)
+               Xen_Validate_All
+               ;;
+       *)
+               usage
+               exit $OCF_ERR_UNIMPLEMENTED
+               ;;
 esac
 exit $?
 # vim:sw=2:ts=4:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/resource-agents-3.9.5+git589/heartbeat/dhcpd 
new/resource-agents-3.9.5+git631/heartbeat/dhcpd
--- old/resource-agents-3.9.5+git589/heartbeat/dhcpd    2014-09-27 
13:49:54.000000000 +0200
+++ new/resource-agents-3.9.5+git631/heartbeat/dhcpd    2014-11-18 
16:34:51.000000000 +0100
@@ -64,6 +64,7 @@
 
         The 'start' operation starts the dhcpd server.
         The 'stop' operation stops the dhcpd server.
+        The 'restart' operation restarts the dhcpd server.
         The 'monitor' operation reports whether the dhcpd service is running.
         The 'validate-all' operation reports whether the parameters are valid.
 EOF
@@ -171,6 +172,7 @@
   <actions>
     <action name="start"        timeout="20" />
     <action name="stop"         timeout="20" />
+    <action name="restart"         timeout="20" />
     <action name="monitor"      timeout="20" interval="10" depth="0" />
     <action name="meta-data"    timeout="5" />
     <action name="validate-all"   timeout="20" />
@@ -538,6 +540,9 @@
 case $__OCF_ACTION in
 start)          dhcpd_start;;
 stop)           dhcpd_stop;;
+restart)        dhcpd_stop
+                dhcpd_start
+                ;;
 monitor)        dhcpd_monitor;;
 *)              dhcpd_usage
                 exit $OCF_ERR_UNIMPLEMENTED
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/resource-agents-3.9.5+git589/heartbeat/docker 
new/resource-agents-3.9.5+git631/heartbeat/docker
--- old/resource-agents-3.9.5+git589/heartbeat/docker   1970-01-01 
01:00:00.000000000 +0100
+++ new/resource-agents-3.9.5+git631/heartbeat/docker   2014-11-18 
16:34:51.000000000 +0100
@@ -0,0 +1,425 @@
+#!/bin/sh
+#
+# The docker HA resource agent creates and launches a docker container
+# based off a supplied docker image. Containers managed by this agent
+# are both created and removed upon the agent's start and stop actions.
+#
+# Copyright (c) 2014 David Vossel <dvos...@redhat.com>
+#                    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_DIR=${OCF_ROOT}/lib/heartbeat}
+. ${OCF_FUNCTIONS_DIR}/ocf-shellfuncs
+
+#######################################################################
+
+meta_data()
+{
+       cat <<END
+<?xml version="1.0"?>
+<!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd">
+<resource-agent name="docker" version="0.9">
+<version>1.0</version>
+
+<longdesc lang="en">
+The docker HA resource agent creates and launches a docker container
+based off a supplied docker image. Containers managed by this agent
+are both created and removed upon the agent's start and stop actions.
+</longdesc>
+<shortdesc lang="en">Docker container resource agent.</shortdesc>
+
+<parameters>
+<parameter name="image" required="1" unique="0">
+<longdesc lang="en">
+The docker image to base this container off of.
+</longdesc>
+<shortdesc lang="en">docker image</shortdesc>
+<content type="string"/>
+</parameter>
+
+<parameter name="name" required="0" unique="0">
+<longdesc lang="en">
+The name to give the created container. By default this will 
+be that resource's instance name.
+</longdesc>
+<shortdesc lang="en">docker container name</shortdesc>
+<content type="string"/>
+</parameter>
+
+<parameter name="allow_pull" unique="0">
+<longdesc lang="en">
+Allow the image to be pulled from the configured docker registry when
+the image does not exist locally. NOTE, this can drastically increase
+the time required to start the container if the image repository is 
+pulled over the network.
+</longdesc>
+<shortdesc lang="en">Allow pulling non-local images</shortdesc>
+<content type="boolean"/>
+</parameter>
+
+<parameter name="run_opts" required="0" unique="0">
+<longdesc lang="en">
+Add options to be appended to the 'docker run' command which is used
+when creating the container during the start action. This option allows
+users to do things such as setting a custom entry point and injecting
+environment variables into the newly created container. Note the '-d' 
+option is supplied regardless of this value to force containers to run 
+in the background.
+
+NOTE: Do not explicitly specify the --name argument in the run_opts. This
+agent will set --name using either the resource's instance or the name
+provided in the 'name' argument of this agent.
+
+</longdesc>
+<shortdesc lang="en">run options</shortdesc>
+<content type="string"/>
+</parameter>
+
+<parameter name="run_cmd" required="0" unique="0">
+<longdesc lang="en">
+Specifiy a command to launch within the container once 
+it has initialized.
+</longdesc>
+<shortdesc lang="en">run command</shortdesc>
+<content type="string"/>
+</parameter>
+
+<parameter name="monitor_cmd" required="0" unique="0">
+<longdesc lang="en">
+Specifiy the full path of a command to launch within the container to check
+the health of the container. This command must return 0 to indicate that
+the container is healthy. A non-zero return code will indicate that the
+container has failed and should be recovered.
+
+The command is executed using nsenter. In the future 'docker exec' will
+be used once it is more widely supported.
+</longdesc>
+<shortdesc lang="en">monitor command</shortdesc>
+<content type="string"/>
+</parameter>
+
+<parameter name="force_kill" required="0" unique="0">
+<longdesc lang="en">
+Kill a container immediately rather than waiting for it to gracefully
+shutdown
+</longdesc>
+<shortdesc lang="en">force kill</shortdesc>
+<content type="boolean"/>
+</parameter>
+
+<parameter name="reuse" required="0" unique="0">
+<longdesc lang="en">
+Allow the container to be reused after stopping the container. By default
+containers are removed after stop. With the reuse option containers
+will persist after the container stops.
+</longdesc>
+<shortdesc lang="en">reuse container</shortdesc>
+<content type="boolean"/>
+</parameter>
+
+</parameters>
+
+<actions>
+<action name="start"        timeout="90" />
+<action name="stop"         timeout="90" />
+<action name="monitor"      timeout="30" interval="30" depth="0" />
+<action name="meta-data"    timeout="5" />
+<action name="validate-all"   timeout="30" />
+</actions>
+</resource-agent>
+END
+}
+
+#######################################################################
+REQUIRE_IMAGE_PULL=0
+
+docker_usage()
+{
+       cat <<END
+usage: $0 {start|stop|monitor|validate-all|meta-data}
+
+Expects to have a fully populated OCF RA-compliant environment set.
+END
+}
+
+
+monitor_cmd_exec()
+{
+       local rc=$OCF_SUCCESS
+       local out
+
+       if [ -z "$OCF_RESKEY_monitor_cmd" ]; then
+               return $rc
+       fi
+
+       out=$(echo "$OCF_RESKEY_monitor_cmd" | nsenter --target $(docker 
inspect --format {{.State.Pid}} ${CONTAINER}) --mount --uts --ipc --net --pid 
2>&1)
+       rc=$?
+       if [ $rc -ne 0 ]; then
+               ocf_log info "monitor cmd exit code = $rc"
+               ocf_log info "stdout/stderr: $out"
+
+               if [ $rc -eq 127 ]; then
+                       ocf_exit_reason "monitor_cmd, ${OCF_RESKEY_monitor_cmd} 
, not found within container."
+                       # there is no recovering from this, exit immediately
+                       exit $OCF_ERR_ARGS
+               fi
+               rc=$OCF_ERR_GENERIC
+       else 
+               ocf_log info "monitor cmd passed: exit code = $rc"
+       fi
+
+       return $rc
+}
+
+container_exists()
+{
+       docker inspect $CONTAINER > /dev/null 2>&1
+}
+
+remove_container()
+{
+       if ocf_is_true "$OCF_RESKEY_reuse"; then
+               # never remove the container if we have reuse enabled.
+               return 0
+       fi
+
+       container_exists
+       if [ $? -ne 0 ]; then
+               # don't attempt to remove a container that doesn't exist
+               return 0
+       fi
+       ocf_log notice "Cleaning up inactive container, ${CONTAINER}."
+       ocf_run docker rm $CONTAINER
+}
+
+docker_simple_status()
+{
+       local val
+
+       container_exists
+       if [ $? -ne 0 ]; then
+               return $OCF_NOT_RUNNING
+       fi
+
+       # retrieve the 'Running' attribute for the container
+       val=$(docker inspect --format {{.State.Running}} $CONTAINER 2>/dev/null)
+       if [ $? -ne 0 ]; then
+               #not running as a result of container not being found
+               return $OCF_NOT_RUNNING
+       fi
+
+       if ocf_is_true "$val"; then
+               # container exists and is running
+               return $OCF_SUCCESS
+       fi
+
+       return $OCF_NOT_RUNNING
+}
+
+docker_monitor()
+{
+       local rc=0
+
+       docker_simple_status
+       rc=$?
+
+       if [ $rc -ne 0 ]; then
+               return $rc
+       fi
+
+       monitor_cmd_exec
+}
+
+docker_start()
+{
+       local run_opts="-d --name=${CONTAINER}"
+       # check to see if the container has already started
+       docker_simple_status
+       if [ $? -eq $OCF_SUCCESS ]; then
+               return $OCF_SUCCESS
+       fi
+
+       if [ -n "$OCF_RESKEY_run_opts" ]; then
+               run_opts="$run_opts $OCF_RESKEY_run_opts"
+       fi
+
+       if [ $REQUIRE_IMAGE_PULL -eq 1 ]; then
+               ocf_log notice "Beginning pull of image, ${OCF_RESKEY_image}"
+               docker pull "${OCF_RESKEY_image}"
+               if [ $? -ne 0 ]; then
+                       ocf_exit_reason "failed to pull image 
${OCF_RESKEY_image}"
+                       return $OCF_ERR_GENERIC
+               fi
+       fi
+
+       if ocf_is_true "$OCF_RESKEY_reuse" && container_exists; then
+               ocf_log info "starting existing container $CONTAINER."
+               ocf_run docker start $CONTAINER
+       else
+               # make sure any previous container matching our container name 
is cleaned up first.
+               # we already know at this point it wouldn't be running 
+               remove_container
+               ocf_log info "running container $CONTAINER for the first time"
+               ocf_run docker run $run_opts $OCF_RESKEY_image 
$OCF_RESKEY_run_cmd
+       fi
+
+       if [ $? -ne 0 ]; then
+               ocf_exit_reason "docker failed to launch container"
+               return $OCF_ERR_GENERIC
+       fi
+
+
+       # wait for monitor to pass before declaring that the container is 
started
+       while true; do
+               docker_simple_status
+               if [ $? -ne $OCF_SUCCESS ]; then
+                       ocf_exit_reason "Newly created docker container exited 
after start"
+                       return $OCF_ERR_GENERIC
+               fi
+
+               monitor_cmd_exec
+               if [ $? -eq $OCF_SUCCESS ]; then
+                       ocf_log notice "Container $CONTAINER  started 
successfully"
+                       return $OCF_SUCCESS
+               fi
+
+               ocf_exit_reason "waiting on monitor_cmd to pass after start"
+               sleep 1
+       done
+}
+
+docker_stop()
+{
+       local timeout=60
+       docker_simple_status
+       if [ $? -eq  $OCF_NOT_RUNNING ]; then
+               remove_container
+               return $OCF_SUCCESS
+       fi
+
+       if [ -n "$OCF_RESKEY_CRM_meta_timeout" ]; then
+               timeout=$((($OCF_RESKEY_CRM_meta_timeout/1000) -10 ))
+               if [ $timeout -lt 10 ]; then
+                       timeout=10
+               fi
+       fi
+
+       if ocf_is_true "$OCF_RESKEY_force_kill"; then
+               ocf_run docker kill $CONTAINER
+       else    
+               ocf_log debug "waiting $timeout second[s] before killing 
container"
+               ocf_run docker stop -t=$timeout $CONTAINER
+       fi
+
+       if [ $? -ne 0 ]; then
+               ocf_exit_reason "Failed to stop container, ${CONTAINER}, based 
on image, ${OCF_RESKEY_image}."
+               return $OCF_ERR_GENERIC
+       fi
+
+       remove_container
+       if [ $? -ne 0 ]; then
+               ocf_exit_reason "Failed to remove stopped container, 
${CONTAINER}, based on image, ${OCF_RESKEY_image}."
+               return $OCF_ERR_GENERIC
+       fi
+
+       return $OCF_SUCCESS
+}
+
+image_exists()
+{
+       local res=1
+
+
+       echo "${OCF_RESKEY_image}" | grep -q ":"
+       if [ $? -eq 0 ]; then
+               docker images | awk '{print $1 ":" $2}' |  grep 
"^${OCF_RESKEY_image}\$" > /dev/null 2>&1
+       else
+               docker images | awk '{print $1}' | grep 
"^${OCF_RESKEY_image}\$" > /dev/null 2>&1
+       fi
+       if [ $? -eq 0 ]; then
+               return 0
+       fi
+       if ocf_is_true "$OCF_RESKEY_allow_pull"; then
+               REQUIRE_IMAGE_PULL=1
+               ocf_log notice "Image (${OCF_RESKEY_image}) does not exist 
locally but will be pulled during start"
+               return 0
+       fi 
+       # image not found.
+       return 1
+}
+
+docker_validate()
+{
+       check_binary docker
+       if [ -z "$OCF_RESKEY_image" ]; then
+               ocf_exit_reason "'image' option is required"
+               exit $OCF_ERR_CONFIGURED
+       fi 
+
+       if [ -n "$OCF_RESKEY_monitor_cmd" ]; then
+               ocf_log info "checking for nsenter, which is required when 
'monitor_cmd' is specified"
+               check_binary nsenter
+       fi
+
+       image_exists
+       if [ $? -ne 0 ]; then
+               ocf_exit_reason "base image, ${OCF_RESKEY_image}, could not be 
found."
+               exit $OCF_ERR_CONFIGURED
+       fi
+
+       return $OCF_SUCCESS
+}
+
+: ${OCF_RESKEY_name=${OCF_RESOURCE_INSTANCE}}
+
+if [ -n "$OCF_RESKEY_container" ]; then
+       # we'll keep the container attribute around for a bit in order not to 
break
+       # any existing deployments. The 'name' attribute is prefered now though.
+       CONTAINER=$OCF_RESKEY_container
+       ocf_log warn "The 'container' attribute is depreciated"
+else
+       CONTAINER=$OCF_RESKEY_name
+fi
+
+case $__OCF_ACTION in
+meta-data) meta_data
+               exit $OCF_SUCCESS;;
+start)
+       docker_validate
+       docker_start;;
+stop)          docker_stop;;
+monitor)       docker_monitor;;
+validate-all)  docker_validate;;
+usage|help)    docker_usage
+               exit $OCF_SUCCESS
+               ;;
+*)             docker_usage
+               exit $OCF_ERR_UNIMPLEMENTED
+               ;;
+esac
+rc=$?
+ocf_log debug "${OCF_RESOURCE_INSTANCE} $__OCF_ACTION : $rc"
+exit $rc
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/resource-agents-3.9.5+git589/heartbeat/mysql 
new/resource-agents-3.9.5+git631/heartbeat/mysql
--- old/resource-agents-3.9.5+git589/heartbeat/mysql    2014-09-27 
13:49:54.000000000 +0200
+++ new/resource-agents-3.9.5+git631/heartbeat/mysql    2014-11-18 
16:34:51.000000000 +0100
@@ -82,6 +82,9 @@
 Resource script for MySQL.
 May manage a standalone MySQL database, a clone set with externally
 managed replication, or a complete master/slave replication setup.
+Note, when master/slave replication is in use, the resource must
+be setup to use notifications. Set 'notify=true' in the metadata
+attributes when defining a MySQL master/slave instance.
 
 While managing replication, the default behavior is to use uname -n 
 values in the change master to command.  Other IPs can be specified 
@@ -211,9 +214,9 @@
 MySQL replication user. This user is used for starting and stopping
 MySQL replication, for setting and resetting the master host, and for
 setting and unsetting read-only mode. Because of that, this user must
-have SUPER, REPLICATION SLAVE, REPLICATION CLIENT, and PROCESS
-privileges on all nodes within the cluster. Mandatory if you define
-a master-slave resource.
+have SUPER, REPLICATION SLAVE, REPLICATION CLIENT, PROCESS and RELOAD
+privileges on all nodes within the cluster. Mandatory if you define a
+master-slave resource.
 </longdesc>
 <shortdesc lang="en">MySQL replication user</shortdesc>
 <content type="string" default="${OCF_RESKEY_replication_user_default}" />
@@ -1006,8 +1009,17 @@
 LSB_STATUS_STOPPED=3
 if [ $rc -ne 0 ]; then
     case "$1" in
-        stop) exit $OCF_SUCCESS;;
-        monitor) exit $OCF_NOT_RUNNING;;
+        stop) ;;
+        monitor)
+            mysql_common_status "info"
+            if [ $? -eq $OCF_SUCCESS ]; then
+                # if validatation fails and pid is active, always treat this 
as an error
+                ocf_exit_reason "environment validation failed, active pid is 
in unknown state."
+                exit $OCF_ERR_GENERIC
+            fi
+            # validation failed and pid is not active, it's safe to say this 
instance is inactive.
+            exit $OCF_NOT_RUNNING;;
+
         status) exit $LSB_STATUS_STOPPED;;
         *) exit $rc;;
     esac
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/resource-agents-3.9.5+git589/heartbeat/mysql-common.sh 
new/resource-agents-3.9.5+git631/heartbeat/mysql-common.sh
--- old/resource-agents-3.9.5+git589/heartbeat/mysql-common.sh  2014-09-27 
13:49:54.000000000 +0200
+++ new/resource-agents-3.9.5+git631/heartbeat/mysql-common.sh  2014-11-18 
16:34:51.000000000 +0100
@@ -94,8 +94,16 @@
 
 mysql_common_validate()
 {
-    check_binary $OCF_RESKEY_binary
-    check_binary  $OCF_RESKEY_client_binary
+
+    if ! have_binary "$OCF_RESKEY_binary"; then
+        ocf_exit_reason "Setup problem: couldn't find command: 
$OCF_RESKEY_binary"
+        return $OCF_ERR_INSTALLED;
+    fi
+
+    if ! have_binary "$OCF_RESKEY_client_binary"; then
+        ocf_exit_reason "Setup problem: couldn't find command: 
$OCF_RESKEY_client_binary"
+        return $OCF_ERR_INSTALLED;
+    fi
 
     if [ ! -f $OCF_RESKEY_config ]; then
         ocf_exit_reason "Config $OCF_RESKEY_config doesn't exist";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/resource-agents-3.9.5+git589/heartbeat/ocf-shellfuncs.in 
new/resource-agents-3.9.5+git631/heartbeat/ocf-shellfuncs.in
--- old/resource-agents-3.9.5+git589/heartbeat/ocf-shellfuncs.in        
2014-09-27 13:49:54.000000000 +0200
+++ new/resource-agents-3.9.5+git631/heartbeat/ocf-shellfuncs.in        
2014-11-18 16:34:51.000000000 +0100
@@ -22,7 +22,7 @@
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 # 
 
-# Build version: b644395182179ad500424dfbd648e2abd2c4ad69
+# Build version: 992ca067ffbe7a5fb3b882b6bb1e56f66251d732
 
 # TODO: Some of this should probably split out into a generic OCF
 # library for shell scripts, but for the time being, we'll just use it
@@ -831,3 +831,8 @@
 
 : ${OCF_TRACE_RA:=$OCF_RESKEY_trace_ra}
 ocf_is_true "$OCF_TRACE_RA" && ocf_start_trace
+
+# pacemaker sets HA_use_logd, some others use HA_LOGD :/
+if ocf_is_true "$HA_use_logd"; then
+       : ${HA_LOGD:=yes}
+fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/resource-agents-3.9.5+git589/heartbeat/pgsql 
new/resource-agents-3.9.5+git631/heartbeat/pgsql
--- old/resource-agents-3.9.5+git589/heartbeat/pgsql    2014-09-27 
13:49:54.000000000 +0200
+++ new/resource-agents-3.9.5+git631/heartbeat/pgsql    2014-11-18 
16:34:51.000000000 +0100
@@ -252,7 +252,9 @@
 
 <parameter name="socketdir" unique="0" required="0">
 <longdesc lang="en">
-Unix socket directory for PostgreSQL
+Unix socket directory for PostgreSQL.
+
+If you use PostgreSQL 9.3 or higher and define unix_socket_directories in the 
postgresql.conf, then you must set socketdir to determine which directory is 
used for psql command.
 </longdesc>
 <shortdesc lang="en">socketdir</shortdesc>
 <content type="string" default="" />
@@ -1578,6 +1580,9 @@
     local version
     local check_config_rc
     local rep_mode_string
+    local socket_directories
+
+    version=`cat $OCF_RESKEY_pgdata/PG_VERSION`
 
     if ! check_binary2 "$OCF_RESKEY_pgctl" || 
        ! check_binary2 "$OCF_RESKEY_psql"; then
@@ -1587,7 +1592,23 @@
     check_config "$OCF_RESKEY_config"
     check_config_rc=$?
     [ $check_config_rc -eq 2 ] && return $OCF_ERR_INSTALLED
-    [ $check_config_rc -eq 0 ] && : ${OCF_RESKEY_socketdir=`get_pgsql_param 
unix_socket_directory`}
+    if [ $check_config_rc -eq 0 ]; then
+        ocf_version_cmp "$version" "9.3"
+        if [ $? -eq 0 ]; then
+            : ${OCF_RESKEY_socketdir=`get_pgsql_param unix_socket_directory`}
+        else
+            # unix_socket_directories is used by PostgreSQL 9.3 or higher.
+            socket_directories=`get_pgsql_param unix_socket_directories`
+            if [ -n "$socket_directories" ]; then
+                # unix_socket_directories may have multiple socket directories 
and the pgsql RA can not know which directory is used for psql command.
+                # Therefore, the user must set OCF_RESKEY_socketdir explicitly.
+                if [ -z "$OCF_RESKEY_socketdir" ]; then
+                    ocf_log err "In PostgreSQL 9.3 or higher, socketdir can't 
be empty if you define unix_socket_directories in the postgresql.conf."
+                    return $OCF_ERR_CONFIGURED
+                fi
+            fi
+        fi
+    fi
 
     getent passwd $OCF_RESKEY_pgdba >/dev/null 2>&1
     if [ ! $? -eq 0 ]; then
@@ -1617,7 +1638,6 @@
     fi
 
     if is_replication || [ "$OCF_RESKEY_rep_mode" = "slave" ]; then
-        version=`cat $OCF_RESKEY_pgdata/PG_VERSION`
         if [ `printf "$version\n9.1" | sort -n | head -1` != "9.1" ]; then
             ocf_exit_reason "Replication mode needs PostgreSQL 9.1 or higher."
             return $OCF_ERR_INSTALLED
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/resource-agents-3.9.5+git589/rgmanager/src/resources/lvm_by_vg.sh 
new/resource-agents-3.9.5+git631/rgmanager/src/resources/lvm_by_vg.sh
--- old/resource-agents-3.9.5+git589/rgmanager/src/resources/lvm_by_vg.sh       
2014-09-27 13:49:54.000000000 +0200
+++ new/resource-agents-3.9.5+git631/rgmanager/src/resources/lvm_by_vg.sh       
2014-11-18 16:34:51.000000000 +0100
@@ -509,7 +509,7 @@
 
        #  Make sure we are the owner before we strip the tags
        vg_owner
-       if [ $? -ne 0 ]; then
+       if [ $? -eq 1 ]; then
                strip_tags
        fi
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/resource-agents-3.9.5+git589/rgmanager/src/resources/utils/fs-lib.sh 
new/resource-agents-3.9.5+git631/rgmanager/src/resources/utils/fs-lib.sh
--- old/resource-agents-3.9.5+git589/rgmanager/src/resources/utils/fs-lib.sh    
2014-09-27 13:49:54.000000000 +0200
+++ new/resource-agents-3.9.5+git631/rgmanager/src/resources/utils/fs-lib.sh    
2014-11-18 16:34:51.000000000 +0100
@@ -27,6 +27,10 @@
 PATH=/bin:/sbin:/usr/bin:/usr/sbin
 export LC_ALL LANG PATH
 
+# Define this value to 0 by default, bind-mount.sh or any other agent
+# that uses this value will alter it after sourcing fs-lib.sh
+export IS_BIND_MOUNT=0
+
 # Private return codes
 FAIL=2
 NO=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/resource-agents-3.9.5+git589/tools/ocft/Makefile.am 
new/resource-agents-3.9.5+git631/tools/ocft/Makefile.am
--- old/resource-agents-3.9.5+git589/tools/ocft/Makefile.am     2014-09-27 
13:49:54.000000000 +0200
+++ new/resource-agents-3.9.5+git631/tools/ocft/Makefile.am     2014-11-18 
16:34:51.000000000 +0100
@@ -48,6 +48,8 @@
                         postfix        \
                         tomcat \
                         Xinetd \
+                        Xen    \
+                        VirtualDomain  \
                         SendArp
 
 ocftdir                        = $(datadir)/$(PACKAGE_NAME)/ocft
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/resource-agents-3.9.5+git589/tools/ocft/VirtualDomain 
new/resource-agents-3.9.5+git631/tools/ocft/VirtualDomain
--- old/resource-agents-3.9.5+git589/tools/ocft/VirtualDomain   1970-01-01 
01:00:00.000000000 +0100
+++ new/resource-agents-3.9.5+git631/tools/ocft/VirtualDomain   2014-11-18 
16:34:51.000000000 +0100
@@ -0,0 +1,70 @@
+# VirtualDomain
+# by de...@suse.de on 
+# Tue Jul  8 12:48:03 CEST 2014
+
+CONFIG
+       Agent VirtualDomain
+       AgentRoot /usr/lib/ocf/resource.d/heartbeat
+       HangTimeout 20
+
+# set OCFT_config to the libvirt configuration file
+# the guest is going to be stopped and started
+VARIABLE
+       OCFT_config=/etc/libvirt/qemu/sle11-sp3.xml
+
+CASE-BLOCK required_args
+       Env OCF_RESKEY_config=$OCFT_config
+
+CASE-BLOCK unset_utilization
+       Env OCF_RESKEY_autoset_utilization_hv_memory=false
+       Env OCF_RESKEY_autoset_utilization_cpu=false
+
+CASE-BLOCK default_status
+       AgentRun stop
+
+CASE-BLOCK prepare
+       Include required_args
+       Include unset_utilization
+       Include default_status
+
+CASE "check base env"
+       Include prepare
+       AgentRun start OCF_SUCCESS
+
+CASE "check base env: invalid 'OCF_RESKEY_config'"
+       Include prepare
+       Env OCF_RESKEY_config=/no_such_file
+       AgentRun start OCF_ERR_INSTALLED
+
+CASE "check base env: unset 'OCF_RESKEY_config'"
+       Include prepare
+       Unenv OCF_RESKEY_config
+       AgentRun start OCF_ERR_CONFIGURED
+
+CASE "normal stop"
+       Include prepare
+       AgentRun start
+       AgentRun stop OCF_SUCCESS
+
+CASE "double start"
+       Include prepare
+       AgentRun start
+       AgentRun start OCF_SUCCESS
+
+CASE "double stop"
+       Include prepare
+       AgentRun stop OCF_SUCCESS
+
+CASE "monitor when running"
+       Include prepare
+       AgentRun start
+       AgentRun monitor OCF_SUCCESS
+
+CASE "monitor when not running"
+       Include prepare
+       AgentRun monitor OCF_NOT_RUNNING
+
+CASE "unimplemented command"
+       Include prepare
+       AgentRun no_cmd OCF_ERR_UNIMPLEMENTED
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/resource-agents-3.9.5+git589/tools/ocft/Xen 
new/resource-agents-3.9.5+git631/tools/ocft/Xen
--- old/resource-agents-3.9.5+git589/tools/ocft/Xen     1970-01-01 
01:00:00.000000000 +0100
+++ new/resource-agents-3.9.5+git631/tools/ocft/Xen     2014-11-18 
16:34:51.000000000 +0100
@@ -0,0 +1,65 @@
+# Xen
+# by de...@suse.de on 
+# Tue Jul  8 12:20:23 CEST 2014
+
+CONFIG
+       Agent Xen
+       AgentRoot /usr/lib/ocf/resource.d/heartbeat
+       HangTimeout 20
+
+# set OCFT_xmfile to the xen-xm format file
+# the guest is going to be stopped and started
+VARIABLE
+       OCFT_xmfile=/etc/xen/vm/xen-f
+
+CASE-BLOCK required_args
+       Env OCF_RESKEY_xmfile=$OCFT_xmfile
+
+CASE-BLOCK default_status
+       AgentRun stop
+
+CASE-BLOCK prepare
+       Include required_args
+       Include default_status
+
+CASE "check base env"
+       Include prepare
+       AgentRun start OCF_SUCCESS
+
+CASE "check base env: invalid 'OCF_RESKEY_xmfile'"
+       Include prepare
+       Env OCF_RESKEY_xmfile=/no_such_file
+       AgentRun start OCF_ERR_INSTALLED
+
+CASE "check base env: unset 'OCF_RESKEY_xmfile'"
+       Include prepare
+       Unenv OCF_RESKEY_xmfile
+       AgentRun start OCF_ERR_INSTALLED
+
+CASE "normal stop"
+       Include prepare
+       AgentRun start
+       AgentRun stop OCF_SUCCESS
+
+CASE "double start"
+       Include prepare
+       AgentRun start
+       AgentRun start OCF_SUCCESS
+
+CASE "double stop"
+       Include prepare
+       AgentRun stop OCF_SUCCESS
+
+CASE "monitor when running"
+       Include prepare
+       AgentRun start
+       AgentRun monitor OCF_SUCCESS
+
+CASE "monitor when not running"
+       Include prepare
+       AgentRun monitor OCF_NOT_RUNNING
+
+CASE "unimplemented command"
+       Include prepare
+       AgentRun no_cmd OCF_ERR_UNIMPLEMENTED
+

++++++ resource-agents-new-sg_persist.patch ++++++
--- /var/tmp/diff_new_pack.aZ2aun/_old  2014-12-08 16:56:02.000000000 +0100
+++ /var/tmp/diff_new_pack.aZ2aun/_new  2014-12-08 16:56:02.000000000 +0100
@@ -961,10 +961,10 @@
 index 2374531fe0ef..efe22e1d6767 100644
 --- a/tools/ocft/Makefile.am
 +++ b/tools/ocft/Makefile.am
-@@ -47,7 +47,8 @@ ocftcfgs_DATA      =  apache         \
-                        postfix        \
-                        tomcat \
-                        Xinetd \
+@@ -50,7 +50,8 @@ ocftcfgs_DATA      =  apache         \
+                        Xinetd \
+                        Xen    \
+                        VirtualDomain  \
 -                       SendArp
 +                       SendArp        \
 +                       sg_persist

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to