Skip to content

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

@link89

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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions