Hello community, here is the log from the commit of package resource-agents for openSUSE:Factory checked in at 2016-12-01 10:23:06 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 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 2016-11-03 12:56:01.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.resource-agents.new/resource-agents.changes 2016-12-01 10:23:07.000000000 +0100 @@ -1,0 +2,12 @@ +Wed Nov 02 17:29:36 UTC 2016 - kgronl...@suse.com + +- Update to version 3.9.7+git.1478106349.5ff08d4: + * tomcat: Add force_systemd parameter to rely on systemd service + * nfsserver: dont stop rpcbind, as other services might use it + * ldirectord: a further fix for spurious reminder e-mails + * Medium: docker: Reduce monitor log spam + * Medium: mysql-proxy: Fix incorrect conditional reported by shellcheck + * Medium: garbd: Fix broken probe check + * Doc: docker: Clarify limitations of monitor_cmd in parameter description + +------------------------------------------------------------------- @@ -36 +48 @@ - * oracle: fix issue with C## in monprofile + * oracle: fix issue with C## in monprofile (bsc#1005424) Old: ---- resource-agents-3.9.7+git.1477655995.de4be97.tar.xz New: ---- resource-agents-3.9.7+git.1478106349.5ff08d4.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ resource-agents.spec ++++++ --- /var/tmp/diff_new_pack.3GwdW4/_old 2016-12-01 10:23:08.000000000 +0100 +++ /var/tmp/diff_new_pack.3GwdW4/_new 2016-12-01 10:23:08.000000000 +0100 @@ -17,7 +17,7 @@ Name: resource-agents -Version: 3.9.7+git.1477655995.de4be97 +Version: 3.9.7+git.1478106349.5ff08d4 Release: 0 Summary: Open Source HA Reusable Cluster Resource Scripts License: GPL-2.0 and LGPL-2.1+ and GPL-3.0+ ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.3GwdW4/_old 2016-12-01 10:23:08.000000000 +0100 +++ /var/tmp/diff_new_pack.3GwdW4/_new 2016-12-01 10:23:08.000000000 +0100 @@ -1,4 +1,6 @@ <servicedata> <service name="tar_scm"> - <param name="url">git://github.com/ClusterLabs/resource-agents.git</param> - <param name="changesrevision">de4be9774f236fb3d02bcb5df43d249c44f8e9d3</param></service></servicedata> \ No newline at end of file +<param name="url">git://github.com/ClusterLabs/resource-agents.git</param> +<param name="changesrevision">5ff08d4aef4bd693eccbc6072205e5fb88da9c92</param> +</service> +</servicedata> ++++++ resource-agents-3.9.7+git.1477655995.de4be97.tar.xz -> resource-agents-3.9.7+git.1478106349.5ff08d4.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-3.9.7+git.1477655995.de4be97/ci/build.sh new/resource-agents-3.9.7+git.1478106349.5ff08d4/ci/build.sh --- old/resource-agents-3.9.7+git.1477655995.de4be97/ci/build.sh 2016-10-28 13:59:55.000000000 +0200 +++ new/resource-agents-3.9.7+git.1478106349.5ff08d4/ci/build.sh 2016-11-02 18:05:49.000000000 +0100 @@ -22,7 +22,7 @@ fail() { printf "\r\033[2K [\033[0;31mFAIL\033[0m] Checking %s...\n" "$1" - failed=1 + failed=$((failed + 1)) } check() { @@ -57,18 +57,25 @@ check_all_executables() { echo "Checking executables and .sh files..." while read -r script; do + file --mime "$script" | grep 'charset=binary' >/dev/null 2>&1 && continue head=$(head -n1 "$script") [[ "$head" =~ .*ruby.* ]] && continue [[ "$head" =~ .*zsh.* ]] && continue [[ "$head" =~ ^#compdef.* ]] && continue - [[ "$head" =~ ^.*\.c ]] && continue - [[ "$head" =~ ^ldirectord.in ]] && continue + [[ "$script" =~ ^.*\.c ]] && continue + [[ "$script" =~ ^.*\.orig ]] && continue + [[ "$script" =~ ^ldirectord.in ]] && continue check "$script" done < <(eval "$(find_cmd)") - exit $failed + if [ $failed -gt 0 ]; then + echo "$failed failures detected." + exit 1 + fi + exit 0 } ./autogen.sh ./configure make +[ $? ] || failed=$((failed + 1)) check_all_executables diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-3.9.7+git.1477655995.de4be97/heartbeat/ClusterMon new/resource-agents-3.9.7+git.1478106349.5ff08d4/heartbeat/ClusterMon --- old/resource-agents-3.9.7+git.1477655995.de4be97/heartbeat/ClusterMon 2016-10-28 13:59:55.000000000 +0200 +++ new/resource-agents-3.9.7+git.1478106349.5ff08d4/heartbeat/ClusterMon 2016-11-02 18:05:49.000000000 +0100 @@ -5,7 +5,7 @@ # Starts crm_mon in background which logs cluster status as # html to the specified file. # -# Copyright (c) 2004 SUSE LINUX AG, Lars Marowsky-Br�e +# Copyright (c) 2004 SUSE LINUX AG, Lars Marowsky-Bree # All Rights Reserved. # # This program is free software; you can redistribute it and/or modify diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-3.9.7+git.1477655995.de4be97/heartbeat/Dummy new/resource-agents-3.9.7+git.1478106349.5ff08d4/heartbeat/Dummy --- old/resource-agents-3.9.7+git.1477655995.de4be97/heartbeat/Dummy 2016-10-28 13:59:55.000000000 +0200 +++ new/resource-agents-3.9.7+git.1478106349.5ff08d4/heartbeat/Dummy 2016-11-02 18:05:49.000000000 +0100 @@ -4,7 +4,7 @@ # Dummy OCF RA. Does nothing but wait a few seconds, can be # configured to fail occassionally. # -# Copyright (c) 2004 SUSE LINUX AG, Lars Marowsky-Br�e +# Copyright (c) 2004 SUSE LINUX AG, Lars Marowsky-Bree # All Rights Reserved. # # This program is free software; you can redistribute it and/or modify diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-3.9.7+git.1477655995.de4be97/heartbeat/SysInfo new/resource-agents-3.9.7+git.1478106349.5ff08d4/heartbeat/SysInfo --- old/resource-agents-3.9.7+git.1477655995.de4be97/heartbeat/SysInfo 2016-10-28 13:59:55.000000000 +0200 +++ new/resource-agents-3.9.7+git.1478106349.5ff08d4/heartbeat/SysInfo 2016-11-02 18:05:49.000000000 +0100 @@ -4,7 +4,7 @@ # SysInfo OCF Resource Agent # It records (in the CIB) various attributes of a node # -# Copyright (c) 2004 SUSE LINUX AG, Lars Marowsky-Br�e +# Copyright (c) 2004 SUSE LINUX AG, Lars Marowsky-Bree # All Rights Reserved. # # This program is free software; you can redistribute it and/or modify diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-3.9.7+git.1477655995.de4be97/heartbeat/docker new/resource-agents-3.9.7+git.1478106349.5ff08d4/heartbeat/docker --- old/resource-agents-3.9.7+git.1477655995.de4be97/heartbeat/docker 2016-10-28 13:59:55.000000000 +0200 +++ new/resource-agents-3.9.7+git.1478106349.5ff08d4/heartbeat/docker 2016-11-02 18:05:49.000000000 +0100 @@ -115,6 +115,13 @@ If 'docker exec' is supported, it is used to execute the command. If not, nsenter is used. + +Note: Using this method for monitoring processes inside a container +is not recommended, as containerd tries to track processes running +inside the container and does not deal well with many short-lived +processes being spawned. Ensure that your container monitors its +own processes and terminates on fatal error rather than invoking +a command from the outside. </longdesc> <shortdesc lang="en">monitor command</shortdesc> <content type="string"/> @@ -182,18 +189,16 @@ rc=$? fi - 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 + if [ $rc -eq 127 ]; then + ocf_log err "monitor cmd failed (rc=$rc), output: $out" + 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 + elif [ $rc -ne 0 ]; then + ocf_exit_reason "monitor cmd failed (rc=$rc), output: $out" rc=$OCF_ERR_GENERIC else - ocf_log info "monitor cmd passed: exit code = $rc" + ocf_log debug "monitor cmd passed: exit code = $rc" fi return $rc diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-3.9.7+git.1477655995.de4be97/heartbeat/ethmonitor new/resource-agents-3.9.7+git.1478106349.5ff08d4/heartbeat/ethmonitor --- old/resource-agents-3.9.7+git.1477655995.de4be97/heartbeat/ethmonitor 2016-10-28 13:59:55.000000000 +0200 +++ new/resource-agents-3.9.7+git.1478106349.5ff08d4/heartbeat/ethmonitor 2016-11-02 18:05:49.000000000 +0100 @@ -3,7 +3,7 @@ # OCF Resource Agent compliant script. # Monitor the vitality of a local network interface. # -# Based on the work by Robert Euhus and Lars Marowsky-Br�e. +# Based on the work by Robert Euhus and Lars Marowsky-Bree. # # Transfered from Ipaddr2 into ethmonitor by Alexander Krauth # diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-3.9.7+git.1477655995.de4be97/heartbeat/garbd new/resource-agents-3.9.7+git.1478106349.5ff08d4/heartbeat/garbd --- old/resource-agents-3.9.7+git.1477655995.de4be97/heartbeat/garbd 2016-10-28 13:59:55.000000000 +0200 +++ new/resource-agents-3.9.7+git.1478106349.5ff08d4/heartbeat/garbd 2016-11-02 18:05:49.000000000 +0100 @@ -278,7 +278,7 @@ rc=$? # probe just wants to know if garbd is running or not - if [ ocf_is_probe -a $rc -ne $OCF_SUCCESS ]; then + if ocf_is_probe && [ $rc -ne $OCF_SUCCESS ]; then rc=$OCF_NOT_RUNNING fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-3.9.7+git.1477655995.de4be97/heartbeat/mysql-proxy new/resource-agents-3.9.7+git.1478106349.5ff08d4/heartbeat/mysql-proxy --- old/resource-agents-3.9.7+git.1477655995.de4be97/heartbeat/mysql-proxy 2016-10-28 13:59:55.000000000 +0200 +++ new/resource-agents-3.9.7+git.1478106349.5ff08d4/heartbeat/mysql-proxy 2016-11-02 18:05:49.000000000 +0100 @@ -513,10 +513,10 @@ mysql_server_host=`echo $pa | cut -d : -f 1` mysql_server_port=`echo $pa | cut -d : -f 2` - if [ -n $mysql_server_host ]; then + if [ -n "$mysql_server_host" ]; then mysql_server_parameter="$mysql_server_parameter --host=$mysql_server_host" fi - if [ -n $mysql_server_port ]; then + if [ -n "$mysql_server_port" ]; then mysql_server_parameter="$mysql_server_parameter --port=$mysql_server_port" fi fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-3.9.7+git.1477655995.de4be97/heartbeat/nfsserver new/resource-agents-3.9.7+git.1478106349.5ff08d4/heartbeat/nfsserver --- old/resource-agents-3.9.7+git.1477655995.de4be97/heartbeat/nfsserver 2016-10-28 13:59:55.000000000 +0200 +++ new/resource-agents-3.9.7+git.1478106349.5ff08d4/heartbeat/nfsserver 2016-11-02 18:05:49.000000000 +0100 @@ -804,10 +804,7 @@ # systemd case $EXEC_MODE in - [23]) nfs_exec stop rpcbind > /dev/null 2>&1 - ocf_log info "Stop: rpcbind" - - nfs_exec stop rpc-gssd > /dev/null 2>&1 + [23]) nfs_exec stop rpc-gssd > /dev/null 2>&1 ocf_log info "Stop: rpc-gssd" esac diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-3.9.7+git.1477655995.de4be97/heartbeat/redis new/resource-agents-3.9.7+git.1478106349.5ff08d4/heartbeat/redis --- old/resource-agents-3.9.7+git.1477655995.de4be97/heartbeat/redis 2016-10-28 13:59:55.000000000 +0200 +++ new/resource-agents-3.9.7+git.1478106349.5ff08d4/heartbeat/redis 2016-11-02 18:05:49.000000000 +0100 @@ -324,6 +324,10 @@ [[ ! -d "$REDIS_RUNDIR" ]] && mkdir -p "$REDIS_RUNDIR" chown -R "$REDIS_USER" "$REDIS_RUNDIR" + if have_binary "restorecon"; then + restorecon -Rv "$REDIS_RUNDIR" + fi + # check for 0 byte database dump file. This is an unrecoverable start # condition that we can avoid by deleting the 0 byte database file. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-3.9.7+git.1477655995.de4be97/heartbeat/tomcat new/resource-agents-3.9.7+git.1478106349.5ff08d4/heartbeat/tomcat --- old/resource-agents-3.9.7+git.1477655995.de4be97/heartbeat/tomcat 2016-10-28 13:59:55.000000000 +0200 +++ new/resource-agents-3.9.7+git.1478106349.5ff08d4/heartbeat/tomcat 2016-11-02 18:05:49.000000000 +0100 @@ -90,6 +90,10 @@ # isalive_tomcat() { + if ocf_is_true $SYSTEMD; then + systemctl is-active tomcat@${TOMCAT_NAME} > /dev/null 2>&1 + return $? + fi # As the server stops, the PID file disappears. To avoid race conditions, # we will have remembered the PID of a running instance on script entry. local pid=$rememberedPID @@ -184,9 +188,31 @@ } ############################################################################ +# Create systemd configuration +create_systemd_config() +{ +cat<<-EOF > /etc/sysconfig/tomcat@${TOMCAT_NAME} +JAVA_HOME=${JAVA_HOME} +JAVA_OPTS="${JAVA_OPTS}" +CATALINA_HOME=${CATALINA_HOME} +CATALINA_BASE=${CATALINA_BASE} +CATALINA_OUT=${CATALINA_OUT} +CATALINA_OPTS="${CATALINA_OPTS}" +CATALINA_TMPDIR="${CATALINA_TMPDIR}" +JAVA_ENDORSED_DIRS="${JAVA_ENDORSED_DIRS}" +LOGGING_CONFIG="${LOGGING_CONFIG}" +LOGGING_MANAGER="${LOGGING_MANAGER}" +TOMCAT_CFG=${TOMCAT_CFG} +EOF +} + +############################################################################ # Tomcat Command tomcatCommand() { + if ocf_is_true $SYSTEMD; then + systemctl $@ tomcat@${TOMCAT_NAME} + else cat<<-END_TOMCAT_COMMAND export JAVA_HOME=${JAVA_HOME} export JAVA_OPTS="${JAVA_OPTS}" @@ -202,6 +228,7 @@ export TOMCAT_CFG=${TOMCAT_CFG} $TOMCAT_START_SCRIPT $@ END_TOMCAT_COMMAND + fi } attemptTomcatCommand() { @@ -209,7 +236,9 @@ export TOMCAT_CFG=$(mktemp ${HA_RSCTMP}/tomcat-tmp-XXXXX.cfg) fi - if [ "$RESOURCE_TOMCAT_USER" = root ]; then + if ocf_is_true $SYSTEMD; then + tomcatCommand $@ + elif [ "$RESOURCE_TOMCAT_USER" = root ]; then "$TOMCAT_START_SCRIPT" $@ >> "$TOMCAT_CONSOLE" 2>&1 else tomcatCommand $@ | $SU - -s /bin/sh "$RESOURCE_TOMCAT_USER" >> "$TOMCAT_CONSOLE" 2>&1 @@ -224,6 +253,9 @@ # Start Tomcat start_tomcat() { + if ocf_is_true $SYSTEMD; then + create_systemd_config + fi cd "$CATALINA_HOME/bin" validate_all_tomcat || exit $? @@ -334,11 +366,11 @@ <parameters> <parameter name="tomcat_name" unique="1" > -<longdesc lang="en"><![CDATA[ +<longdesc lang="en"> The name of the resource, added as a Java parameter in JAVA_OPTS: --Dname=<tomcat_name> to Tomcat process on start. Used to ensure +-Dname=<tomcat_name> to Tomcat process on start. Used to ensure process is still running and must be unique. -]]></longdesc> +</longdesc> <shortdesc>The name of the resource</shortdesc> <content type="string" default="" /> </parameter> @@ -445,6 +477,14 @@ <content type="string" default="" /> </parameter> +<parameter name="force_systemd" unique="0" required="0"> +<longdesc lang="en"> +Force use of systemd when available. +</longdesc> +<shortdesc>Force use of systemd when available</shortdesc> +<content type="string" default="$OCF_RESKEY_force_systemd_default" /> +</parameter> + <parameter name="tomcat_start_script" unique="0" required="0"> <longdesc lang="en"> Absolute path to the custom tomcat start script to use. @@ -589,6 +629,7 @@ TOMCAT_CONSOLE="${OCF_RESKEY_script_log-/var/log/$TOMCAT_NAME.log}" RESOURCE_TOMCAT_USER="${OCF_RESKEY_tomcat_user-root}" RESOURCE_STATUSURL="${OCF_RESKEY_statusurl-http://127.0.0.1:8080}" +OCF_RESKEY_force_systemd_default=0 JAVA_HOME="${OCF_RESKEY_java_home}" JAVA_OPTS="${OCF_RESKEY_java_opts}" @@ -607,6 +648,7 @@ MAX_STOP_TIME="${OCF_RESKEY_max_stop_time}" +: ${OCF_RESKEY_force_systemd=${OCF_RESKEY_force_systemd_default}} TOMCAT_START_OPTS="${OCF_RESKEY_tomcat_start_opts}" TOMCAT_START_SCRIPT="${OCF_RESKEY_tomcat_start_script}" CATALINA_OPTS="-Dname=$TOMCAT_NAME ${OCF_RESKEY_catalina_opts}" @@ -618,7 +660,10 @@ LOGGING_MANAGER="${OCF_RESKEY_logging_manager}" if [ -z "${TOMCAT_START_SCRIPT}" ]; then - if [ -e "$CATALINA_HOME/bin/catalina.sh" ]; then + if ocf_is_true $OCF_RESKEY_force_systemd && \ + ps -p 1 | grep -q systemd; then + SYSTEMD=1 + elif [ -e "$CATALINA_HOME/bin/catalina.sh" ]; then TOMCAT_START_SCRIPT="$CATALINA_HOME/bin/catalina.sh" elif [ -e "/usr/sbin/tomcat" ]; then REDIRECT_DEFAULT_CONFIG=1 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-3.9.7+git.1477655995.de4be97/ldirectord/ldirectord.in new/resource-agents-3.9.7+git.1478106349.5ff08d4/ldirectord/ldirectord.in --- old/resource-agents-3.9.7+git.1477655995.de4be97/ldirectord/ldirectord.in 2016-10-28 13:59:55.000000000 +0200 +++ new/resource-agents-3.9.7+git.1478106349.5ff08d4/ldirectord/ldirectord.in 2016-11-02 18:05:49.000000000 +0100 @@ -2722,16 +2722,9 @@ my $virtual_id = get_virtual_id_str($v); my $checkinterval = $$v{checkinterval} || $CHECKINTERVAL; - # delete any entries in EMAILSTATUS that don't belong to this child - my %myservices = (); - foreach my $r (@$real) { - my $virtual_str = &get_virtual($v); - my $id = $r->{server} . ":" . $r->{port} . " ($virtual_str)"; - $myservices{$id} = 1; - } - foreach my $id (keys %EMAILSTATUS) { - delete $EMAILSTATUS{$id} unless defined $myservices{$id}; - } + # delete any entries in EMAILSTATUS as we can't trust what has been + # set in the parent in the past. + %EMAILSTATUS = (); $0 = "ldirectord $virtual_id"; while (1) {