diff --git a/NEWS b/NEWS index b1b523fd1309d2f8328a704362d653c15f96b5bf..a89b7c4d17c2b2f184d6c202ed1c0d74271e97af 100644 --- a/NEWS +++ b/NEWS @@ -245,6 +245,7 @@ documents those changes that are of interest to users and administrators. * Changes in Slurm 14.11.8 ========================== + -- Eliminate need for user to set user_id on job_update calls. * Changes in Slurm 14.11.7 ========================== diff --git a/src/scontrol/update_job.c b/src/scontrol/update_job.c index bba0c07b5cd4609b2835dab747a2674c6b0856e9..56444d4690e3a14b9772a11fe3e44055802f45cd 100644 --- a/src/scontrol/update_job.c +++ b/src/scontrol/update_job.c @@ -382,7 +382,6 @@ scontrol_hold(char *op, char *job_str) job_str += 4; slurm_init_job_desc_msg (&job_msg); - job_msg.user_id = getuid(); if ((strncasecmp(op, "holdu", 5) == 0) || (strncasecmp(op, "uhold", 5) == 0)) { job_msg.priority = 0; @@ -724,10 +723,6 @@ scontrol_update_job (int argc, char *argv[]) uint32_t job_uid = NO_VAL; slurm_init_job_desc_msg (&job_msg); - - /* set current user, needed e.g., for AllowGroups checks */ - job_msg.user_id = getuid(); - for (i = 0; i < argc; i++) { tag = argv[i]; val = strchr(argv[i], '='); diff --git a/src/slurmctld/job_mgr.c b/src/slurmctld/job_mgr.c index b34b019d1a98a68e5401dd3f6b60a0e704fc87fc..73e54acd7cacf013095d3bd1592434a26c75aa7f 100644 --- a/src/slurmctld/job_mgr.c +++ b/src/slurmctld/job_mgr.c @@ -9310,6 +9310,11 @@ static int _update_job(struct job_record *job_ptr, job_desc_msg_t * job_specs, #endif memset(&acct_policy_limit_set, 0, sizeof(acct_policy_limit_set_t)); + if (job_specs->user_id == NO_VAL) { + /* Used by job_submit/lua to find default partition and + * access control logic below to validate partition change */ + job_specs->user_id = job_ptr->user_id; + } error_code = job_submit_plugin_modify(job_specs, job_ptr, (uint32_t) uid); if (error_code != SLURM_SUCCESS)