Hello community,

here is the log from the commit of package resource-agents for openSUSE:Factory 
checked in at 2019-06-01 09:42:25
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/resource-agents (Old)
 and      /work/SRC/openSUSE:Factory/.resource-agents.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "resource-agents"

Sat Jun  1 09:42:25 2019 rev:95 rq:705612 version:4.2.0+git116.b6c0f9fb

Changes:
--------
--- /work/SRC/openSUSE:Factory/resource-agents/resource-agents.changes  
2019-05-25 13:19:09.800360468 +0200
+++ 
/work/SRC/openSUSE:Factory/.resource-agents.new.5148/resource-agents.changes    
    2019-06-01 09:42:28.195468285 +0200
@@ -1,0 +2,13 @@
+Wed May 22 07:33:35 UTC 2019 - [email protected]
+
+- Update to version 4.2.0+git116.b6c0f9fb:
+  * galera: Log message when changing content of grastate.dat file
+  * Use _default variables for all OCF_RESKEYs.
+  * Use _default variable for binary path.
+  * Drop unused LSB_STATUS_STOPPED variable.
+  * Add resource agent for dovecot.
+  * Fixes parameter meta-data
+  * Fails docker RA gracefully when command not found Fails gracefully when 
daemon not running
+  * CTDB: fix version string with vendor trailer comparison
+
+-------------------------------------------------------------------

Old:
----
  resource-agents-4.2.0+git104.25f2052b.tar.xz

New:
----
  resource-agents-4.2.0+git116.b6c0f9fb.tar.xz

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

Other differences:
------------------
++++++ resource-agents.spec ++++++
--- /var/tmp/diff_new_pack.43YzQ3/_old  2019-06-01 09:42:30.291467570 +0200
+++ /var/tmp/diff_new_pack.43YzQ3/_new  2019-06-01 09:42:30.291467570 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           resource-agents
-Version:        4.2.0+git104.25f2052b
+Version:        4.2.0+git116.b6c0f9fb
 Release:        0
 Summary:        HA Reusable Cluster Resource Scripts
 License:        GPL-2.0-only AND LGPL-2.1-or-later AND GPL-3.0-or-later

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.43YzQ3/_old  2019-06-01 09:42:30.343467553 +0200
+++ /var/tmp/diff_new_pack.43YzQ3/_new  2019-06-01 09:42:30.343467553 +0200
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
 <param name="url">git://github.com/ClusterLabs/resource-agents.git</param>
-<param name="changesrevision">25f2052bc077e49369950a35e009ee11f0bf50e6</param>
+<param name="changesrevision">b6c0f9fba441190aa9e12ce492cbfe9cdbc7e922</param>
 </service>
 </servicedata>
\ No newline at end of file

++++++ resource-agents-4.2.0+git104.25f2052b.tar.xz -> 
resource-agents-4.2.0+git116.b6c0f9fb.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/resource-agents-4.2.0+git104.25f2052b/doc/man/Makefile.am 
new/resource-agents-4.2.0+git116.b6c0f9fb/doc/man/Makefile.am
--- old/resource-agents-4.2.0+git104.25f2052b/doc/man/Makefile.am       
2019-04-27 09:36:05.000000000 +0200
+++ new/resource-agents-4.2.0+git116.b6c0f9fb/doc/man/Makefile.am       
2019-05-21 17:13:37.000000000 +0200
@@ -108,6 +108,7 @@
                           ocf_heartbeat_db2.7 \
                           ocf_heartbeat_dhcpd.7 \
                           ocf_heartbeat_docker.7 \
+                          ocf_heartbeat_dovecot.7 \
                           ocf_heartbeat_dnsupdate.7 \
                           ocf_heartbeat_eDir88.7 \
                           ocf_heartbeat_ethmonitor.7 \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/resource-agents-4.2.0+git104.25f2052b/heartbeat/CTDB.in 
new/resource-agents-4.2.0+git116.b6c0f9fb/heartbeat/CTDB.in
--- old/resource-agents-4.2.0+git104.25f2052b/heartbeat/CTDB.in 2019-04-27 
09:36:05.000000000 +0200
+++ new/resource-agents-4.2.0+git116.b6c0f9fb/heartbeat/CTDB.in 2019-05-21 
17:13:37.000000000 +0200
@@ -588,7 +588,7 @@
        local log_option
        # --logging supported from v4.3.0 and --logfile / --syslog support 
        # has been removed from newer versions
-       version=$(ctdb version | awk '{print $NF}' | sed 
"s/\.\?[[:alpha:]].*//")
+       version=$(ctdb version | awk '{print $NF}' | sed 
"s/[-\.]\?[[:alpha:]].*//")
        ocf_version_cmp "$version" "4.2.14"
        if [ "$?" -eq "2" ]; then
                log_option="--logging=file:$OCF_RESKEY_ctdb_logfile"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/resource-agents-4.2.0+git104.25f2052b/heartbeat/Makefile.am 
new/resource-agents-4.2.0+git116.b6c0f9fb/heartbeat/Makefile.am
--- old/resource-agents-4.2.0+git104.25f2052b/heartbeat/Makefile.am     
2019-04-27 09:36:05.000000000 +0200
+++ new/resource-agents-4.2.0+git116.b6c0f9fb/heartbeat/Makefile.am     
2019-05-21 17:13:37.000000000 +0200
@@ -105,6 +105,7 @@
                        dhcpd                   \
                        dnsupdate               \
                        docker                  \
+                       dovecot                 \
                        eDir88                  \
                        ethmonitor              \
                        exportfs                \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/resource-agents-4.2.0+git104.25f2052b/heartbeat/docker 
new/resource-agents-4.2.0+git116.b6c0f9fb/heartbeat/docker
--- old/resource-agents-4.2.0+git104.25f2052b/heartbeat/docker  2019-04-27 
09:36:05.000000000 +0200
+++ new/resource-agents-4.2.0+git116.b6c0f9fb/heartbeat/docker  2019-05-21 
17:13:37.000000000 +0200
@@ -33,6 +33,11 @@
 : ${OCF_FUNCTIONS_DIR=${OCF_ROOT}/lib/heartbeat}
 . ${OCF_FUNCTIONS_DIR}/ocf-shellfuncs
 
+# Parameter defaults
+
+OCF_RESKEY_daemon_pidfile_default="/var/run/docker.pid"
+: ${OCF_RESKEY_daemon_pidfile=${OCF_RESKEY_daemon_pidfile_default}}
+
 #######################################################################
 
 meta_data()
@@ -176,6 +181,15 @@
 <content type="boolean"/>
 </parameter>
 
+<parameter name="daemon_pidfile" required="0" unique="0">
+<longdesc lang="en">
+The RA will report not running status on hosts where the docker daemon
+is not running.
+</longdesc>
+<shortdesc lang="en">Name of the docker daemon pid file</shortdesc>
+<content type="string" default="${OCF_RESKEY_daemon_pidfile_default}"/>
+</parameter>
+
 </parameters>
 
 <actions>
