From 795cddbb4231105952e9c7341ee2285a0d24c6db Mon Sep 17 00:00:00 2001 From: Moe Jette <jette1@llnl.gov> Date: Tue, 12 Nov 2002 21:53:38 +0000 Subject: [PATCH] Add support for new configuration file parameters SlurmctldLogFile, SlurmdLogFile, and SlurmdSpoolDir. --- src/api/config_info.c | 3 ++ src/common/slurm_protocol_defs.c | 54 ++++++++++++++++++-------------- src/common/slurm_protocol_defs.h | 9 +++--- src/common/slurm_protocol_pack.c | 14 +++++++++ src/slurmctld/controller.c | 6 ++++ 5 files changed, 58 insertions(+), 28 deletions(-) diff --git a/src/api/config_info.c b/src/api/config_info.c index e63c7286a18..6ba70064170 100644 --- a/src/api/config_info.c +++ b/src/api/config_info.c @@ -56,7 +56,10 @@ void slurm_print_ctl_conf ( FILE* out, slurm_ctl_conf_info_msg_t * slurm_ctl_con fprintf(out, "Prioritize = %s\n", slurm_ctl_conf_ptr->prioritize); fprintf(out, "Prolog = %s\n", slurm_ctl_conf_ptr->prolog); fprintf(out, "ReturnToService = %u\n", slurm_ctl_conf_ptr->ret2service); + fprintf(out, "SlurmctldLogFile = %s\n", slurm_ctl_conf_ptr->slurmctld_logfile); fprintf(out, "SlurmctldTimeout = %u\n", slurm_ctl_conf_ptr->slurmctld_timeout); + fprintf(out, "SlurmdLogFile = %s\n", slurm_ctl_conf_ptr->slurmd_logfile); + fprintf(out, "SlurmdSpoolDir = %s\n", slurm_ctl_conf_ptr->slurmd_spooldir); fprintf(out, "SlurmdTimeout = %u\n", slurm_ctl_conf_ptr->slurmd_timeout); fprintf(out, "SLURM_CONFIG_FILE = %s\n", slurm_ctl_conf_ptr->slurm_conf); fprintf(out, "StateSaveLocation = %s\n", slurm_ctl_conf_ptr->state_save_location); diff --git a/src/common/slurm_protocol_defs.c b/src/common/slurm_protocol_defs.c index 987137aedbc..18578b1d63f 100644 --- a/src/common/slurm_protocol_defs.c +++ b/src/common/slurm_protocol_defs.c @@ -65,30 +65,36 @@ void slurm_free_return_code_msg(return_code_msg_t * msg) xfree(msg); } -void slurm_free_ctl_conf(slurm_ctl_conf_info_msg_t * build_ptr) -{ - if (build_ptr) { - if (build_ptr->backup_addr) - xfree(build_ptr->backup_addr); - if (build_ptr->backup_controller) - xfree(build_ptr->backup_controller); - if (build_ptr->control_addr) - xfree(build_ptr->control_addr); - if (build_ptr->control_machine) - xfree(build_ptr->control_machine); - if (build_ptr->epilog) - xfree(build_ptr->epilog); - if (build_ptr->prioritize) - xfree(build_ptr->prioritize); - if (build_ptr->prolog) - xfree(build_ptr->prolog); - if (build_ptr->slurm_conf) - xfree(build_ptr->slurm_conf); - if (build_ptr->state_save_location) - xfree(build_ptr->state_save_location); - if (build_ptr->tmp_fs) - xfree(build_ptr->tmp_fs); - xfree(build_ptr); +void slurm_free_ctl_conf(slurm_ctl_conf_info_msg_t * config_ptr) +{ + if (config_ptr) { + if (config_ptr->backup_addr) + xfree(config_ptr->backup_addr); + if (config_ptr->backup_controller) + xfree(config_ptr->backup_controller); + if (config_ptr->control_addr) + xfree(config_ptr->control_addr); + if (config_ptr->control_machine) + xfree(config_ptr->control_machine); + if (config_ptr->epilog) + xfree(config_ptr->epilog); + if (config_ptr->prioritize) + xfree(config_ptr->prioritize); + if (config_ptr->prolog) + xfree(config_ptr->prolog); + if (config_ptr->slurmctld_logfile) + xfree(config_ptr->slurmctld_logfile); + if (config_ptr->slurmd_logfile) + xfree(config_ptr->slurmd_logfile); + if (config_ptr->slurmd_spooldir) + xfree(config_ptr->slurmd_spooldir); + if (config_ptr->slurm_conf) + xfree(config_ptr->slurm_conf); + if (config_ptr->state_save_location) + xfree(config_ptr->state_save_location); + if (config_ptr->tmp_fs) + xfree(config_ptr->tmp_fs); + xfree(config_ptr); } } diff --git a/src/common/slurm_protocol_defs.h b/src/common/slurm_protocol_defs.h index c1b4240e500..ac5a47258b9 100644 --- a/src/common/slurm_protocol_defs.h +++ b/src/common/slurm_protocol_defs.h @@ -353,7 +353,7 @@ typedef struct partition_info { * Slurm API Protocol Data Structures *****************************************************************************/ -struct slurm_ctl_conf { +typedef struct slurm_ctl_conf { time_t last_update; /* last update time of the build parameters */ char *backup_addr; /* comm path of slurmctld secondary server */ char *backup_controller; /* name of slurmctld secondary server */ @@ -370,18 +370,19 @@ struct slurm_ctl_conf { char *prioritize; /* pathname of program to set initial job priority */ char *prolog; /* pathname of job prolog */ uint16_t ret2service; /* 1 return node to service at registration */ + char *slurmctld_logfile; /* where slurmctld error log goes by default */ uint32_t slurmctld_port; /* default communications port to slurmctld */ uint16_t slurmctld_timeout; /* how long backup waits for primarly slurmctld */ + char *slurmd_logfile; /* where slurmd error log goes by default */ uint32_t slurmd_port; /* default communications port to slurmd */ + char *slurmd_spooldir; /* where slurmd put temporary state info */ uint16_t slurmd_timeout; /* how long slurmctld waits for slurmd before setting down */ char *slurm_conf; /* pathname of slurm config file */ char *state_save_location; /* pathname of state save directory */ char *tmp_fs; /* pathname of temporary file system */ char *job_credential_private_key; /* path to private key */ char *job_credential_public_certificate; /* path to public certificate */ -}; - -typedef struct slurm_ctl_conf slurm_ctl_conf_t; +} slurm_ctl_conf_t; /**************************************************************************** * Slurm Protocol Message Types diff --git a/src/common/slurm_protocol_pack.c b/src/common/slurm_protocol_pack.c index df03f03637b..08a6e53206d 100644 --- a/src/common/slurm_protocol_pack.c +++ b/src/common/slurm_protocol_pack.c @@ -1249,7 +1249,11 @@ void pack_slurm_ctl_conf ( slurm_ctl_conf_info_msg_t * build_ptr, Buf buffer ) packstr (build_ptr->prioritize, buffer); packstr (build_ptr->prolog, buffer); pack16 (build_ptr->ret2service, buffer); +error("logfile=%s",build_ptr->slurmctld_logfile); + packstr (build_ptr->slurmctld_logfile, buffer); pack16 (build_ptr->slurmctld_timeout, buffer); + packstr (build_ptr->slurmd_logfile, buffer); + packstr (build_ptr->slurmd_spooldir, buffer); pack16 (build_ptr->slurmd_timeout, buffer); packstr (build_ptr->slurm_conf, buffer); packstr (build_ptr->state_save_location, buffer); @@ -1283,7 +1287,11 @@ int unpack_slurm_ctl_conf ( slurm_ctl_conf_info_msg_t **build_buffer_ptr, Buf bu safe_unpackstr_xmalloc (&build_ptr->prioritize, &uint16_tmp, buffer); safe_unpackstr_xmalloc (&build_ptr->prolog, &uint16_tmp, buffer); safe_unpack16 (&build_ptr->ret2service, buffer); + safe_unpackstr_xmalloc (&build_ptr->slurmctld_logfile, &uint16_tmp, buffer); +error("logfile=%s",build_ptr->slurmctld_logfile); safe_unpack16 (&build_ptr->slurmctld_timeout, buffer); + safe_unpackstr_xmalloc (&build_ptr->slurmd_logfile, &uint16_tmp, buffer); + safe_unpackstr_xmalloc (&build_ptr->slurmd_spooldir, &uint16_tmp, buffer); safe_unpack16 (&build_ptr->slurmd_timeout, buffer); safe_unpackstr_xmalloc (&build_ptr->slurm_conf, &uint16_tmp, buffer); safe_unpackstr_xmalloc (&build_ptr->state_save_location, &uint16_tmp, buffer); @@ -1307,6 +1315,12 @@ int unpack_slurm_ctl_conf ( slurm_ctl_conf_info_msg_t **build_buffer_ptr, Buf bu xfree (build_ptr->prioritize); if (build_ptr->prolog) xfree (build_ptr->prolog); + if (build_ptr->slurmctld_logfile) + xfree (build_ptr->slurmctld_logfile); + if (build_ptr->slurmd_logfile) + xfree (build_ptr->slurmd_logfile); + if (build_ptr->slurmd_spooldir) + xfree (build_ptr->slurmd_spooldir); if (build_ptr->slurm_conf) xfree (build_ptr->slurm_conf); if (build_ptr->state_save_location) diff --git a/src/slurmctld/controller.c b/src/slurmctld/controller.c index ed540ea576b..cf922438c60 100644 --- a/src/slurmctld/controller.c +++ b/src/slurmctld/controller.c @@ -1861,7 +1861,10 @@ init_ctld_conf ( slurm_ctl_conf_t * conf_ptr ) conf_ptr->prioritize = NULL ; conf_ptr->prolog = NULL ; conf_ptr->ret2service = 0 ; + conf_ptr->slurmctld_logfile = xstrdup ("test") ; /* FIXME to NULL */ conf_ptr->slurmctld_timeout = 300 ; + conf_ptr->slurmd_logfile = NULL ; + conf_ptr->slurmd_spooldir = NULL ; conf_ptr->slurmd_timeout = 300 ; conf_ptr->slurm_conf = SLURM_CONFIG_FILE ; conf_ptr->state_save_location = xstrdup (DEFAULT_TMP_FS) ; @@ -1900,8 +1903,11 @@ fill_ctld_conf ( slurm_ctl_conf_t * conf_ptr ) conf_ptr->prioritize = slurmctld_conf.prioritize ; conf_ptr->prolog = slurmctld_conf.prolog ; conf_ptr->ret2service = slurmctld_conf.ret2service ; + conf_ptr->slurmctld_logfile = slurmctld_conf.slurmctld_logfile ; conf_ptr->slurmctld_port = slurmctld_conf.slurmctld_port ; conf_ptr->slurmctld_timeout = slurmctld_conf.slurmctld_timeout ; + conf_ptr->slurmd_logfile = slurmctld_conf.slurmd_logfile ; + conf_ptr->slurmd_spooldir = slurmctld_conf.slurmd_spooldir ; conf_ptr->slurmd_port = slurmctld_conf.slurmd_port ; conf_ptr->slurmd_timeout = slurmctld_conf.slurmd_timeout ; conf_ptr->slurm_conf = slurmctld_conf.slurm_conf ; -- GitLab