2014-09-04 1 views
1

Я пытаюсь выяснить, как настроить SLURM, чтобы пользователь указывал -account при использовании команд SLURM (salloc, sbatch, srun). Эффективно я хочу отключить поведение учетной записи по умолчанию.Настройка SLURM, поэтому пользователю необходимо указать --account

Кто-нибудь там нашел простой способ сделать это?

ответ

0

Один из вариантов - установить параметр AccountingStorageEnforce на associations в slurm.conf.

AccountingStorageEnforce Это контролирует уровень защиты, основанный на ассоциации, налагаемый на представления о работе. Допустимые параметры - любая комбинация ассоциаций, лимитов, nojobs, nosteps, qos, safe и wckeys, или всего для всех вещей (ожидайте nojobs и nosteps, они должны быть запрошены как ).

Применяя ассоциации, никакому новому заданию не разрешено работать, если в системе не существует соответствующей ассоциации. Если лимиты введены в действие пользователей могут быть ограничены ассоциацией с любым размером работы или временем выполнения. определены пределы.

Затем, используя команду sacctmgr, убедитесь, что учетная запись по умолчанию не имеет доступа к определенным разделам. Фактически, пользователям будет отказано в отправке, если они не укажут действительную учетную запись.

Другой вариант - написать обычай submission plugin, который вы можете написать в Lua. В этом скрипте вы можете проверить, был ли установлен параметр --account и запретить отправку с помощью специального сообщения, если оно не было.

1

У меня было такое же требование, чтобы заставить пользователей указывать учетные записи, и, найдя несколько способов выполнить его с помощью slurm, я решил оживить этот пост с помощью самого короткого/простого решения.

Плагин slurm lua submit рассматривает описание задания до использования учетной записи по умолчанию. Следовательно, вы можете установить пакет slurm-lua, добавить «JobSubmitPlugins = lua» в slurm.conf, перезапустить slurmctld и прямо проверить, была ли учетная запись определена с помощью скрипта job_submit.lua (создайте сценарий, где бы вы ни находились slurm.conf, как правило, в/и т.д./Слерма /):

-- /etc/slurm/job_submit.lua to reject jobs with no account specified 

function slurm_job_submit(job_desc, part_list, submit_uid) 
    if job_desc.account == nil then 
      slurm.log_error("User %s did not specify an account.", job_desc.user_id) 
      slurm.log_user("You must specify an account!") 
      return slurm.ERROR 
    end 
    return slurm.SUCCESS 
end 

function slurm_job_modify(job_desc, job_rec, part_list, modify_uid) 
    return slurm.SUCCESS 
end 

return slurm.SUCCESS 

ошибки, возникающие в результате не уточняя счета выглядеть следующим образом:

# srun --pty bash 
srun: error: You must specify an account! 
srun: error: Unable to allocate resources: Unspecified error 

# sbatch submit.slurm 
sbatch: error: You must specify an account! 
sbatch: error: Batch job submission failed: Unspecified error 

Эти ошибки также распечатывается в журнал slurmctld, так что вы знаете, какова проблема распределения ресурсов для конкретной работы:

[2017-09-12T08:32:00.697] error: job_submit.lua: User 0 did not specify an account. 
[2017-09-12T08:32:00.697] _slurm_rpc_submit_batch_job: Unspecified error 

В качестве дополнения, Slurm Submit Plugins Guide является лишь умеренно полезным, и вам, вероятно, будет намного лучше, просто изучив Lua job_submit plugin implementation для руководства.

Смежные вопросы