diff --git a/src/slurmctld/controller.c b/src/slurmctld/controller.c index fe287c07a7726d79edc99325157e50281b7fde3a..c6dd05bc100353d156bd4912466bc8c514542dee 100644 --- a/src/slurmctld/controller.c +++ b/src/slurmctld/controller.c @@ -160,7 +160,7 @@ int main(int argc, char *argv[]) /* * Establish initial configuration */ - log_init(argv[0], log_opts, SYSLOG_FACILITY_DAEMON, NULL); + log_init("slurmctld", log_opts, SYSLOG_FACILITY_DAEMON, NULL); thread_id_main = pthread_self(); slurmctld_pid = getpid(); @@ -202,7 +202,7 @@ int main(int argc, char *argv[]) } if (slurmctld_conf.slurmctld_logfile) { - log_init(argv[0], log_opts, SYSLOG_FACILITY_DAEMON, + log_alter(log_opts, SYSLOG_FACILITY_DAEMON, slurmctld_conf.slurmctld_logfile); } @@ -1007,7 +1007,7 @@ static void _slurm_rpc_job_step_cancel(slurm_msg_t * msg) } /* _slurm_rpc_job_step_complete - process RPC to note the completion an - * entirejob or an individual job step */ + * entire job or an individual job step */ static void _slurm_rpc_job_step_complete(slurm_msg_t * msg) { int error_code = SLURM_SUCCESS; @@ -2088,7 +2088,7 @@ static void _parse_commandline(int argc, char *argv[], exit(1); } - log_init(argv[0], log_opts, SYSLOG_FACILITY_DAEMON, log_file); + log_alter(log_opts, SYSLOG_FACILITY_DAEMON, log_file); } /* _usage - print a message describing the command line arguments of diff --git a/src/slurmctld/job_mgr.c b/src/slurmctld/job_mgr.c index eac63673264f1a59833fe8c5b74dc10904170524..122bcedf90940931110959a1b6f1ebf432409d8f 100644 --- a/src/slurmctld/job_mgr.c +++ b/src/slurmctld/job_mgr.c @@ -1734,12 +1734,25 @@ _copy_job_desc_to_job_record(job_desc_msg_t * job_desc, if (job_desc->work_dir) detail_ptr->work_dir = xstrdup(job_desc->work_dir); - /* job_ptr->nodes *leave as NULL pointer for now */ - /* job_ptr->start_time *leave as NULL pointer for now */ - /* job_ptr->end_time *leave as NULL pointer for now */ - /* detail_ptr->total_procs *leave as NULL pointer for now */ + *job_rec_ptr = job_ptr; + return SLURM_SUCCESS; +} + +/* + * build_job_cred - build a credential for a job, only valid after + * allocation made + * IN job_ptr - pointer to the job record + */ +void build_job_cred(struct job_record *job_ptr) +{ + struct job_details *detail_ptr; + if (job_ptr == NULL) + return; + + detail_ptr = job_ptr->details; + if (detail_ptr == NULL) + return; - /* initialize job credential */ detail_ptr->credential.job_id = job_ptr->job_id; detail_ptr->credential.user_id = job_ptr->user_id; detail_ptr->credential.node_list = xstrdup(job_ptr->nodes); @@ -1748,9 +1761,6 @@ _copy_job_desc_to_job_record(job_desc_msg_t * job_desc, error("Error building credential for job_id %u: %m", job_ptr->job_id); } - - *job_rec_ptr = job_ptr; - return SLURM_SUCCESS; } /* diff --git a/src/slurmctld/node_scheduler.c b/src/slurmctld/node_scheduler.c index dc705d5c3921fe71d1b0fcad35ba14c44a2d1fb1..2406254f5a4d9119de92cb11f4895124b8484ca5 100644 --- a/src/slurmctld/node_scheduler.c +++ b/src/slurmctld/node_scheduler.c @@ -864,6 +864,7 @@ int select_nodes(struct job_record *job_ptr, int test_only) else job_ptr->end_time = job_ptr->start_time + (job_ptr->time_limit * 60); + build_job_cred(job_ptr); /* uses end_time set above */ cleanup: if (req_bitmap) diff --git a/src/slurmctld/slurmctld.h b/src/slurmctld/slurmctld.h index 3864066ac12270235097a9d3256e61eb273fad55..c9354d1e135aeb4ee223b245cbe2b0c1e683b26c 100644 --- a/src/slurmctld/slurmctld.h +++ b/src/slurmctld/slurmctld.h @@ -284,6 +284,13 @@ extern void allocate_nodes (unsigned *bitmap); */ extern char * bitmap2node_name (bitstr_t *bitmap) ; +/* + * build_job_cred - build a credential for a job, only valid after + * allocation made + * IN job_ptr - pointer to the job record + */ +void build_job_cred(struct job_record *job_ptr); + /* * build_node_details - set cpu counts and addresses for allocated nodes * IN job_ptr - pointer to a job record