Qos limits associations and AD auth Sorry for all the wierd symbols, I
was copying the code from linux terminal
here is the clean code(I hope):
if ((accounting_enforce & ACCOUNTING_ENFORCE_QOS)
&& assoc_ptr
&& !admin
&& (!assoc_ptr->usage->valid_qos
|| !bit_test(assoc_ptr->usage->valid_qos, qos_rec->id))) {
error("This association %d(account='%s', "
"user='%s', partition='%s') does not have "
"access to qos %s",
assoc_ptr->id, assoc_ptr->acct, assoc_ptr->user,
assoc_ptr->partition, qos_rec->name);
*error_code = ESLURM_INVALID_QOS;
return NULL;
}
\[\-\-HhwWKyboDM_TMP[if !supportLineBreakNewLine]DM_TMPHhwWKybo\-\-\]
\[\-\-HhwWKyboDM_TMP[endif]DM_TMPHhwWKybo\-\-\]
\[\-\-HhwWKyboDM_TMP[if gte mso 9]> \[\-\-HhwWKyboDM_TMP[if gte mso
9]> Normal 0 false false false EN-US X-NONE HE \[\-\-HhwWKyboDM_TMP /*
Font Definitions */ @font-face {font-family:Calibri; panose-1:2 15 5 2
2 2 4 3 2 4; mso-font-charset:0; mso-generic-font-family:swiss;
mso-font-pitch:variable; mso-font-signature:-536870145 1073786111 1 0
415 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal,
div.MsoNormal {mso-style-unhide:no; mso-style-qformat:yes;
mso-style-parent:""; margin-top:0cm; margin-right:0cm;
margin-bottom:10.0pt; margin-left:0cm; text-align:right;
line-height:115%; mso-pagination:widow-orphan; direction:rtl;
unicode-bidi:embed; font-size:11.0pt;
font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin; mso-fareast-font-family:Calibri;
mso-fareast-theme-font:minor-latin; mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin; mso-bidi-font-family:Arial;
mso-bidi-theme-font:minor-bidi;} .MsoChpDefault
{mso-style-type:export-only; mso-default-props:yes;
font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin; mso-fareast-font-family:Calibri;
mso-fareast-theme-font:minor-latin; mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin; mso-bidi-font-family:Arial;
mso-bidi-theme-font:minor-bidi;} .MsoPapDefault
{mso-style-type:export-only; margin-bottom:10.0pt; line-height:115%;}
@page WordSection1 {size:612.0pt 792.0pt; margin:72.0pt 90.0pt 72.0pt
90.0pt; mso-header-margin:36.0pt; mso-footer-margin:36.0pt;
mso-paper-source:0;} div.WordSection1 {page:WordSection1;}
DM_TMPHhwWKybo\-\-\] \[\-\-HhwWKyboDM_TMP[if gte mso 10]>
if (assoc_mgr_fill_in_assoc(acct_db_conn, &assoc_rec,
accounting_enforce, &assoc_ptr, false)) {
info("_job_create: invalid account or partition for user %u, "
"account '%s', and partition '%s'",
job_desc->user_id, assoc_rec.acct, assoc_rec.partition);
error_code = ESLURM_INVALID_ACCOUNT;
goto cleanup_fail;
\[\-\-HhwWKyboDM_TMP[if gte mso 9]> \[\-\-HhwWKyboDM_TMP[if gte mso
9]> Normal 0 false false false EN-US X-NONE HE \[\-\-HhwWKyboDM_TMP /*
Font Definitions */ @font-face {font-family:Calibri; panose-1:2 15 5 2
2 2 4 3 2 4; mso-font-charset:0; mso-generic-font-family:swiss;
mso-font-pitch:variable; mso-font-signature:-536870145 1073786111 1 0
415 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal,
div.MsoNormal {mso-style-unhide:no; mso-style-qformat:yes;
mso-style-parent:""; margin-top:0cm; margin-right:0cm;
margin-bottom:10.0pt; margin-left:0cm; text-align:right;
line-height:115%; mso-pagination:widow-orphan; direction:rtl;
unicode-bidi:embed; font-size:11.0pt;
font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin; mso-fareast-font-family:Calibri;
mso-fareast-theme-font:minor-latin; mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin; mso-bidi-font-family:Arial;
mso-bidi-theme-font:minor-bidi;} .MsoChpDefault
{mso-style-type:export-only; mso-default-props:yes;
font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin; mso-fareast-font-family:Calibri;
mso-fareast-theme-font:minor-latin; mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin; mso-bidi-font-family:Arial;
mso-bidi-theme-font:minor-bidi;} .MsoPapDefault
{mso-style-type:export-only; margin-bottom:10.0pt; line-height:115%;}
@page WordSection1 {size:595.3pt 841.9pt; margin:72.0pt 90.0pt 72.0pt
90.0pt; mso-header-margin:35.4pt; mso-footer-margin:35.4pt;
mso-paper-source:0; mso-gutter-direction:rtl;} div.WordSection1
{page:WordSection1;} DM_TMPHhwWKybo\-\-\] \[\-\-HhwWKyboDM_TMP[if gte
mso 10]> \[\-\-HhwWKyboDM_TMP[if gte mso 9]> \[\-\-HhwWKyboDM_TMP[if
gte mso 9]> Normal 0 false false false EN-US X-NONE HE
\[\-\-HhwWKyboDM_TMP /* Font Definitions */ @font-face
{font-family:Calibri; panose-1:2 15 5 2 2 2 4 3 2 4;
mso-font-charset:0; mso-generic-font-family:swiss;
mso-font-pitch:variable; mso-font-signature:-536870145 1073786111 1 0
415 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal,
div.MsoNormal {mso-style-unhide:no; mso-style-qformat:yes;
mso-style-parent:""; margin-top:0cm; margin-right:0cm;
margin-bottom:10.0pt; margin-left:0cm; text-align:right;
line-height:115%; mso-pagination:widow-orphan; direction:rtl;
unicode-bidi:embed; font-size:11.0pt;
font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin; mso-fareast-font-family:Calibri;
mso-fareast-theme-font:minor-latin; mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin; mso-bidi-font-family:Arial;
mso-bidi-theme-font:minor-bidi;} .MsoChpDefault
{mso-style-type:export-only; mso-default-props:yes;
font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin; mso-fareast-font-family:Calibri;
mso-fareast-theme-font:minor-latin; mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin; mso-bidi-font-family:Arial;
mso-bidi-theme-font:minor-bidi;} .MsoPapDefault
{mso-style-type:export-only; margin-bottom:10.0pt; line-height:115%;}
@page WordSection1 {size:612.0pt 792.0pt; margin:72.0pt 90.0pt 72.0pt
90.0pt; mso-header-margin:36.0pt; mso-footer-margin:36.0pt;
mso-paper-source:0;} div.WordSection1 {page:WordSection1;}
DM_TMPHhwWKybo\-\-\] \[\-\-HhwWKyboDM_TMP[if gte mso 10]>
On 18/10/2017 08:26, Nadav Toledo wrote:
Hey everyone,
I am working at a university and we trying to setup a slurm cluster
for courses and research.
for the courses we would like to enforce qos on users that can connect
via pbis-open auth. meaning they are authenticating against AD server.
There are alot of users and each semester they are changing.
My question is, how can i achieve :
A. enforce qosן¿½ (AccountingStorageEnforce=limits,qos)
B. Don't enforce associations , meaning anyone who can login to the
server can submit jobs
C. having slurmdbd record each user activity
D. The users are not in /etc/passwd, loging being made by pbis-open
about B:ן¿½ The reason is I dont want to manually adding each user to
the slurm database (sacctmgr create user...)
Regarding A+B:
I have seen this answer :<!-- tmpl_var LEFT_BRACKET -->1<!-- tmpl_var
RIGHT_BRACKET
-->https://groups.google.com/forum/#!msg/slurm-devel/9Iu4c_qTb8w/ec0O36eW7dsJ;context-place=searchin/slurm-devel/Association$20ldap|sort:relevance
But for me atleast it doesn't seem to work, I comment out the
following code(inside src/slurmctld/job_mgr.c), then make clean, make,
make install, still got the error: srun: error: Unable to allocate
resources: Invalid account or account/partition combination specified
the error on slurmctld :
slurmctld: error: User 243309139 not found
slurmctld: _job_create: invalid account or partition for user
243309139, account '(null)', and partition 'all'
slurmctld: _slurm_rpc_allocate_resources: Invalid account or
account/partition combination specified
(243309139ן¿½ is the uid of a user auth against AD server, and doesn't
show up in passwd nor in slurm database)
/*ן¿½ן¿½ן¿½ן¿½ן¿½ if ((accounting_enforce & ACCOUNTING_ENFORCE_QOS)
ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ && assoc_ptr
ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ && !admin
ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ && (!assoc_ptr->usage->valid_qos
ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ ||
!bit_test(assoc_ptr->usage->valid_qos, qos_rec->id))) {
ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ error("This association
%d(account='%s', "
ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½
"user='%s', partition='%s') does not have "
ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½
"access to qos %s",
ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½
assoc_ptr->id, assoc_ptr->acct, assoc_ptr->user,
ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½
assoc_ptr->partition, qos_rec->name);
ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ *error_code =
ESLURM_INVALID_QOS;
ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ return NULL;
ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ }
*/
perhaps I should do something with these lines (same file)?
ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ if (assoc_mgr_fill_in_assoc(acct_db_conn,
&assoc_rec,
ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½
accounting_enforce, &assoc_ptr, false)) {
ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ info("_job_create:
invalid account or partition for user %u, "
ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ "account
'%s', and partition '%s'",
ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½
job_desc->user_id, assoc_rec.acct, assoc_rec.partition);
ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ error_code =
ESLURM_INVALID_ACCOUNT;
ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ן¿½ goto cleanup_fail;
Thank you all for helping, Nadav
<!-- tmpl_var LEFT_BRACKET -->1<!-- tmpl_var RIGHT_BRACKET -->
https://groups.google.com/forum/#%21msg/slurm-devel/9Iu4c_qTb8w/ec0O36eW7dsJ;context-place=searchin/slurm-devel/Association$20ldap