Moe Jette <[email protected]> writes:
> That information does not seem to be available today to the lua  
> script, but the src/job_submit/lua/job_submit_lua.c could be modified  
> to make that information  available in a new variable. It would need  
> to execute the assoc_mgr_fill_in_assoc() function to get the  
> information then pass it in a new variable.

Could something like this be OK (it seems to work with my first initial
tests)? If so, I will test some more and send you a real patch.


diff --git a/src/plugins/job_submit/lua/job_submit_lua.c 
b/src/plugins/job_submit/lua/job_submit_lua.c
index 46fa6fd..3575f15 100644
--- a/src/plugins/job_submit/lua/job_submit_lua.c
+++ b/src/plugins/job_submit/lua/job_submit_lua.c
@@ -243,6 +243,21 @@ static void _register_lua_slurm_output_functions (void)
        lua_setglobal (L, "slurm");
 }
 
+/* Get the default account for a user (or NULL if not present) */
+static char *_get_default_account(uint32_t user_id)
+{
+       slurmdb_user_rec_t user;
+
+       memset(&user, 0, sizeof(slurmdb_user_rec_t));
+       user.uid = user_id;
+       if (assoc_mgr_fill_in_user(acct_db_conn,
+                                  &user, 0, NULL) != SLURM_ERROR) {
+               return user.default_acct;
+       } else {
+               return NULL;
+       }
+}
+
 /* Get fields in an existing slurmctld job record
  * NOTE: This is an incomplete list of job record fields.
  * Add more as needed and send patches to [email protected] */
@@ -335,6 +350,8 @@ static int _get_job_req_field (lua_State *L)
                lua_pushnumber (L, job_desc->contiguous);
        } else if (!strcmp(name, "cores_per_socket")) {
                lua_pushnumber (L, job_desc->cores_per_socket);
+       } else if (!strcmp(name, "default_account")) {
+               lua_pushstring (L, _get_default_account(job_desc->user_id));
        } else if (!strcmp(name, "dependency")) {
                lua_pushstring (L, job_desc->dependency);
        } else if (!strcmp(name, "end_time")) {


Regards,
-- 
Kent Engström, National Supercomputer Centre, Sweden
[email protected], +46 13 28 4444

Reply via email to