-
Notifications
You must be signed in to change notification settings - Fork 75
Open
Description
为何需要此功能 | Why is this needed
超算管理员在创建slurm 账号和用户除了在 openldap 和 slurm 中添加用户、组、账号外,还会有自己初始化的脚本,例如生成 ssh 公钥对,设置文件系统配额,初始化 .bashrc ,QoS等。目前的 SCOW 配置系统并不支持用户自定义设置,导致主要的使用方式还是通过命令行添加后再导入scow.
实际上,通过本Issue介绍的配置重构后,SCOW可无需再区分 authtype 为 openldap 还是 sshtype, 只要有sshtype即可。模板驱动可以最大限度提升用户配置的灵活性,同时减少 SCOW的内部逻辑。
采取这样的设置模式,这一问题:#1424 也可以迎刃而解。
希望增加什么 | What would you like to be added
SCOW应该支持基于模板的账号配置,而不是将逻辑内置在SCOW内。这样的设计不仅可以大大简化 SCOW的设计,同时还可增加用户的灵活性。举例来说,我们可以在 SCOW的某个配置文件中添加若干配置选项,如:new_user_script_template, new_account_script_template, verify_password, modify_password.
以我们的超算运营为例,我们在日常工作中使用以下脚本进行运维操作
/opt/hpc-ops/ikkem-admin.py new_user john
/opt/hpc-ops/ikkem-admin.py new_account ai-research
/opt/hpc-ops/ikkem-admin.py modify_user_password john -p Passw0rd!在上述脚本中,我们已经封装了必要的用户创建所需的初始化逻辑,此时我们只要在 SCOW中进行如下配置
new_user_script_template: |
/opt/hpc-ops/ikkem-admin.py new_user {username} {email}
new_account_script_template: |
/opt/hpc-ops/ikkem-admin.py new_account {account}
modify_password: |
/opt/hpc-ops/ikkem-admin.py modify_passowd {username} {password}
verify_password: |
echo {passowod} | pamtester login {username} authenticate其中,{username} , {email} ,{password}, {account} 等即用户在前端填写的变量。这些脚本模板会被替换后以shell脚本的形式被执行。
此功能为谁设计? | Who is this feature for?
SCOW管理员
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels