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://"