Hello community,
here is the log from the commit of package resource-agents for openSUSE:Factory checked in at 2016-11-03 12:56:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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-10-31 09:53:00.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.resource-agents.new/resource-agents.changes 2016-11-03 12:56:01.000000000 +0100
@@ -1,0 +2,12 @@
+Tue Nov 01 17:56:45 UTC 2016 - kgronlund@suse.com
+
+- Update to version 3.9.7+git.1477655995.de4be97:
+ * adjusting sapdb.sh to work with HANA Multi-Tenant Databases (bsc#1007142)
+ * Medium: docker: Use docker exec for monitor_cmd if supported (bsc#1007867)
+ * sg_persist: fix matching of hex node ids
+ * sg_persist: do not spill info output to stderr
+ * lvm.sh: fix status clustered to check the specified logical volume
+ * Delay: set default startdelay lower than start timeout to avoid it timing out before starting with default values
+ * Low: Filesystem: Clearer exit reason if mount fails
+
+-------------------------------------------------------------------
Old:
----
resource-agents-3.9.7+git.1475827855.a95ea74.tar.xz
New:
----
resource-agents-3.9.7+git.1477655995.de4be97.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ resource-agents.spec ++++++
--- /var/tmp/diff_new_pack.lOYOZb/_old 2016-11-03 12:56:02.000000000 +0100
+++ /var/tmp/diff_new_pack.lOYOZb/_new 2016-11-03 12:56:02.000000000 +0100
@@ -17,7 +17,7 @@
Name: resource-agents
-Version: 3.9.7+git.1475827855.a95ea74
+Version: 3.9.7+git.1477655995.de4be97
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.lOYOZb/_old 2016-11-03 12:56:02.000000000 +0100
+++ /var/tmp/diff_new_pack.lOYOZb/_new 2016-11-03 12:56:02.000000000 +0100
@@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">git://github.com/ClusterLabs/resource-agents.git</param>
- <param name="changesrevision">a95ea74ce7bbe721f8f063c6de3af9161e0d713a</param></service></servicedata>
\ No newline at end of file
+ <param name="changesrevision">de4be9774f236fb3d02bcb5df43d249c44f8e9d3</param></service></servicedata>
\ No newline at end of file
++++++ resource-agents-3.9.7+git.1475827855.a95ea74.tar.xz -> resource-agents-3.9.7+git.1477655995.de4be97.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-3.9.7+git.1475827855.a95ea74/ci/build.sh new/resource-agents-3.9.7+git.1477655995.de4be97/ci/build.sh
--- old/resource-agents-3.9.7+git.1475827855.a95ea74/ci/build.sh 2016-10-07 10:10:55.000000000 +0200
+++ new/resource-agents-3.9.7+git.1477655995.de4be97/ci/build.sh 2016-10-28 13:59:55.000000000 +0200
@@ -5,8 +5,19 @@
declare -i failed
failed=0
+# SC2046: Quote this to prevent word splitting.
+# SC1090: Can't follow non-constant source. Use a directive to specify location.
+# SC2039: In POSIX sh, 'local' is undefined.
+# SC2086: Double quote to prevent globbing and word splitting.
+# SC2154: var is referenced but not assigned.
+ignored_errors="SC1090,SC2039,SC2154"
+
success() {
- printf "\r\033[2K [ \033[00;32mOK\033[0m ] Checking %s...\n" "$1"
+ printf "\r\033[2K [ \033[00;32mOK\033[0m ] Checking %s...\n" "$1"
+}
+
+warn() {
+ printf "\r\033[2K [\033[0;33mWARNING\033[0m] Checking %s...\n" "$1"
}
fail() {
@@ -15,38 +26,49 @@
}
check() {
- local script="$1"
- if shellcheck "$script"; then
- success "$script"
- else
- fail "$script"
- fi
+ local script="$1"
+
+ out="$(shellcheck -s sh -f gcc -x -e "$ignored_errors" "$script" 2>&1)"
+ rc=$?
+ if [ $rc -eq 0 ]; then
+ success "$script"
+ elif echo "$out" | grep -i 'error' >/dev/null; then
+ fail "$script"
+ else
+ warn "$script"
+ fi
+ echo "$out"
}
find_prunes() {
- local prunes="! -path './.git/*'"
- if [ -f .gitmodules ]; then
- while read -r module; do
- prunes="$prunes ! -path './$module/*'"
- done < <(grep path .gitmodules | awk '{print $3}')
- fi
- echo "$prunes"
+ local prunes="! -path './.git/*'"
+ if [ -f .gitmodules ]; then
+ while read -r module; do
+ prunes="$prunes ! -path './$module/*'"
+ done < <(grep path .gitmodules | awk '{print $3}')
+ fi
+ echo "$prunes"
}
find_cmd() {
- echo "find . -type f -and \( -perm /111 -or -name '*.sh' \) $(find_prunes)"
+ echo "find heartbeat -type f -and \( -perm /111 -or -name '*.sh' \) $(find_prunes)"
}
check_all_executables() {
- echo "Checking executables and .sh files..."
- while read -r script; do
- head=$(head -n1 "$script")
- [[ "$head" =~ .*ruby.* ]] && continue
- [[ "$head" =~ .*zsh.* ]] && continue
- [[ "$head" =~ ^#compdef.* ]] && continue
- check "$script"
- done < <(eval "$(find_cmd)")
- exit $failed
-}
-
+ echo "Checking executables and .sh files..."
+ while read -r script; do
+ head=$(head -n1 "$script")
+ [[ "$head" =~ .*ruby.* ]] && continue
+ [[ "$head" =~ .*zsh.* ]] && continue
+ [[ "$head" =~ ^#compdef.* ]] && continue
+ [[ "$head" =~ ^.*\.c ]] && continue
+ [[ "$head" =~ ^ldirectord.in ]] && continue
+ check "$script"
+ done < <(eval "$(find_cmd)")
+ exit $failed
+}
+
+./autogen.sh
+./configure
+make
check_all_executables
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-3.9.7+git.1475827855.a95ea74/doc/man/mkappendix.sh new/resource-agents-3.9.7+git.1477655995.de4be97/doc/man/mkappendix.sh
--- old/resource-agents-3.9.7+git.1475827855.a95ea74/doc/man/mkappendix.sh 2016-10-07 10:10:55.000000000 +0200
+++ new/resource-agents-3.9.7+git.1477655995.de4be97/doc/man/mkappendix.sh 2016-10-28 13:59:55.000000000 +0200
@@ -7,7 +7,7 @@
<title>Resource agent manual pages</title>
EOF
-for manpage in `printf "%s\n" $@ | sort -f`; do
+for manpage in $(printf "%s\n" "$@" | sort -f); do
cat <http://www.w3.org/2001/XInclude"/>
EOF
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-3.9.7+git.1475827855.a95ea74/doc/man/ralist.sh new/resource-agents-3.9.7+git.1477655995.de4be97/doc/man/ralist.sh
--- old/resource-agents-3.9.7+git.1475827855.a95ea74/doc/man/ralist.sh 2016-10-07 10:10:55.000000000 +0200
+++ new/resource-agents-3.9.7+git.1477655995.de4be97/doc/man/ralist.sh 2016-10-28 13:59:55.000000000 +0200
@@ -4,6 +4,6 @@
PREFIX=$2
SUFFIX=$3
-for f in `find $RADIR -type f -executable`; do
- echo ${PREFIX}`basename $f`${SUFFIX}
+find "$RADIR" -type f -executable | while read -r file; do
+ echo "${PREFIX}$(basename "$file")${SUFFIX}"
done
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-3.9.7+git.1475827855.a95ea74/heartbeat/Delay new/resource-agents-3.9.7+git.1477655995.de4be97/heartbeat/Delay
--- old/resource-agents-3.9.7+git.1475827855.a95ea74/heartbeat/Delay 2016-10-07 10:10:55.000000000 +0200
+++ new/resource-agents-3.9.7+git.1477655995.de4be97/heartbeat/Delay 2016-10-28 13:59:55.000000000 +0200
@@ -14,7 +14,7 @@
# OCF_RESKEY_mondelay
#
#
-# OCF_RESKEY_startdelay defaults to 30 (seconds)
+# OCF_RESKEY_startdelay defaults to 20 (seconds)
# OCF_RESKEY_stopdelay defaults to $OCF_RESKEY_startdelay
# OCF_RESKEY_mondelay defaults to $OCF_RESKEY_startdelay
#
@@ -55,7 +55,7 @@
How long in seconds to delay on start operation.
</longdesc>
<shortdesc lang="en">Start delay</shortdesc>
-<content type="integer" default="30" />
+<content type="integer" default="20" />
</parameter>
<parameter name="stopdelay" unique="0" required="0">
@@ -195,7 +195,7 @@
exit $OCF_ERR_ARGS
fi
-: ${OCF_RESKEY_startdelay=30}
+: ${OCF_RESKEY_startdelay=20}
: ${OCF_RESKEY_stopdelay=$OCF_RESKEY_startdelay}
: ${OCF_RESKEY_mondelay=$OCF_RESKEY_startdelay}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-3.9.7+git.1475827855.a95ea74/heartbeat/Filesystem new/resource-agents-3.9.7+git.1477655995.de4be97/heartbeat/Filesystem
--- old/resource-agents-3.9.7+git.1475827855.a95ea74/heartbeat/Filesystem 2016-10-07 10:10:55.000000000 +0200
+++ new/resource-agents-3.9.7+git.1477655995.de4be97/heartbeat/Filesystem 2016-10-28 13:59:55.000000000 +0200
@@ -448,7 +448,7 @@
esac
if [ $? -ne 0 ]; then
- ocf_exit_reason "Couldn't mount filesystem $DEVICE on $MOUNTPOINT"
+ ocf_exit_reason "Couldn't mount device [$DEVICE] as $MOUNTPOINT"
return $OCF_ERR_GENERIC
fi
return $OCF_SUCCESS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-3.9.7+git.1475827855.a95ea74/heartbeat/Makefile.am new/resource-agents-3.9.7+git.1477655995.de4be97/heartbeat/Makefile.am
--- old/resource-agents-3.9.7+git.1475827855.a95ea74/heartbeat/Makefile.am 2016-10-07 10:10:55.000000000 +0200
+++ new/resource-agents-3.9.7+git.1477655995.de4be97/heartbeat/Makefile.am 2016-10-28 13:59:55.000000000 +0200
@@ -7,12 +7,12 @@
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
-#
+#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
-#
+#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
@@ -50,94 +50,98 @@
IPv6addr_LDADD = -lplumb $(LIBNETLIBS)
send_ua_LDADD = $(LIBNETLIBS)
-ocf_SCRIPTS = ClusterMon \
+ocf_SCRIPTS = AoEtarget \
+ AudibleAlarm \
+ ClusterMon \
CTDB \
+ Delay \
Dummy \
- IPaddr \
- IPaddr2 \
+ EvmsSCC \
+ Evmsd \
+ Filesystem \
+ ICP \
+ IPaddr \
+ IPaddr2 \
+ IPsrcaddr \
+ LVM \
+ LinuxSCSI \
+ MailTo \
+ ManageRAID \
+ ManageVE \
+ Pure-FTPd \
+ Raid1 \
+ Route \
+ SAPDatabase \
+ SAPInstance \
+ SendArp \
+ ServeRAID \
+ SphinxSearchDaemon \
+ Squid \
+ Stateful \
+ SysInfo \
+ VIPArip \
+ VirtualDomain \
+ WAS \
+ WAS6 \
+ WinPopup \
+ Xen \
+ Xinetd \
anything \
- AoEtarget \
apache \
asterisk \
- nginx \
- AudibleAlarm \
- clvm \
+ awseip \
+ awsvip \
+ clvm \
conntrackd \
db2 \
- dhcpd \
- Delay \
+ dhcpd \
dnsupdate \
docker \
eDir88 \
- EvmsSCC \
- Evmsd \
ethmonitor \
exportfs \
- Filesystem \
fio \
galera \
garbd \
- ids \
- iscsi \
- ICP \
- IPsrcaddr \
- iSCSITarget \
iSCSILogicalUnit \
+ iSCSITarget \
+ ids \
iface-bridge \
iface-vlan \
+ iscsi \
jboss \
kamailio \
- LinuxSCSI \
- LVM \
lxc \
- MailTo \
- ManageRAID \
- ManageVE \
mysql \
mysql-proxy \
nagios \
named \
nfsnotify \
nfsserver \
+ nginx \
oracle \
oralsnr \
+ pgagent \
+ pgsql \
pingd \
portblock \
postfix \
pound \
- pgsql \
proftpd \
- Pure-FTPd \
rabbitmq-cluster \
- Raid1 \
redis \
- Route \
rsyncd \
rsyslog \
- SAPDatabase \
- SAPInstance \
- SendArp \
- ServeRAID \
- slapd \
- SphinxSearchDaemon \
- Squid \
- Stateful \
- SysInfo \
scsi2reservation \
sfex \
- sg_persist \
+ sg_persist \
+ slapd \
symlink \
syslog-ng \
tomcat \
- VIPArip \
- VirtualDomain \
varnish \
vmware \
- WAS \
- WAS6 \
- WinPopup \
- Xen \
- Xinetd \
+ vsftpd \
zabbixserver
ocfcommondir = $(OCF_LIB_DIR_PREFIX)/heartbeat
@@ -152,8 +156,8 @@
sapdb-nosha.sh \
sapdb.sh \
ora-common.sh \
- mysql-common.sh \
- nfsserver-redhat.sh \
+ mysql-common.sh \
+ nfsserver-redhat.sh \
findif.sh
# Legacy locations
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-3.9.7+git.1475827855.a95ea74/heartbeat/VirtualDomain new/resource-agents-3.9.7+git.1477655995.de4be97/heartbeat/VirtualDomain
--- old/resource-agents-3.9.7+git.1475827855.a95ea74/heartbeat/VirtualDomain 2016-10-07 10:10:55.000000000 +0200
+++ new/resource-agents-3.9.7+git.1477655995.de4be97/heartbeat/VirtualDomain 2016-10-28 13:59:55.000000000 +0200
@@ -171,7 +171,7 @@
<parameter name="autoset_utilization_cpu" unique="0" required="0">
<longdesc lang="en">
-If set true, the agent will detect the number of domainU's vCPUs from virsh, and put it
+If set true, the agent will detect the number of domainU's vCPUs from virsh, and put it
into the CPU utilization of the resource when the monitor is executed.
</longdesc>
<shortdesc lang="en">Enable auto-setting the CPU utilization of the resource</shortdesc>
@@ -180,7 +180,7 @@
<parameter name="autoset_utilization_hv_memory" unique="0" required="0">
<longdesc lang="en">
-If set true, the agent will detect the number of *Max memory* from virsh, and put it
+If set true, the agent will detect the number of *Max memory* from virsh, and put it
into the hv_memory utilization of the resource when the monitor is executed.
</longdesc>
<shortdesc lang="en">Enable auto-setting the hv_memory utilization of the resource</shortdesc>
@@ -206,8 +206,8 @@
<parameter name="sync_config_on_stop" unique="0" required="0">
<longdesc lang="en">
-Setting this automatically enables save_config_on_stop.
-When enabled this parameter instructs the RA to
+Setting this automatically enables save_config_on_stop.
+When enabled this parameter instructs the RA to
call csync2 -x to synchronize the file to all nodes.
csync2 must be properly set up for this to work.
</longdesc>
@@ -217,11 +217,11 @@
<parameter name="snapshot">
<longdesc lang="en">
-Path to the snapshot directory where the virtual machine image will be stored. When this
+Path to the snapshot directory where the virtual machine image will be stored. When this
parameter is set, the virtual machine's RAM state will be saved to a file in the snapshot
directory when stopped. If on start a state file is present for the domain, the domain
will be restored to the same state it was in right before it stopped last. This option
-is incompatible with the 'force_stop' option.
+is incompatible with the 'force_stop' option.
</longdesc>
<shortdesc lang="en">
Restore state on start/stop
@@ -492,7 +492,7 @@
while ! VirtualDomain_monitor; do
sleep 1
done
-
+
return $OCF_SUCCESS
}
@@ -525,7 +525,7 @@
sync_config(){
ocf_log info "Syncing $DOMAIN_NAME config file with csync2 -x ${OCF_RESKEY_config}"
if ! csync2 -x ${OCF_RESKEY_config}; then
- ocf_log warn "Syncing ${OCF_RESKEY_config} failed.";
+ ocf_log warn "Syncing ${OCF_RESKEY_config} failed.";
fi
}
@@ -538,10 +538,10 @@
ocf_log info "Saving domain $DOMAIN_NAME to ${OCF_RESKEY_config}. Please make sure it's present on all nodes or sync_config_on_stop is on."
if cat ${CFGTMP} > ${OCF_RESKEY_config} ; then
ocf_log info "Saved $DOMAIN_NAME domain's configuration to ${OCF_RESKEY_config}."
- if ocf_is_true "$OCF_RESKEY_sync_config_on_stop"; then
+ if ocf_is_true "$OCF_RESKEY_sync_config_on_stop"; then
sync_config
fi
- else
+ else
ocf_log warn "Moving ${CFGTMP} to ${OCF_RESKEY_config} failed."
fi
else
@@ -583,7 +583,7 @@
fi
# save config if needed
- if ocf_is_true "$OCF_RESKEY_save_config_on_stop"; then
+ if ocf_is_true "$OCF_RESKEY_save_config_on_stop"; then
save_config
fi
@@ -695,7 +695,7 @@
remoteuri=$(echo ${OCF_RESKEY_hypervisor} | sed -e "s,\(.*\)://[^/:]*\(:\?[0-9]*\)/\(.*\),\1${transport_suffix}://${target_node}\2/\3,")
# save config if needed
- if ocf_is_true "$OCF_RESKEY_save_config_on_stop"; then
+ if ocf_is_true "$OCF_RESKEY_save_config_on_stop"; then
save_config
fi
@@ -741,7 +741,7 @@
done
ocf_log info "$DOMAIN_NAME: live migration from ${OCF_RESKEY_CRM_meta_migrate_source} succeeded."
# save config if needed
- if ocf_is_true "$OCF_RESKEY_save_config_on_stop"; then
+ if ocf_is_true "$OCF_RESKEY_save_config_on_stop"; then
save_config
fi
return $OCF_SUCCESS
@@ -773,9 +773,9 @@
update_emulator_cache
update_utilization
- # Save configuration on monitor as well, so we will have a better chance of
+ # Save configuration on monitor as well, so we will have a better chance of
# having fresh and up to date config files on all nodes.
- if ocf_is_true "$OCF_RESKEY_save_config_on_stop"; then
+ if ocf_is_true "$OCF_RESKEY_save_config_on_stop"; then
save_config
fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-3.9.7+git.1475827855.a95ea74/heartbeat/docker new/resource-agents-3.9.7+git.1477655995.de4be97/heartbeat/docker
--- old/resource-agents-3.9.7+git.1475827855.a95ea74/heartbeat/docker 2016-10-07 10:10:55.000000000 +0200
+++ new/resource-agents-3.9.7+git.1477655995.de4be97/heartbeat/docker 2016-10-28 13:59:55.000000000 +0200
@@ -113,8 +113,8 @@
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.
+If 'docker exec' is supported, it is used to execute the command. If not,
+nsenter is used.
</longdesc>
<shortdesc lang="en">monitor command</shortdesc>
<content type="string"/>
@@ -174,8 +174,14 @@
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 docker exec --help >/dev/null 2>&1; then
+ out=$(docker exec ${CONTAINER} $OCF_RESKEY_monitor_cmd 2>&1)
+ rc=$?
+ else
+ out=$(echo "$OCF_RESKEY_monitor_cmd" | nsenter --target $(docker inspect --format {{.State.Pid}} ${CONTAINER}) --mount --uts --ipc --net --pid 2>&1)
+ rc=$?
+ fi
+
if [ $rc -ne 0 ]; then
ocf_log info "monitor cmd exit code = $rc"
ocf_log info "stdout/stderr: $out"
@@ -390,8 +396,11 @@
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
+ docker exec --help >/dev/null 2>&1
+ if [ ! $? ]; then
+ ocf_log info "checking for nsenter, which is required when 'monitor_cmd' is specified"
+ check_binary nsenter
+ fi
fi
image_exists
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-3.9.7+git.1475827855.a95ea74/heartbeat/sapdb.sh new/resource-agents-3.9.7+git.1477655995.de4be97/heartbeat/sapdb.sh
--- old/resource-agents-3.9.7+git.1475827855.a95ea74/heartbeat/sapdb.sh 2016-10-07 10:10:55.000000000 +0200
+++ new/resource-agents-3.9.7+git.1477655995.de4be97/heartbeat/sapdb.sh 2016-10-28 13:59:55.000000000 +0200
@@ -229,7 +229,7 @@
# we have to parse the output, because the returncode doesn't tell anything about the instance status
for SERVICE in `echo "$output" | grep -i 'Component[ ]*Name *[:=] [A-Za-z][A-Za-z0-9_]* (' | sed 's/^.*Component[ ]*Name *[:=] *\([A-Za-z][A-Za-z0-9_]*\).*$/\1/i'`
do
- COLOR=`echo "$output" | grep -i "Component[ ]*Name *[:=] *$SERVICE (" | sed 's/^.*Status *[:=] *\([A-Za-z][A-Za-z0-9_]*\).*$/\1/i'`
+ COLOR=`echo "$output" | grep -i "Component[ ]*Name *[:=] *$SERVICE (" | sed 's/^.*Status *[:=] *\([A-Za-z][A-Za-z0-9_]*\).*$/\1/i' | uniq`
STATE=0
case $COLOR in
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-3.9.7+git.1475827855.a95ea74/heartbeat/sg_persist new/resource-agents-3.9.7+git.1477655995.de4be97/heartbeat/sg_persist
--- old/resource-agents-3.9.7+git.1475827855.a95ea74/heartbeat/sg_persist 2016-10-07 10:10:55.000000000 +0200
+++ new/resource-agents-3.9.7+git.1477655995.de4be97/heartbeat/sg_persist 2016-10-28 13:59:55.000000000 +0200
@@ -184,14 +184,14 @@
NOW=$(date +%s)
RESOURCE="${OCF_RESOURCE_INSTANCE}"
- MASTER_SCORE_VAR_NAME="master-${OCF_RESOURCE_INSTANCE}"
+ MASTER_SCORE_VAR_NAME="master-${OCF_RESOURCE_INSTANCE//:/-}"
PENDING_VAR_NAME="pending-$MASTER_SCORE_VAR_NAME"
#only works with corocync
CRM_NODE="${HA_SBIN_DIR}/crm_node"
NODE_ID_DEC=$($CRM_NODE -i)
- NODE=$($CRM_NODE -l | $GREP $NODE_ID_DEC)
+ NODE=$($CRM_NODE -l | $GREP -w ^$NODE_ID_DEC)
NODE=${NODE#$NODE_ID_DEC }
NODE=${NODE% *}
@@ -249,26 +249,27 @@
for dev in ${EXISTING_DEVS[*]}
do
READ_KEYS=`$SG_PERSIST --in --read-keys $dev 2>&1`
+ [ $? -eq 0 ] || continue
+
+ WORKING_DEVS+=($dev)
+
+ echo "$READ_KEYS" | $GREP -qw $NODE_ID_HEX\$
+ [ $? -eq 0 ] || continue
+
+ REGISTERED_DEVS+=($dev)
+
+ READ_RESERVATION=`$SG_PERSIST --in --read-reservation $dev 2>&1`
+ [ $? -eq 0 ] || continue
+
+ echo "$READ_RESERVATION" | $GREP -qw $NODE_ID_HEX\$
if [ $? -eq 0 ]; then
- WORKING_DEVS+=($dev)
- echo $READ_KEYS | $GREP $NODE_ID_HEX >/dev/null
- if [ $? -eq 0 ]; then
- REGISTERED_DEVS+=($dev)
-
- READ_RESERVATION=`$SG_PERSIST --in --read-reservation $dev 2>&1`
- if [ $? -eq 0 ]; then
- echo $READ_RESERVATION | $GREP $NODE_ID_HEX >/dev/null
- if [ $? -eq 0 ]; then
- RESERVED_DEVS+=($dev)
- fi
+ RESERVED_DEVS+=($dev)
+ fi
- reservation_key=`echo $READ_RESERVATION | $GREP -o 'Key=0x[0-9a-f]*' | $GREP -o '0x[0-9a-f]*'`
- if [ -n "$reservation_key" ]; then
- DEVS_WITH_RESERVATION+=($dev)
- RESERVATION_KEYS+=($reservation_key)
- fi
- fi
- fi
+ reservation_key=`echo $READ_RESERVATION | $GREP -o 'Key=0x[0-9a-f]*' | $GREP -o '0x[0-9a-f]*'`
+ if [ -n "$reservation_key" ]; then
+ DEVS_WITH_RESERVATION+=($dev)
+ RESERVATION_KEYS+=($reservation_key)
fi
done
@@ -383,7 +384,7 @@
if sg_persist_is_registered $dev ; then
: OK
else
- ocf_run $SG_PERSIST --out --register --param-rk=0 --param-sark=$NODE_ID_HEX $dev
+ ocf_run $SG_PERSIST --out --no-inquiry --register --param-rk=0 --param-sark=$NODE_ID_HEX $dev
if [ $? -ne $OCF_SUCCESS ]
then
return $OCF_ERR_GENERIC
@@ -405,7 +406,7 @@
for dev in ${REGISTERED_DEVS[*]}
do
- ocf_run $SG_PERSIST --out --register --param-rk=$NODE_ID_HEX --param-sark=0 $dev
+ ocf_run $SG_PERSIST --out --no-inquiry --register --param-rk=$NODE_ID_HEX --param-sark=0 $dev
done
fi
@@ -531,12 +532,12 @@
case $RESERVATION_TYPE in
1|3|5|6)
if [ -z "$reservation_key" ]; then
- ocf_run $SG_PERSIST --out --reserve --param-rk=$NODE_ID_HEX --prout-type=$RESERVATION_TYPE $dev
+ ocf_run $SG_PERSIST --out --no-inquiry --reserve --param-rk=$NODE_ID_HEX --prout-type=$RESERVATION_TYPE $dev
if [ $? -ne $OCF_SUCCESS ]; then
return $OCF_ERR_GENERIC
fi
else
- ocf_run $SG_PERSIST --out --preempt --param-sark=$reservation_key --param-rk=$NODE_ID_HEX --prout-type=$RESERVATION_TYPE $dev
+ ocf_run $SG_PERSIST --out --no-inquiry --preempt --param-sark=$reservation_key --param-rk=$NODE_ID_HEX --prout-type=$RESERVATION_TYPE $dev
if [ $? -ne $OCF_SUCCESS ]; then
return $OCF_ERR_GENERIC
fi
@@ -545,7 +546,7 @@
7|8)
if [ -z "$reservation_key" ]; then
- ocf_run $SG_PERSIST --out --reserve --param-rk=$NODE_ID_HEX --prout-type=$RESERVATION_TYPE $dev
+ ocf_run $SG_PERSIST --out --no-inquiry --reserve --param-rk=$NODE_ID_HEX --prout-type=$RESERVATION_TYPE $dev
if [ $? -ne $OCF_SUCCESS ]
then
return $OCF_ERR_GENERIC
@@ -576,7 +577,7 @@
for dev in ${RESERVED_DEVS[*]}
do
- ocf_run $SG_PERSIST --out --release --param-rk=$NODE_ID_HEX --prout-type=$RESERVATION_TYPE $dev
+ ocf_run $SG_PERSIST --out --no-inquiry --release --param-rk=$NODE_ID_HEX --prout-type=$RESERVATION_TYPE $dev
if [ $? -ne $OCF_SUCCESS ]; then
return $OCF_ERR_GENERIC
fi
@@ -591,7 +592,7 @@
for dev in ${REGISTERED_DEVS[*]}
do
- ocf_run $SG_PERSIST --out --register --param-rk=$NODE_ID_HEX --param-sark=0 $dev
+ ocf_run $SG_PERSIST --out --no-inquiry --register --param-rk=$NODE_ID_HEX --param-sark=0 $dev
if [ $? -ne $OCF_SUCCESS ]; then
return $OCF_ERR_GENERIC
fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-3.9.7+git.1475827855.a95ea74/rgmanager/src/resources/lvm_by_lv.sh new/resource-agents-3.9.7+git.1477655995.de4be97/rgmanager/src/resources/lvm_by_lv.sh
--- old/resource-agents-3.9.7+git.1475827855.a95ea74/rgmanager/src/resources/lvm_by_lv.sh 2016-10-07 10:10:55.000000000 +0200
+++ new/resource-agents-3.9.7+git.1477655995.de4be97/rgmanager/src/resources/lvm_by_lv.sh 2016-10-28 13:59:55.000000000 +0200
@@ -183,6 +183,8 @@
lv_status_clustered()
{
+ declare lv_path="$OCF_RESKEY_vg_name/$OCF_RESKEY_lv_name"
+
#
# Check if device is active
#
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-3.9.7+git.1475827855.a95ea74/tools/ocft/IPaddr2 new/resource-agents-3.9.7+git.1477655995.de4be97/tools/ocft/IPaddr2
--- old/resource-agents-3.9.7+git.1475827855.a95ea74/tools/ocft/IPaddr2 2016-10-07 10:10:55.000000000 +0200
+++ new/resource-agents-3.9.7+git.1477655995.de4be97/tools/ocft/IPaddr2 2016-10-28 13:59:55.000000000 +0200
@@ -128,10 +128,10 @@
Include check_iflabel_removed
# monitor should return OCF_ERR_GENERIC rather than OCF_ERR_CONFIGURED
-# when the specified OCF_RESKEY_nic is disappeard by a failure.
+# when the specified OCF_RESKEY_nic is vanished by a failure.
# This has been changed as of 3.9.6.
-CASE "monitor failure when 'OCF_RESKEY_nic' is disappeared"
+CASE "monitor failure when 'OCF_RESKEY_nic' is vanished"
Include prepare
- Env OCF_RESKEY_nic=ethDisappear
+ Env OCF_RESKEY_nic=ethVanished
Env OCF_RESKEY_CRM_meta_interval=10 # not in probe
AgentRun monitor OCF_ERR_GENERIC
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/resource-agents-3.9.7+git.1475827855.a95ea74/tools/ocft/README.in new/resource-agents-3.9.7+git.1477655995.de4be97/tools/ocft/README.in
--- old/resource-agents-3.9.7+git.1475827855.a95ea74/tools/ocft/README.in 2016-10-07 10:10:55.000000000 +0200
+++ new/resource-agents-3.9.7+git.1477655995.de4be97/tools/ocft/README.in 2016-10-28 13:59:55.000000000 +0200
@@ -2,11 +2,11 @@
~~~~~~~~~~~~~~~~~~~~~
- Ocft is a testing tool for resource agents. Instead of the policy of HA,
- it mainly concerns whether resource agents run correct locally. It can
- design types of complicated environments to test the reliability of
- resource agents. Precisely, it is to display whether resource agents can
- return to correct or expected value. The advantage of the tool provides
- us with competence to design conditions which can be recorded or reproduced.
+ it mainly concerns whether resource agents run correct locally. It can
+ design types of complicated environments to test the reliability of
+ resource agents. Precisely, it is to display whether resource agents can
+ return to correct or expected value. The advantage of the tool provides
+ us with competence to design conditions which can be recorded or reproduced.
Hence it is useful to debuggers.
* Components
@@ -14,29 +14,29 @@
- Turning configuration files of test case to executable scripts.
** Configuration file (@datadir@/@PACKAGE_NAME@/ocft/configs/)
- - Every configuration file directs only one resource agent and share the same
+ - Every configuration file directs only one resource agent and share the same
name with resource agent but contains more test cases.
** The testing script (/var/lib/@PACKAGE_NAME@/ocft/cases/)
- - After the generator reads configuration files and generates many testing
+ - After the generator reads configuration files and generates many testing
scripts and the script is underway, the test begins.
* How to customize the environment of testing
- - Ocft designs the running conditions through two ways, one is changing the
- environment variables of resource agents (it is the interface left by OCF itself),
- the other is modifying the OS environment of resource agents, such as altering
+ - Ocft designs the running conditions through two ways, one is changing the
+ environment variables of resource agents (it is the interface left by OCF itself),
+ the other is modifying the OS environment of resource agents, such as altering
the permission of some key file or IP address of the machine.
* How to test
- - Firstly, you need to sketch the all complex and uncommon environments against
- a certain resource agent and keep in mind what consequences may be caused by
- these uncommon environments.
- Secondly, write the designed conditions and foreknown consequences into
- configuration files, and then run the generator to translate the test case to
- executable scripts.
- Finally, you need running these scripts to observe the output and learn
- the running status of each test case, which will compares the predicated result
- with the actual one. If they differ, you will be able to find the bugs of the
+ - Firstly, you need to sketch the all complex and uncommon environments against
+ a certain resource agent and keep in mind what consequences may be caused by
+ these uncommon environments.
+ Secondly, write the designed conditions and foreknown consequences into
+ configuration files, and then run the generator to translate the test case to
+ executable scripts.
+ Finally, you need running these scripts to observe the output and learn
+ the running status of each test case, which will compares the predicated result
+ with the actual one. If they differ, you will be able to find the bugs of the
resource agent.
- All of the output with test will be recorded into the log files, you can find them
in /var/lib/@PACKAGE_NAME@/ocft/cases/logs.
@@ -45,7 +45,7 @@
HOW TO WRITE CONFIGURATION FILE
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- - There are only 6 top level options that are all spelled by capital letters and "-".
+ - There are only 6 top level options that are all spelled by capital letters and "-".
Every top level option contains sub-options that they are initials.
* 'CONFIG' (top level option)
@@ -63,17 +63,17 @@
** 'InstallPackage' (sub-option)
- Grammar: InstallPackage package [package2 [...]]
- - It will test whether the system have installed the service of the resource agent.
+ - It will test whether the system have installed the service of the resource agent.
If not, it will download from Internet and have it installed automatically.
** 'HangTimeout' (sub-option)
- Grammar: HangTimeout secs
- - If you alter some key options, some resource agents will get puzzled and stop,
- which will influence the running of the following test case. Hence timeout setting is
+ - If you alter some key options, some resource agents will get puzzled and stop,
+ which will influence the running of the following test case. Hence timeout setting is
needed, if the resource agent stops timeout, the scripts will kill this resource agent.
* 'VARIABLE' (top level option)
- - Garmmar:
+ - Grammar:
VARIABLE
VAR1=value1
VAR2=value2
@@ -83,14 +83,14 @@
affect the activity of agent, but the variables in VARIABLE just be shared with top level option.
* 'SETUP-AGENT' (top level option)
- - Grammar:
+ - Grammar:
SETUP-AGENT
bash scripts...
...
- - Some of Agents may need to be initialized before testing, you can do it here with bash script.
+ - Some of Agents may need to be initialized before testing, you can do it here with bash script.
* 'CLEANUP-AGENT' (top level option)
- - Garmmar:
+ - Grammar:
CLEANUP-AGENT
bash scripts...
...
@@ -98,50 +98,50 @@
* 'CASE' & 'CASE-BLOCK' (top level option)
- Grammar: CASE "description" & CASE-BLOCK macro_name
- - Usually, the conditions you designed are more than one and a few 'CASE "..."' will
- appear in configuration file. It is worth noting that the following sub-options
+ - Usually, the conditions you designed are more than one and a few 'CASE "..."' will
+ appear in configuration file. It is worth noting that the following sub-options
have 2 spellings:
- One is general, where shell affects the local environment; the other is special,
+ One is general, where shell affects the local environment; the other is special,
where each options added "@ipaddr". It can remotely execute shell codes. In other words,
it is to execute the shell codes from a remote host, which is meaningful when a resource
agent needs 2 hosts. This remote shell is not a remote execution only through "ssh", but
running a remote shell in the background while the test case is running. The remote shell
runs in the background till the end and saves the results during the process. That is to
- say, you can alternatively carry out local and remote shell code segments.
- The "CASE-BLOCK" option is a macro definer, the statements in "CASE-BLOCK" will be inserted
+ say, you can alternatively carry out local and remote shell code segments.
+ The "CASE-BLOCK" option is a macro definer, the statements in "CASE-BLOCK" will be inserted
into "CASE" if you "Include" the "macro_name".
** 'Env' (sub-option)
- Grammar: Env VARIABLE=value
- - It is to set up an environment variable of the resource agent. They usually appear to
+ - It is to set up an environment variable of the resource agent. They usually appear to
be OCF_RESKEY_xxx. One point is to be noted is there is no blank by both sides of "=".
** 'Unenv' (sub-option)
- - Grammer: Unenv VARIABLE [VARIABLE2 [...]]
+ - Grammar: Unenv VARIABLE [VARIABLE2 [...]]
- Remove the environment variable.
** 'Include' (sub-option)
- - Garmmer: Include macro_name
- - It will be replaced by statements in 'macro_name', of course, you should define the
+ - Grammar: Include macro_name
+ - It will be replaced by statements in 'macro_name', of course, you should define the
content of 'macro_name' with 'CASE-BLOCK' first.
** 'Bash' (sub-option)
- Grammar: Bash bash_codes
- - This option is to set up the environment of OS, where you can insert BASH code to
- customize the system randomly. Note, do not cause unrecoverable consequences to the
+ - This option is to set up the environment of OS, where you can insert BASH code to
+ customize the system randomly. Note, do not cause unrecoverable consequences to the
system.
** 'BashAtExit' (sub-option)
- Grammar: BashAtExit bash_codes
- - This option is to recover the OS environment in order to run another test case
- correctly. Of cause you can use 'Bash' option to recover it. However, if mistakes occur
- in the process, the script will quit directly instead of running your recovery codes.
- If it happens, you ought to use BashAtExit which can restore the system environment
+ - This option is to recover the OS environment in order to run another test case
+ correctly. Of cause you can use 'Bash' option to recover it. However, if mistakes occur
+ in the process, the script will quit directly instead of running your recovery codes.
+ If it happens, you ought to use BashAtExit which can restore the system environment
before you quit.
** 'AgentRun' (sub-option)
- Grammar: AgentRun cmd [ret_value]
- - This option is to run resource agent. "cmd" is the parameter of the resource agent,
- such as "start, status, stop ...". The second parameter is optional. It will compare the
- actual returned value with the expected value when the script has run recourse agent.
+ - This option is to run resource agent. "cmd" is the parameter of the resource agent,
+ such as "start, status, stop ...". The second parameter is optional. It will compare the
+ actual returned value with the expected value when the script has run recourse agent.
If differs, bugs will be found.