@@ -277,6 +291,16 @@
 {
        local val
 
+       if [ ! -x "$(command -v docker)" ]; then 
+               ocf_log err "docker is not installed on this host"
+               return $OCF_ERR_INSTALLED
+       fi
+
+       if [ ! -e "$OCF_RESKEY_daemon_pidfile" ]; then
+               ocf_log err "docker daemon is not running, pid file 
$OCF_RESKEY_daemon_pidfile not exists"
+               return $OCF_NOT_RUNNING
+       fi
+
        container_exists
        if [ $? -ne 0 ]; then
                return $OCF_NOT_RUNNING
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/resource-agents-4.2.0+git104.25f2052b/heartbeat/dovecot 
new/resource-agents-4.2.0+git116.b6c0f9fb/heartbeat/dovecot
--- old/resource-agents-4.2.0+git104.25f2052b/heartbeat/dovecot 1970-01-01 
01:00:00.000000000 +0100
+++ new/resource-agents-4.2.0+git116.b6c0f9fb/heartbeat/dovecot 2019-05-21 
17:13:37.000000000 +0200
@@ -0,0 +1,338 @@
+#!/bin/sh
+#
+# Resource script for Dovecot
+#
+# Description:  Manages Dovecot as an OCF resource in
+#               an high-availability setup.
+#
+# Author:       Raoul Bhatia <[email protected]> : Original Author
+# License:      GNU General Public License (GPL)
+#
+#
+#       usage: $0 {start|stop|reload|monitor|validate-all|meta-data}
+#
+#       The "start" arg starts a Dovecot instance
+#
+#       The "stop" arg stops it.
+#
+# OCF parameters:
+#  OCF_RESKEY_binary
+#  OCF_RESKEY_config_file
+#  OCF_RESKEY_parameters
+#
+##########################################################################
+
+# Initialization:
+
+: ${OCF_FUNCTIONS_DIR=${OCF_ROOT}/lib/heartbeat}
+. ${OCF_FUNCTIONS_DIR}/ocf-shellfuncs
+
+# Defaults
+OCF_RESKEY_binary_default="/usr/sbin/dovecot"
+OCF_RESKEY_config_file_default=""
+OCF_RESKEY_pid_file_default="/var/run/dovecot/master.pid"
+OCF_RESKEY_parameters_default=""
+
+: ${OCF_RESKEY_binary=${OCF_RESKEY_binary_default}}
+: ${OCF_RESKEY_config_file=${OCF_RESKEY_config_file_default}}
+: ${OCF_RESKEY_pid_file=${OCF_RESKEY_pid_file_default}}
+: ${OCF_RESKEY_parameters=${OCF_RESKEY_parameters_default}}
+USAGE="Usage: $0 {start|stop|reload|monitor|validate-all|meta-data}";
+
+##########################################################################
+
+usage() {
+    echo $USAGE >&2
+}
+
+meta_data() {
+        cat <<END
+<?xml version="1.0"?>
+<!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd">
+<resource-agent name="dovecot">
+<version>0.1</version>
+<longdesc lang="en">
+This script manages Dovecot as an OCF resource in a high-availability setup.
+</longdesc>
+<shortdesc lang="en">Manages a highly available Dovecot IMAP/POP3 server 
instance</shortdesc>
+
+<parameters>
+
+<parameter name="binary" unique="0" required="0">
+<longdesc lang="en">
+Full path to the Dovecot binary.
+For example, "/usr/sbin/dovecot".
+</longdesc>
+<shortdesc lang="en">Full path to Dovecot binary</shortdesc>
+<content type="string" default="${OCF_RESKEY_binary_default}" />
+</parameter>
+
+<parameter name="config_file" unique="1" required="0">
+<longdesc lang="en">
+Full path to a Dovecot configuration file.
+For example, "/etc/dovecot/dovecot.conf".
+</longdesc>
+<shortdesc lang="en">Full path to configuration file</shortdesc>
+<content type="string" default="${OCF_RESKEY_config_file_default}" />
+</parameter>
+
+<parameter name="pid_file" unique="1" required="0">
+<longdesc lang="en">
+Full path to a Dovecot PID file.
+For example, "/var/run/dovecot/master.pid".
+</longdesc>
+<shortdesc lang="en">Full path to PID file</shortdesc>
+<content type="string" default="${OCF_RESKEY_pid_file_default}" />
+</parameter>
+
+<parameter name="parameters" unique="0" required="0">
+<longdesc lang="en">
+The Dovecot daemon may be called with additional parameters.
+Specify any of them here.
+</longdesc>
+<shortdesc lang="en"></shortdesc>
+<content type="string" default="${OCF_RESKEY_parameters_default}" />
+</parameter>
+
+</parameters>
+
+<actions>
+<action name="start"   timeout="20s" />
+<action name="stop"    timeout="20s" />
+<action name="reload"  timeout="20s" />
+<action name="monitor" depth="0"  timeout="20s" interval="60s" />
+<action name="validate-all"  timeout="20s" />
+<action name="meta-data"  timeout="5s" />
+</actions>
+</resource-agent>
+END
+}
+
+dovecot_running() {
+    local loglevel
+    loglevel=${1:-err}
+
+    # run `dovecot process status` if available
+    if ocf_is_true $status_support; then
+        $binary $OPTION_CONFIG_DIR process status 2>&1
+        ret=$?
+        if [ $ret -ne 0 ]; then
+            ocf_log $loglevel "Dovecot status: " $ret
+        fi
+        return $ret
+    fi
+
+    # manually check Dovecot's pid
+
+    PIDFILE=$OCF_RESKEY_pid_file
+    if [ -f $PIDFILE ]; then
+         PID=`head -n 1 $PIDFILE`
+         kill -s 0 $PID >/dev/null 2>&1 && [ `ps -p $PID | grep dovecot | wc 
-l` -eq 1 ]
+         return $?
+    fi
+
+    # Dovecot is not running
+    false
+}
+
+dovecot_start()
+{
+    # if Dovecot is running return success
+    if dovecot_running info; then
+        ocf_log info "Dovecot already running."
+        return $OCF_SUCCESS
+    fi
+
+    # start Dovecot
+    $binary $OPTIONS >/dev/null 2>&1
+    ret=$?
+
+    if [ $ret -ne 0 ]; then
+        ocf_exit_reason "Dovecot returned error: " $ret
+        return $OCF_ERR_GENERIC
+    fi
+
+    # grant some time for startup/forking the sub processes
+    # and loop initial monitoring until success or timeout
+    while true; do
+        sleep 1
+        # break if dovecot is up and running; log failure otherwise
+        dovecot_running info && break
+        ocf_log info "Dovecot failed initial monitor action: " $ret
+    done
+
+    ocf_log info "Dovecot started."
+    return $OCF_SUCCESS
+}
+
+
+dovecot_stop()
+{
+    # if Dovecot is not running return success
+    if ! dovecot_running info; then
+        ocf_log info "Dovecot already stopped."
+        return $OCF_SUCCESS
+    fi
+
+    # stop Dovecot
+    $binary $OPTIONS stop >/dev/null 2>&1
+    ret=$?
+
+    if [ $ret -ne 0 ]; then
+        ocf_exit_reason "Dovecot returned an error while stopping: " $ret
+        return $OCF_ERR_GENERIC
+    fi
+
+    # grant some time for shutdown and recheck 5 times
+    for i in 1 2 3 4 5; do
+        if dovecot_running info; then
+            sleep 1
+        else
+            break
+        fi
+    done
+
+    # dovecot stop did not succeed
+    if dovecot_running; then
+        ocf_exit_reason "Dovecot failed to stop."
+        return $OCF_ERR_GENERIC
+    fi
+
+    ocf_log info "Dovecot stopped."
+    return $OCF_SUCCESS
+}
+
+dovecot_reload()
+{
+    if dovecot_running; then
+        ocf_log info "Reloading Dovecot."
+        $binary $OPTIONS reload
+    fi
+}
+
+dovecot_monitor()
+{
+    local status_loglevel="err"
+
+    # Set loglevel to info during probe
+    if ocf_is_probe; then
+        status_loglevel="info"
+    fi
+
+    if dovecot_running $status_loglevel; then
+        return $OCF_SUCCESS
+    fi
+
+    return $OCF_NOT_RUNNING
+}
+
+dovecot_validate_all()
+{
+    # check that the Dovecot binaries exist and can be executed
+    check_binary "$binary"
+
+    # check config_file parameter
+    if [ "x$config_file" != "x" ]; then
+        if [ ! -f "$config_file" ]; then
+            if ocf_is_probe; then
+                ocf_log info "Dovecot configuration file '$config_file' not 
readable during probe."
+            else
+                ocf_exit_reason "Dovecot configuration file '$config_file' 
does not exist or is not readable."
+                return $OCF_ERR_INSTALLED
+            fi
+        fi
+    fi
+
+    return $OCF_SUCCESS
+}
+
+#
+# Main
+#
+
+if [ $# -ne 1 ]; then
+    usage
+    exit $OCF_ERR_ARGS
+fi
+
+binary=$OCF_RESKEY_binary
+config_file=$OCF_RESKEY_config_file
+parameters=$OCF_RESKEY_parameters
+
+
+# handle parameters
+case $1 in
+    meta-data)  meta_data
+                exit $OCF_SUCCESS
+                ;;
+
+    usage|help) usage
+                exit $OCF_SUCCESS
+                ;;
+esac
+
+# build Dovecot options string *outside* to access from each method
+OPTIONS=''
+OPTION_CONFIG_FILE=''
+
+# check if the Dovecot config_file exist
+if [ "x$config_dir" != "x" ]; then
+    # remove all trailing slashes
+    config_file=`echo $config_file | sed 's/\/*$//'`
+
+    # set OPTIONS if config_file is still set
+    # save OPTION_CONFIG_FILE seperatly
+    if [ "x$config_file" != "x" ]; then
+        OPTION_CONFIG_FILE="-c $config_file"
+        OPTIONS=$OPTION_CONFIG_FILE
+   fi
+fi
+
+# add all additional parameters to options string
+if [ "x$parameters" != "x" ]; then
+    OPTIONS="$OPTIONS $parameters"
+fi
+
+# check Dovecot status support
+status_support=false
+process_status=`$binary help 2> /dev/null | grep -q -e "process.*status"`
+ret=$?
+
+if [ $ret -eq 0 ]; then
+    status_support=true
+fi
+
+
+dovecot_validate_all
+ret=$?
+
+if [ $ret -ne $OCF_SUCCESS ]; then
+    case $1 in
+    stop)       exit $OCF_SUCCESS ;;
+    *)          exit $ret;;
+    esac
+fi
+
+case $1 in
+    monitor)    dovecot_monitor
+                exit $?
+                ;;
+    start)      dovecot_start
+                exit $?
+                ;;
+
+    stop)       dovecot_stop
+                exit $?
+                ;;
+
+    reload)     dovecot_reload
+                exit $?
+                ;;
+
+    validate-all)   exit $OCF_SUCCESS
+                    ;;
+
+    *)          usage
+                exit $OCF_ERR_UNIMPLEMENTED
+                ;;
+esac
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/resource-agents-4.2.0+git104.25f2052b/heartbeat/galera 
new/resource-agents-4.2.0+git116.b6c0f9fb/heartbeat/galera
--- old/resource-agents-4.2.0+git104.25f2052b/heartbeat/galera  2019-04-27 
09:36:05.000000000 +0200
+++ new/resource-agents-4.2.0+git116.b6c0f9fb/heartbeat/galera  2019-05-21 
17:13:37.000000000 +0200
@@ -686,6 +686,7 @@
             # bootstrapping anyways
             if [ "$(get_safe_to_bootstrap)" = "0" ]; then
                 sed -ie 's/^\(safe_to_bootstrap:\) 0/\1 1/' 
${OCF_RESKEY_datadir}/grastate.dat
+                ocf_log info "safe_to_bootstrap in 
${OCF_RESKEY_datadir}/grastate.dat set to 1 on node ${NODENAME}"
             fi
             ocf_log info "Node <${NODENAME}> is bootstrapping the cluster"
             extra_opts="--wsrep-cluster-address=gcomm://"


Reply via email to