From d56d948ec2a7b3fb1854573fc56c53ec023511d6 Mon Sep 17 00:00:00 2001 From: Oyvind Albrigtsen Date: Mon, 16 Jan 2023 11:04:43 +0100 Subject: [PATCH] - all agents: dont check notify/promotable settings during validate-action Resolves: rhbz#2157872 --- ...-4-exportfs-pgsql-validate-all-fixes.patch | 109 ++++++++++++++++++ ...sqlms-alidate-all-OCF_CHECK_LEVEL-10.patch | 23 ++++ resource-agents.spec | 8 +- 3 files changed, 138 insertions(+), 2 deletions(-) create mode 100644 bz2157872-4-exportfs-pgsql-validate-all-fixes.patch create mode 100644 bz2157872-5-pgsqlms-alidate-all-OCF_CHECK_LEVEL-10.patch diff --git a/bz2157872-4-exportfs-pgsql-validate-all-fixes.patch b/bz2157872-4-exportfs-pgsql-validate-all-fixes.patch new file mode 100644 index 0000000..668cf37 --- /dev/null +++ b/bz2157872-4-exportfs-pgsql-validate-all-fixes.patch @@ -0,0 +1,109 @@ +From 8b78251b24446c0a603a533ecc0b632dd14c752b Mon Sep 17 00:00:00 2001 +From: Oyvind Albrigtsen +Date: Wed, 11 Jan 2023 13:22:24 +0100 +Subject: [PATCH 1/2] exportfs: move testdir() to start-action to avoid failing + during resource creation (validate-all) and make it create the directory if + it doesnt exist + +--- + heartbeat/exportfs | 25 ++++++++++++++----------- + 1 file changed, 14 insertions(+), 11 deletions(-) + +diff --git a/heartbeat/exportfs b/heartbeat/exportfs +index c10777fa9..e0b66b9ee 100755 +--- a/heartbeat/exportfs ++++ b/heartbeat/exportfs +@@ -301,6 +301,16 @@ exportfs_monitor () + fi + } + ++testdir() { ++ if [ ! -d $1 ]; then ++ mkdir -p "$1" ++ if [ $? -ne 0 ]; then ++ ocf_exit_reason "Unable to create directory $1" ++ return 1 ++ fi ++ fi ++ return 0 ++} + export_one() { + local dir=$1 + local opts sep +@@ -331,6 +341,10 @@ export_one() { + } + exportfs_start () + { ++ if ! forall testdir; then ++ return $OCF_ERR_INSTALLED ++ fi ++ + if exportfs_monitor; then + ocf_log debug "already exported" + return $OCF_SUCCESS +@@ -428,14 +442,6 @@ exportfs_stop () + fi + } + +-testdir() { +- if [ ! -d $1 ]; then +- ocf_is_probe || +- ocf_log err "$1 does not exist or is not a directory" +- return 1 +- fi +- return 0 +-} + exportfs_validate_all () + { + if echo "$OCF_RESKEY_fsid" | grep -q -F ','; then +@@ -447,9 +453,6 @@ exportfs_validate_all () + ocf_exit_reason "use integer fsid when exporting multiple directories" + return $OCF_ERR_CONFIGURED + fi +- if ! forall testdir; then +- return $OCF_ERR_INSTALLED +- fi + } + + for dir in $OCF_RESKEY_directory; do + +From 8acbd8ea5a87a8adc33f47a06f8b0fb4a006cbe8 Mon Sep 17 00:00:00 2001 +From: Oyvind Albrigtsen +Date: Wed, 11 Jan 2023 13:25:57 +0100 +Subject: [PATCH 2/2] pgsql: dont run promotable checks during validate-all + action + +--- + heartbeat/pgsql | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/heartbeat/pgsql b/heartbeat/pgsql +index aa8a13a84..a99946af5 100755 +--- a/heartbeat/pgsql ++++ b/heartbeat/pgsql +@@ -1937,7 +1937,7 @@ pgsql_validate_all() { + fi + fi + +- if is_replication; then ++ if [ "$OCF_CHECK_LEVEL" -eq 10 ] && is_replication; then + REP_MODE_CONF=${OCF_RESKEY_tmpdir}/rep_mode.conf + PGSQL_LOCK=${OCF_RESKEY_tmpdir}/PGSQL.lock + XLOG_NOTE_FILE=${OCF_RESKEY_tmpdir}/xlog_note +@@ -2002,7 +2002,7 @@ pgsql_validate_all() { + fi + fi + +- if [ "$OCF_RESKEY_rep_mode" = "slave" ]; then ++ if [ "$OCF_CHECK_LEVEL" -eq 10 ] && [ "$OCF_RESKEY_rep_mode" = "slave" ]; then + if ocf_is_ms; then + ocf_exit_reason "Replication(rep_mode=slave) does not support Master/Slave configuration." + return $OCF_ERR_CONFIGURED +@@ -2163,6 +2163,7 @@ case "$1" in + exit $OCF_SUCCESS;; + esac + ++[ "$__OCF_ACTION" != "validate-all" ] && OCF_CHECK_LEVEL=10 + pgsql_validate_all + rc=$? + diff --git a/bz2157872-5-pgsqlms-alidate-all-OCF_CHECK_LEVEL-10.patch b/bz2157872-5-pgsqlms-alidate-all-OCF_CHECK_LEVEL-10.patch new file mode 100644 index 0000000..0642086 --- /dev/null +++ b/bz2157872-5-pgsqlms-alidate-all-OCF_CHECK_LEVEL-10.patch @@ -0,0 +1,23 @@ +--- ClusterLabs-resource-agents-fd0720f7/heartbeat/pgsqlms 2023-01-16 10:54:30.897188238 +0100 ++++ pgsqlms 2023-01-10 14:21:19.281286242 +0100 +@@ -1351,12 +1351,14 @@ + return $OCF_ERR_ARGS; + } + +- $guc = qx{ $POSTGRES -C primary_conninfo -D "$pgdata" $start_opts}; +- unless ($guc =~ /\bapplication_name='?$nodename'?\b/) { +- ocf_exit_reason( +- q{Parameter "primary_conninfo" MUST contain 'application_name=%s'. }. +- q{It is currently set to '%s'}, $nodename, $guc ); +- return $OCF_ERR_ARGS; ++ if ( $ocf_check_level == 10 ) { ++ $guc = qx{ $POSTGRES -C primary_conninfo -D "$pgdata" $start_opts}; ++ unless ($guc =~ /\bapplication_name='?$nodename'?\b/) { ++ ocf_exit_reason( ++ q{Parameter "primary_conninfo" MUST contain 'application_name=%s'. }. ++ q{It is currently set to '%s'}, $nodename, $guc ); ++ return $OCF_ERR_ARGS; ++ } + } + } + else { diff --git a/resource-agents.spec b/resource-agents.spec index de21726..e102caf 100644 --- a/resource-agents.spec +++ b/resource-agents.spec @@ -45,7 +45,7 @@ Name: resource-agents Summary: Open Source HA Reusable Cluster Resource Scripts Version: 4.10.0 -Release: 30%{?rcver:%{rcver}}%{?numcomm:.%{numcomm}}%{?alphatag:.%{alphatag}}%{?dirty:.%{dirty}}%{?dist} +Release: 31%{?rcver:%{rcver}}%{?numcomm:.%{numcomm}}%{?alphatag:.%{alphatag}}%{?dirty:.%{dirty}}%{?dist} License: GPLv2+ and LGPLv2+ URL: https://github.com/ClusterLabs/resource-agents Source0: %{upstream_prefix}-%{upstream_version}.tar.gz @@ -91,6 +91,8 @@ Patch38: bz2145260-mysql-common-return-error-if-kill-fails.patch Patch39: bz2157872-1-all-ras-validate-all-OCF_CHECK_LEVEL-10.patch Patch40: bz2157872-2-Filesystem-CTDB-validate-all-improvements.patch Patch41: bz2157872-3-pgsqlms-validate-all-OCF_CHECK_LEVEL-10.patch +Patch42: bz2157872-4-exportfs-pgsql-validate-all-fixes.patch +Patch43: bz2157872-5-pgsqlms-alidate-all-OCF_CHECK_LEVEL-10.patch # bundled ha-cloud-support libs Patch500: ha-cloud-support-aws.patch @@ -256,6 +258,8 @@ exit 1 %patch39 -p1 %patch40 -p1 %patch41 -p1 +%patch42 -p1 +%patch43 -p1 # bundled ha-cloud-support libs %patch500 -p1 @@ -577,7 +581,7 @@ rm -rf %{buildroot}/usr/share/doc/resource-agents %{_usr}/lib/ocf/lib/heartbeat/OCF_*.pm %changelog -* Thu Jan 5 2023 Oyvind Albrigtsen - 4.10.0-30 +* Mon Jan 16 2023 Oyvind Albrigtsen - 4.10.0-31 - all agents: dont check notify/promotable settings during validate-action