Blob Blame History Raw
--- a/heartbeat/pgsqlms	2023-01-04 14:42:36.093258702 +0100
+++ b/heartbeat/pgsqlms	2023-01-04 14:40:52.403994545 +0100
@@ -66,6 +66,7 @@
 my $maxlag       = $ENV{'OCF_RESKEY_maxlag'} || $maxlag_default;
 my $recovery_tpl = $ENV{'OCF_RESKEY_recovery_template'}
     || "$pgdata/recovery.conf.pcmk";
+my $ocf_check_level = $ENV{'OCF_CHECK_LEVEL'} || 0;
 
 
 # PostgreSQL commands path
@@ -1304,26 +1305,28 @@
         return $OCF_ERR_INSTALLED;
     }
 
-    # check notify=true
-    $ans = qx{ $CRM_RESOURCE --resource "$OCF_RESOURCE_INSTANCE" \\
-                 --meta --get-parameter notify 2>/dev/null };
-    chomp $ans;
-    unless ( lc($ans) =~ /^true$|^on$|^yes$|^y$|^1$/ ) {
-        ocf_exit_reason(
-            'You must set meta parameter notify=true for your master resource'
-        );
-        return $OCF_ERR_INSTALLED;
-    }
+    if ( $ocf_check_level == 10 ) {
+        # check notify=true
+        $ans = qx{ $CRM_RESOURCE --resource "$OCF_RESOURCE_INSTANCE" \\
+                     --meta --get-parameter notify 2>/dev/null };
+        chomp $ans;
+        unless ( lc($ans) =~ /^true$|^on$|^yes$|^y$|^1$/ ) {
+            ocf_exit_reason(
+                'You must set meta parameter notify=true for your "master" resource'
+            );
+            return $OCF_ERR_INSTALLED;
+        }
 
-    # check master-max=1
-    unless (
-        defined $ENV{'OCF_RESKEY_CRM_meta_master_max'}
-            and $ENV{'OCF_RESKEY_CRM_meta_master_max'} eq '1'
-    ) {
-        ocf_exit_reason(
-            'You must set meta parameter master-max=1 for your master resource'
-        );
-        return $OCF_ERR_INSTALLED;
+        # check master-max=1
+        unless (
+            defined $ENV{'OCF_RESKEY_CRM_meta_master_max'}
+                and $ENV{'OCF_RESKEY_CRM_meta_master_max'} eq '1'
+        ) {
+            ocf_exit_reason(
+                'You must set meta parameter master-max=1 for your "master" resource'
+            );
+            return $OCF_ERR_INSTALLED;
+        }
     }
 
     if ( $PGVERNUM >= $PGVER_12 ) {
@@ -2242,6 +2245,9 @@
 # Set current node name.
 $nodename = ocf_local_nodename();
 
+if ( $__OCF_ACTION ne 'validate-all' ) {
+    $ocf_check_level = 10;
+}
 $exit_code = pgsql_validate_all();
 
 exit $exit_code if $exit_code != $OCF_SUCCESS or $__OCF_ACTION eq 'validate-all';