@@ -64,6 +64,7 @@ my $start_opts = $ENV{'OCF_RESKEY_start_opts'} || $start_opts_default;
64
64
my $maxlag = $ENV {' OCF_RESKEY_maxlag' } || $maxlag_default ;
65
65
my $recovery_tpl = $ENV {' OCF_RESKEY_recovery_template' }
66
66
|| " $pgdata /recovery.conf.pcmk" ;
67
+ my $ocf_check_level = $ENV {' OCF_CHECK_LEVEL' } || 0;
67
68
68
69
69
70
# PostgreSQL commands path
@@ -1323,24 +1324,26 @@ sub pgsql_validate_all {
1323
1324
return $OCF_ERR_INSTALLED ;
1324
1325
}
1325
1326
1326
- # check notify=true
1327
- unless ( defined $ENV {' OCF_RESKEY_CRM_meta_notify' }
1328
- and lc ($ENV {' OCF_RESKEY_CRM_meta_notify' }) =~ / ^true$| ^on$| ^yes$| ^y$| ^1$ / ) {
1329
- ocf_exit_reason(
1330
- ' You must set meta parameter notify=true for your "master" resource'
1331
- );
1332
- return $OCF_ERR_INSTALLED ;
1333
- }
1327
+ if ( $ocf_check_level == 10 ) {
1328
+ # check notify=true
1329
+ unless ( defined $ENV {' OCF_RESKEY_CRM_meta_notify' }
1330
+ and lc ($ENV {' OCF_RESKEY_CRM_meta_notify' }) =~ / ^true$| ^on$| ^yes$| ^y$| ^1$ / ) {
1331
+ ocf_exit_reason(
1332
+ ' You must set meta parameter notify=true for your "master" resource'
1333
+ );
1334
+ return $OCF_ERR_INSTALLED ;
1335
+ }
1334
1336
1335
- # check master-max=1
1336
- unless (
1337
- defined $ENV {' OCF_RESKEY_CRM_meta_master_max' }
1338
- and $ENV {' OCF_RESKEY_CRM_meta_master_max' } eq ' 1'
1339
- ) {
1340
- ocf_exit_reason(
1341
- ' You must set meta parameter master-max=1 for your "master" resource'
1342
- );
1343
- return $OCF_ERR_INSTALLED ;
1337
+ # check master-max=1
1338
+ unless (
1339
+ defined $ENV {' OCF_RESKEY_CRM_meta_master_max' }
1340
+ and $ENV {' OCF_RESKEY_CRM_meta_master_max' } eq ' 1'
1341
+ ) {
1342
+ ocf_exit_reason(
1343
+ ' You must set meta parameter master-max=1 for your "master" resource'
1344
+ );
1345
+ return $OCF_ERR_INSTALLED ;
1346
+ }
1344
1347
}
1345
1348
1346
1349
if ( $PGVERNUM >= $PGVER_12 ) {
@@ -1365,12 +1368,14 @@ sub pgsql_validate_all {
1365
1368
return $OCF_ERR_ARGS ;
1366
1369
}
1367
1370
1368
- $guc = qx{ $POSTGRES -C primary_conninfo -D "$pgdata " $start_opts } ;
1369
- unless ($guc =~ / \b application_name='?$nodename '?\b / ) {
1370
- ocf_exit_reason(
1371
- q{ Parameter "primary_conninfo" MUST contain 'application_name=%s'. } .
1372
- q{ It is currently set to '%s'} , $nodename , $guc );
1373
- return $OCF_ERR_ARGS ;
1371
+ if ( $ocf_check_level == 10 ) {
1372
+ $guc = qx{ $POSTGRES -C primary_conninfo -D "$pgdata " $start_opts } ;
1373
+ unless ($guc =~ / \b application_name='?$nodename '?\b / ) {
1374
+ ocf_exit_reason(
1375
+ q{ Parameter "primary_conninfo" MUST contain 'application_name=%s'. } .
1376
+ q{ It is currently set to '%s'} , $nodename , $guc );
1377
+ return $OCF_ERR_ARGS ;
1378
+ }
1374
1379
}
1375
1380
}
1376
1381
else {
@@ -2271,6 +2276,9 @@ $PGVERNUM = _get_pg_version();
2271
2276
# Set current node name.
2272
2277
$nodename = ocf_local_nodename();
2273
2278
2279
+ if ( $__OCF_ACTION ne ' validate-all' ) {
2280
+ $ocf_check_level = 10;
2281
+ }
2274
2282
$exit_code = pgsql_validate_all();
2275
2283
2276
2284
exit $exit_code if $exit_code != $OCF_SUCCESS or $__OCF_ACTION eq ' validate-all' ;
0 commit comments