@@ -25,6 +25,7 @@ static struct servants_list_item *servants_leader = NULL;
2525int disk_priority = 1 ;
2626int check_pcmk = 1 ;
2727int check_cluster = 1 ;
28+ int has_check_pcmk_env = false;
2829int disk_count = 0 ;
2930int servant_count = 0 ;
3031int servant_restart_interval = 5 ;
@@ -949,8 +950,10 @@ int main(int argc, char **argv, char **envp)
949950 if (value ) {
950951 check_pcmk = crm_is_true (value );
951952 check_cluster = crm_is_true (value );
953+
954+ has_check_pcmk_env = true;
952955 }
953- cl_log (LOG_INFO , "Enable pacemaker checks : %d (%s)" , (int )check_pcmk , value ?value :"default" );
956+ cl_log (LOG_INFO , "SBD_PACEMAKER set to : %d (%s)" , (int )check_pcmk , value ?value :"default" );
954957
955958 value = get_env_option ("SBD_STARTMODE" );
956959 if (value == NULL ) {
@@ -1202,7 +1205,17 @@ int main(int argc, char **argv, char **envp)
12021205 }
12031206
12041207 if (P_count > 0 ) {
1205- check_pcmk = arg_enabled (P_count );
1208+ int check_pcmk_arg = arg_enabled (P_count );
1209+
1210+ if (has_check_pcmk_env && check_pcmk_arg != check_pcmk ) {
1211+ cl_log (LOG_WARNING , "Pacemaker integration is %s: "
1212+ "SBD_PACEMAKER=%s is overridden by %s option. "
1213+ "It's recommended to only use SBD_PACEMAKER." ,
1214+ check_pcmk_arg ? "enabled" : "disabled" ,
1215+ check_pcmk ? "yes" : "no" ,
1216+ check_pcmk_arg ? "-P" : "-PP" );
1217+ }
1218+ check_pcmk = check_pcmk_arg ;
12061219 }
12071220
12081221 if ((disk_count > 0 ) && (strlen (local_uname ) > SECTOR_NAME_MAX )) {
@@ -1276,10 +1289,16 @@ int main(int argc, char **argv, char **envp)
12761289 goto out ;
12771290 }
12781291#else
1279- if (!sync_resource_startup ) {
1292+ if (check_pcmk && !sync_resource_startup ) {
12801293 cl_log (LOG_WARNING , "SBD built against pacemaker supporting "
12811294 "pacemakerd-API. Should think about enabling "
12821295 "SBD_SYNC_RESOURCE_STARTUP." );
1296+
1297+ } else if (!check_pcmk && sync_resource_startup ) {
1298+ fprintf (stderr , "Set SBD_PACEMAKER=yes to allow resource startup syncing. "
1299+ "Otherwise explicitly set SBD_SYNC_RESOURCE_STARTUP=no if to intentionally disable.\n" );
1300+ exit_status = -1 ;
1301+ goto out ;
12831302 }
12841303#endif
12851304 }
0 commit comments