diff --git a/src/scontrol/scontrol.c b/src/scontrol/scontrol.c index 990be525474092e72e5bdc4551d8b3da802812dc..4727a1867e3884dc94b310aef5c13ae56a771ee2 100644 --- a/src/scontrol/scontrol.c +++ b/src/scontrol/scontrol.c @@ -339,6 +339,7 @@ _ping_slurmctld(char *control_machine, char *backup_controller) { static char *state[2] = { "UP", "DOWN" }; int primary = 1, secondary = 1; + int down_msg = 0; if (slurm_ping(1) == SLURM_SUCCESS) primary = 0; @@ -347,17 +348,27 @@ _ping_slurmctld(char *control_machine, char *backup_controller) fprintf(stdout, "Slurmctld(primary/backup) "); if (control_machine || backup_controller) { fprintf(stdout, "at "); - if (control_machine) + if (control_machine) { fprintf(stdout, "%s/", control_machine); - else + if (primary) + down_msg = 1; + } else fprintf(stdout, "(NULL)/"); - if (backup_controller) + if (backup_controller) { fprintf(stdout, "%s ", backup_controller); - else + if (secondary) + down_msg = 1; + } else fprintf(stdout, "(NULL) "); } fprintf(stdout, "are %s/%s\n", state[primary], state[secondary]); + + if (down_msg && ((getuid() == 0) || (geteuid() == 0))) { + fprintf(stdout, "*****************************************\n"); + fprintf(stdout, "** RESTORE SLURMCTLD DAEMON TO SERVICE **\n"); + fprintf(stdout, "*****************************************\n"); + } } /*