Skip to content

[Feature/Enhancement] mis: 采取模板驱动的模式支持一般运维操作(创建用户、账户、重置密码等) #1453

Description

@link89

为何需要此功能 | 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管理员

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions