Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package resource-agents for openSUSE:Factory 
checked in at 2026-08-29 17:39:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/resource-agents (Old)
 and      /work/SRC/openSUSE:Factory/.resource-agents.new.1265 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "resource-agents"

Sat Aug 29 17:39:58 2026 rev:152 rq:1374142 version:4.18.0+git94.6c50a9b

Changes:
--------
--- /work/SRC/openSUSE:Factory/resource-agents/resource-agents.changes  
2026-08-12 16:11:23.799656749 +0200
+++ 
/work/SRC/openSUSE:Factory/.resource-agents.new.1265/resource-agents.changes    
    2026-08-29 17:40:00.116046341 +0200
@@ -1,0 +2,21 @@
+Thu Aug 27 21:02:38 UTC 2026 - [email protected]
+
+- Update to version 4.18.0+git94.6c50a9b:
+  * SAPInstance - fix-issue-2209 - list-unit-files creates high load on 
systemd (bsc#1273064)
+  * ZFS: wait for the pool state to settle before start returns
+  * High: storage-mon: High: storage-mon: Delete a timer that has not stopped.
+  * portblock: fix incorrect parameters for NftDelete() when using 
reset_local_on_unblock_stop
+  * podman-etcd: treat crm_attribute 'not found' exits as empty, not error
+  * OCPBUGS-104851: podman-etcd: add restart_no_leave CRM attribute guard to 
skip member removal
+  * OCPBUGS-100303: podman-etcd: add test hooks for FNC race reproduction
+  * OCPBUGS-100303: podman-etcd: resolve force_new_cluster race during 
simultaneous dual-start
+  * mediationzone: new resource agent (#2191)
+  * powervs-subnet: fix plaintext token file support
+  * ibmmq: new resource agent for IBM MQ queue managers (#2192)
+  * podman-etcd: scope sync to etcd filesystem only
+  * spec: Remove EOL Fedora compatibility blocks from spec file
+  * Route: restore unique="1" for destination and warn on "default"
+  * Route: update destination parameter to non-unique
+  * powervs-move-ip: introduce support for trusted profiles, refine handling 
of API return codes
+
+-------------------------------------------------------------------

Old:
----
  resource-agents-4.18.0+git81.694408f0.tar.xz

New:
----
  resource-agents-4.18.0+git94.6c50a9b.tar.xz

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

Other differences:
------------------
++++++ resource-agents.spec ++++++
--- /var/tmp/diff_new_pack.TtR3sC/_old  2026-08-29 17:40:03.067150736 +0200
+++ /var/tmp/diff_new_pack.TtR3sC/_new  2026-08-29 17:40:03.070150842 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           resource-agents
-Version:        4.18.0+git81.694408f0
+Version:        4.18.0+git94.6c50a9b
 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.TtR3sC/_old  2026-08-29 17:40:03.229156466 +0200
+++ /var/tmp/diff_new_pack.TtR3sC/_new  2026-08-29 17:40:03.237156749 +0200
@@ -1,8 +1,7 @@
 <servicedata>
 <service name="tar_scm">
 <param name="url">https://github.com/ClusterLabs/resource-agents.git</param>
-<param name="changesrevision">694408f0d5051b24177017838552f9d9316aeb3b</param>
+<param name="changesrevision">6c50a9bf53fbfaebb54d4a1c12542770d9f00eaf</param>
 </service>
 </servicedata>
-(No newline at EOF)
 

++++++ resource-agents-4.18.0+git81.694408f0.tar.xz -> 
resource-agents-4.18.0+git94.6c50a9b.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/resource-agents-4.18.0+git81.694408f0/.gitattributes 
new/resource-agents-4.18.0+git94.6c50a9b/.gitattributes
--- old/resource-agents-4.18.0+git81.694408f0/.gitattributes    1970-01-01 
01:00:00.000000000 +0100
+++ new/resource-agents-4.18.0+git94.6c50a9b/.gitattributes     2026-08-27 
07:49:05.000000000 +0200
@@ -0,0 +1,2 @@
+configure.ac export-subst
+heartbeat/ocf-shellfuncs.in export-subst
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/resource-agents-4.18.0+git81.694408f0/.gitignore 
new/resource-agents-4.18.0+git94.6c50a9b/.gitignore
--- old/resource-agents-4.18.0+git81.694408f0/.gitignore        1970-01-01 
01:00:00.000000000 +0100
+++ new/resource-agents-4.18.0+git94.6c50a9b/.gitignore 2026-08-27 
07:49:05.000000000 +0200
@@ -0,0 +1,162 @@
+*.swp
+Makefile.in
+aclocal.m4
+autoconf
+autoheader
+autom4te.cache
+automake
+autoscan.log
+compile
+configure
+configure.scan
+config.guess
+config.log
+config.sub
+config.status
+Makefile
+depcomp
+install-sh
+libtoolize
+ltmain.sh
+libtool
+make/stamp-h1
+make/clusterautoconfig.h*
+missing
+resource-agents.spec
+*.pc
+.deps
+.libs
+*.o
+*.la
+*.lo
+*.loT
+rgmanager/src/resources/*
+!rgmanager/src/resources/*.in
+rgmanager/src/resources/Makefile.in
+rgmanager/src/resources/utils/config-utils.sh
+resource-agents-*
+.version
+
+# generated by ./autogen.sh && ./configure
+doc/man/*.7
+doc/man/*.xml
+heartbeat/ocf-binaries
+heartbeat/ocf-directories
+heartbeat/ocf-shellfuncs
+heartbeat/send_ua
+heartbeat/shellfuncs
+heartbeat/*.pyc
+heartbeat/AoEtarget
+heartbeat/CTDB
+heartbeat/ManageRAID
+heartbeat/ManageVE
+heartbeat/Squid
+heartbeat/SysInfo
+heartbeat/aws-vpc-route53
+heartbeat/azure-events
+heartbeat/azure-events-az
+heartbeat/azure-sap-zone
+heartbeat/clvm
+heartbeat/conntrackd
+heartbeat/dnsupdate
+heartbeat/dummypy
+heartbeat/eDir88
+heartbeat/fio
+heartbeat/galera
+heartbeat/gcp-pd-move
+heartbeat/gcp-vpc-move-ip
+heartbeat/gcp-vpc-move-route
+heartbeat/gcp-vpc-move-vip
+heartbeat/ibm-cloud-vpc-cr-vip
+heartbeat/ibm-cloud-vpc-move-fip
+heartbeat/ibm-cloud-vpc-move-par
+heartbeat/iSCSILogicalUnit
+heartbeat/iSCSITarget
+heartbeat/jira
+heartbeat/kamailio
+heartbeat/lxc
+heartbeat/lxd-info
+heartbeat/machine-info
+heartbeat/mariadb
+heartbeat/mpathpersist
+heartbeat/nfsnotify
+heartbeat/openstack-info
+heartbeat/powervs-move-ip
+heartbeat/powervs-subnet
+heartbeat/rabbitmq-cluster
+heartbeat/redis
+heartbeat/rsyslog
+heartbeat/sg_persist
+heartbeat/slapd
+heartbeat/smb-share
+heartbeat/storage-mon
+heartbeat/sybaseASE
+heartbeat/syslog-ng
+heartbeat/vsftpd
+include/agent_config.h
+include/config.h
+include/config.h.in
+include/stamp-h1
+include/stamp-h2
+ldirectord/ldirectord
+ldirectord/ldirectord.8
+ldirectord/OCF/ldirectord
+ldirectord/init.d/ldirectord
+ldirectord/init.d/ldirectord.debian
+ldirectord/init.d/ldirectord.debian.default
+ldirectord/systemd/ldirectord.service
+systemd/resource-agents.conf
+tools/findif
+tools/nfsconvert
+tools/ocf-tester
+tools/send_arp
+tools/storage_mon
+tools/tickle_tcp
+tools/ocft/README
+tools/ocft/README.zh_CN
+tools/ocft/caselib
+tools/ocft/ocft
+
+*.cache
+*.upgrade.xml
+py-compile
+ylwrap
+__pycache__
+
+# BEAM Entries
+*.beam
+parser-messages
+MISC_ERRORS
+cscope.files
+cscope.out
+patches
+updates
+logs
+
+# OS and Editor Artifacts
+.DS_Store
+.bomb
+*.rej
+*.bz2
+*.gz
+*.xz
+*.sed
+*.diff
+*.patch
+*.gres
+*~
+
+# Misc
+HTML
+TAGS
+GPATH
+GRTAGS
+GSYMS
+GTAGS
+.gres.*
+*.orig
+.gdb_history
+*~ 
+\#*
+.changes
+pacemaker.tar.gz
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/resource-agents-4.18.0+git81.694408f0/heartbeat/SAPInstance 
new/resource-agents-4.18.0+git94.6c50a9b/heartbeat/SAPInstance
--- old/resource-agents-4.18.0+git81.694408f0/heartbeat/SAPInstance     
2026-08-10 12:12:31.000000000 +0200
+++ new/resource-agents-4.18.0+git94.6c50a9b/heartbeat/SAPInstance      
2026-08-27 07:49:05.000000000 +0200
@@ -457,8 +457,8 @@
     local rc=1
 
     if which "$SYSTEMCTL" 1>/dev/null 2>/dev/null; then
-        if $SYSTEMCTL list-unit-files | \
-            awk '$1 == service { found=1 } END { if (! found) {exit 1}}' 
service="${systemd_unit_name}.service"; then
+        # use list-unit-files with expected unit-file to limit systemd load; 
this also allows to use the return-code of systemctl
+        if $SYSTEMCTL list-unit-files "${systemd_unit_name}.service" 
>/dev/null ; then
             rc=0
         else
             rc=1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/resource-agents-4.18.0+git81.694408f0/heartbeat/ZFS 
new/resource-agents-4.18.0+git94.6c50a9b/heartbeat/ZFS
--- old/resource-agents-4.18.0+git81.694408f0/heartbeat/ZFS     2026-08-10 
12:12:31.000000000 +0200
+++ new/resource-agents-4.18.0+git94.6c50a9b/heartbeat/ZFS      2026-08-27 
07:49:05.000000000 +0200
@@ -25,10 +25,12 @@
 OCF_RESKEY_pool_default=""
 OCF_RESKEY_importargs_default=""
 OCF_RESKEY_importforce_default=true
+OCF_RESKEY_settle_timeout_default="10"
 
 : ${OCF_RESKEY_pool=${OCF_RESKEY_pool_default}}
 : ${OCF_RESKEY_importargs=${OCF_RESKEY_importargs_default}}
 : ${OCF_RESKEY_importforce=${OCF_RESKEY_importforce_default}}
+: ${OCF_RESKEY_settle_timeout=${OCF_RESKEY_settle_timeout_default}}
 
 USAGE="usage: $0 {start|stop|status|monitor|validate-all|meta-data}";
 
@@ -68,6 +70,24 @@
 <shortdesc lang="en">Import is forced</shortdesc>
 <content type="boolean" default="${OCF_RESKEY_importforce_default}" />
 </parameter>
+<parameter name="settle_timeout" unique="0" required="0">
+<longdesc lang="en">
+Seconds to wait after a successful import for the pool state to settle before
+reporting the pool as started.
+
+/proc/spl/kstat/zfs/&lt;pool&gt;/state is a lock-free snapshot of the root vdev
+state, so shortly after an import it can still read OFFLINE or TRANSITIONING
+while vdevs are being reopened. Pacemaker starts the recurring monitor as soon
+as start returns, and the monitor treats anything other than ONLINE, DEGRADED
+or FAULTED as a hard error, so a reading taken inside that window fails a
+healthy pool and triggers a needless recovery.
+
+The pool state is read once before any waiting, so a pool that is already
+settled - the common case - costs nothing. Set to 0 to disable the wait.
+</longdesc>
+<shortdesc lang="en">Seconds to wait for the pool state to settle after 
import</shortdesc>
+<content type="integer" default="${OCF_RESKEY_settle_timeout_default}" />
+</parameter>
 </parameters>
 
 <actions>
@@ -96,6 +116,61 @@
        return $rc
 }
 
+# Reads the pool state kstat into $zpool_state.
+# Returns 0 when the pool is usable (ONLINE or DEGRADED), 1 otherwise.
+zpool_state_is_settled () {
+       zpool_state=$(cat "/proc/spl/kstat/zfs/$OCF_RESKEY_pool/state" 
2>/dev/null)
+       case "$zpool_state" in
+               ONLINE|DEGRADED) return 0;;
+       esac
+       return 1
+}
+
+# Waits for the pool state to settle after an import.
+#
+# /proc/spl/kstat/zfs/<pool>/state is a lock-free snapshot of the root vdev
+# state, so right after an import it can still read OFFLINE (the root vdev is
+# briefly VDEV_STATE_CLOSED while vdevs are reopened) or TRANSITIONING.
+# Pacemaker starts the recurring monitor as soon as start returns, which is
+# precisely when that window is open, and zpool_monitor maps anything that is
+# not ONLINE, DEGRADED or FAULTED to OCF_ERR_GENERIC.
+#
+# This never fails the start. Judging the pool is the monitor's job, and the
+# wait must not become a new way for start to fail.
+zpool_settle () {
+       # Older ZFS has no state kstat, and a pool only has one once imported,
+       # so this is a runtime condition rather than a configuration check.
+       [ -f "/proc/spl/kstat/zfs/$OCF_RESKEY_pool/state" ] || return 0
+
+       [ "$OCF_RESKEY_settle_timeout" -gt 0 ] || return 0
+
+       # Never spend the whole start timeout waiting: settle_timeout is only an
+       # upper bound the admin asked for, the operation timeout is the real 
one.
+       settle_max="$OCF_RESKEY_settle_timeout"
+       # CRM_meta_timeout is supplied per operation by pacemaker, not 
configured,
+       # and is absent during validate-all, so it is checked here.
+       if ocf_is_decimal "$OCF_RESKEY_CRM_meta_timeout"; then
+               op_budget=$((OCF_RESKEY_CRM_meta_timeout / 1000 - 5))
+               if [ "$op_budget" -lt 1 ]; then
+                       op_budget=1
+               fi
+               if [ "$settle_max" -gt "$op_budget" ]; then
+                       settle_max="$op_budget"
+               fi
+       fi
+
+       waited=0
+       while [ "$waited" -lt "$settle_max" ]; do
+               zpool_state_is_settled && return 0
+               sleep 1
+               waited=$((waited + 1))
+       done
+       zpool_state_is_settled && return 0
+
+       ocf_log warn "${OCF_RESKEY_pool}: pool state is still '$zpool_state' 
after ${settle_max}s"
+       return 0
+}
+
 # Forcibly imports a ZFS pool, mounting all of its auto-mounted filesystems
 # (as configured in the 'mountpoint' and 'canmount' properties)
 # If the pool is already imported, no operation is taken.
@@ -117,6 +192,7 @@
        fi
                if zpool import $FORCE $OCF_RESKEY_importargs -o cachefile=none 
"$OCF_RESKEY_pool" ; then
                        ocf_log debug "${OCF_RESKEY_pool}:import successful"
+                       zpool_settle
                        return $OCF_SUCCESS
                else
                        ocf_log debug "${OCF_RESKEY_pool}:import failed"
@@ -177,6 +253,16 @@
                return $OCF_ERR_INSTALLED
        fi
 
+       if ! ocf_is_decimal "$OCF_RESKEY_settle_timeout"; then
+               ocf_exit_reason "Invalid 
settle_timeout='${OCF_RESKEY_settle_timeout}': expected a non-negative integer"
+               return $OCF_ERR_CONFIGURED
+       fi
+
+       if [ -z "$OCF_RESKEY_pool" ]; then
+               ocf_exit_reason "pool is required"
+               return $OCF_ERR_CONFIGURED
+       fi
+
        # If the pool is imported, then it is obviously valid
        if zpool_is_imported; then
                return $OCF_SUCCESS
@@ -202,7 +288,8 @@
 
 case $1 in
        meta-data)      meta_data;;
-       start)          zpool_import;;
+       start)          zpool_validate || exit $?
+                       zpool_import;;
        stop)           zpool_export;;
        status|monitor) zpool_monitor;;
        validate-all)   zpool_validate;;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/resource-agents-4.18.0+git81.694408f0/heartbeat/podman-etcd 
new/resource-agents-4.18.0+git94.6c50a9b/heartbeat/podman-etcd
--- old/resource-agents-4.18.0+git81.694408f0/heartbeat/podman-etcd     
2026-08-10 12:12:31.000000000 +0200
+++ new/resource-agents-4.18.0+git94.6c50a9b/heartbeat/podman-etcd      
2026-08-27 07:49:05.000000000 +0200
@@ -907,7 +907,7 @@
        return 0
 }
 
-# NOTE: 'get' reads the local disk JSON; use get_cib_attribute for CIB reads.
+# NOTE: 'get' reads the local disk JSON; use get_cib_permanent_attribute for 
CIB reads.
 attribute_node_cluster_id()
 {
        local action="$1"
@@ -984,7 +984,7 @@
 
 attribute_node_revision_peer()
 {
-       get_cib_attribute "$(get_peer_node_name)" "revision"
+       get_cib_permanent_attribute "$(get_peer_node_name)" "revision"
 }
 
 # Converts a decimal number to hexadecimal format with validation
@@ -1181,8 +1181,8 @@
        fi
 
        for node in $nodes; do
-               if ! value=$(crm_attribute --query --lifetime reboot --name 
"force_new_cluster" --node "$node" 2>/dev/null | awk -F'value=' '{print $2}' | 
tr -d "'"); then
-                       ocf_log err "could not get force_new_cluster attribute, 
crm_attribut error code: $?"
+               if ! value=$(get_cib_transient_attribute "$node" 
"force_new_cluster"); then
+                       ocf_log err "could not get force_new_cluster attribute, 
crm_attribute error code: $?"
                        return 1
                fi
                if [ -n "$value" ]; then
@@ -1230,10 +1230,40 @@
        return 1
 }
 
-# Read a node attribute from CIB (not local disk) for symmetric evaluation.
-get_cib_attribute()
+# Return 0 if 'restart_no_leave' is set on the current node, 1 otherwise.
+is_restart_no_leave()
 {
-       crm_attribute --query --type nodes --node "$1" --name "$2" 2>/dev/null 
| awk -F"value=" '{print $2}'
+       [ -n "$(get_cib_transient_attribute "$NODENAME" "restart_no_leave")" ]
+}
+
+# Delete the one-shot restart_no_leave flag after consumption in start().
+clear_restart_no_leave()
+{
+       if ! crm_attribute --delete --lifetime reboot --node "$NODENAME" --name 
"restart_no_leave"; then
+               ocf_log warn "could not clear restart_no_leave attribute"
+               return
+       fi
+       ocf_log info "$NODENAME: restart_no_leave attribute cleared"
+}
+
+# Read a permanent node attribute from CIB (not local disk) for symmetric 
evaluation.
+get_cib_permanent_attribute()
+{
+       local output rc
+       output=$(crm_attribute --query --type nodes --node "$1" --name "$2" 
2>/dev/null)
+       rc=$?
+       [ $rc -ne 0 ] && [ $rc -ne 105 ] && [ $rc -ne 6 ] && return $rc
+       echo "$output" | awk -F"value=" '{print $2}'
+}
+
+# Read a transient node attribute from CIB (auto-cleared on reboot).
+get_cib_transient_attribute()
+{
+       local output rc
+       output=$(crm_attribute --query --lifetime reboot --node "$1" --name 
"$2" 2>/dev/null)
+       rc=$?
+       [ $rc -ne 0 ] && [ $rc -ne 105 ] && [ $rc -ne 6 ] && return $rc
+       echo "$output" | awk -F"value=" '{print $2}' | tr -d "'"
 }
 
 # Verdict for dual force_new_cluster claims. Echoes one of:
@@ -1250,8 +1280,8 @@
        local local_rev peer_rev peer_node_name
 
        peer_node_name=$(get_peer_node_name)
-       local_rev=$(get_cib_attribute "$NODENAME" "revision")
-       peer_rev=$(get_cib_attribute "$peer_node_name" "revision")
+       local_rev=$(get_cib_permanent_attribute "$NODENAME" "revision")
+       peer_rev=$(get_cib_permanent_attribute "$peer_node_name" "revision")
        ocf_log info "FNC conflict inputs: $NODENAME=$local_rev 
$peer_node_name=$peer_rev"
 
        if ocf_is_decimal "$local_rev" && ocf_is_decimal "$peer_rev"; then
@@ -1261,8 +1291,8 @@
                        echo "$peer_node_name"
                else
                        local local_cid peer_cid
-                       local_cid=$(get_cib_attribute "$NODENAME" "cluster_id")
-                       peer_cid=$(get_cib_attribute "$peer_node_name" 
"cluster_id")
+                       local_cid=$(get_cib_permanent_attribute "$NODENAME" 
"cluster_id")
+                       peer_cid=$(get_cib_permanent_attribute 
"$peer_node_name" "cluster_id")
                        if [ -n "$local_cid" ] && [ -n "$peer_cid" ] && [ 
"$local_cid" = "$peer_cid" ]; then
                                echo "EQUAL"
                        else
@@ -2254,6 +2284,7 @@
        local etcd_pod_poll_interval_sec=10
        local 
etcd_pod_poll_retries=$((etcd_pod_wait_timeout_sec/etcd_pod_poll_interval_sec))
        local pod_was_running=false
+       local restart_no_leave_flag=false
 
        ocf_log notice "podman-etcd start"
 
@@ -2298,7 +2329,10 @@
                return "$OCF_ERR_GENERIC"
        fi
 
-       if ocf_is_true "$pod_was_running"; then
+       if is_restart_no_leave; then
+               ocf_log notice "restart_no_leave set: starting normally 
(non-destructive restart)"
+               restart_no_leave_flag=true
+       elif ocf_is_true "$pod_was_running"; then
                ocf_log info "static pod was running: start normally"
        else
                local fnc_holders
@@ -2682,6 +2716,9 @@
                monitor_cmd_exec
                if [ $? -eq $OCF_SUCCESS ]; then
                        ocf_log notice "Container $CONTAINER started 
successfully"
+                       if ocf_is_true "$restart_no_leave_flag"; then
+                               clear_restart_no_leave
+                       fi
                        if is_force_new_cluster; then
                                clear_force_new_cluster
 
@@ -2800,10 +2837,13 @@
                return $OCF_SUCCESS
        fi
 
-       leave_etcd_member_list
-
-       # clear node_member_id CIB attribute only after leaving the member list
-       attribute_node_member_id clear
+       if is_restart_no_leave; then
+               ocf_log notice "restart_no_leave set: skipping 
leave_etcd_member_list"
+       else
+               leave_etcd_member_list
+               # clear node_member_id CIB attribute only after leaving the 
member list
+               attribute_node_member_id clear
+       fi
 
        if [ -n "$OCF_RESKEY_CRM_meta_timeout" ]; then
                timeout=$(((OCF_RESKEY_CRM_meta_timeout/1000) -10 ))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/resource-agents-4.18.0+git81.694408f0/heartbeat/portblock 
new/resource-agents-4.18.0+git94.6c50a9b/heartbeat/portblock
--- old/resource-agents-4.18.0+git81.694408f0/heartbeat/portblock       
2026-08-10 12:12:31.000000000 +0200
+++ new/resource-agents-4.18.0+git94.6c50a9b/heartbeat/portblock        
2026-08-27 07:49:05.000000000 +0200
@@ -630,7 +630,7 @@
         fi
         rc_in=$?
         if $try_reset ; then
-          NftDelete "OUTPUT" "$1" "s" "$ports"
+          NftDelete "OUTPUT" "$1" "s" "$3" "$2"
         fi
       else
         if $try_reset ; then
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/resource-agents-4.18.0+git81.694408f0/heartbeat/powervs-subnet.in 
new/resource-agents-4.18.0+git94.6c50a9b/heartbeat/powervs-subnet.in
--- old/resource-agents-4.18.0+git81.694408f0/heartbeat/powervs-subnet.in       
2026-08-10 12:12:31.000000000 +0200
+++ new/resource-agents-4.18.0+git94.6c50a9b/heartbeat/powervs-subnet.in        
2026-08-27 07:49:05.000000000 +0200
@@ -378,8 +378,9 @@
                         api_key = keys.get("Apikey", "")
                         if not api_key:
                             api_key = keys.get("apikey", "")
+                    # data is text, return as is
                     except ValueError:
-                        # data is text, return as is
+                        f.seek(0)
                         api_key = f.read().strip()
             except FileNotFoundError:
                 raise PowerCloudAPIError(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/resource-agents-4.18.0+git81.694408f0/tools/storage_mon.c 
new/resource-agents-4.18.0+git94.6c50a9b/tools/storage_mon.c
--- old/resource-agents-4.18.0+git81.694408f0/tools/storage_mon.c       
2026-08-10 12:12:31.000000000 +0200
+++ new/resource-agents-4.18.0+git94.6c50a9b/tools/storage_mon.c        
2026-08-27 07:49:05.000000000 +0200
@@ -314,6 +314,11 @@
                                                        if 
(!daemon_check_first_all_devices) {
                                                                
daemon_check_first_all_devices = TRUE;
                                                        }
+                                                       /* To prevent the timer 
from triggering when the timeout is set to a value greater */ 
+                                                       /* than the interval, 
the io_timeout timer is stopped once the check of all devices is complete. */
+                                                       if 
(qb_loop_timer_is_running(storage_mon_poll_handle, expire_handle)) { 
+                                                               
qb_loop_timer_del(storage_mon_poll_handle, expire_handle);
+                                                       }
                                                }
                                        }
                                }

Reply via email to