我创建了一个允许更改用户密码的剧本。
此工资簿将与詹金斯一起执行,我想将密码设置为作业的参数。
任务/main.yml

---
- name: "Change user password"
  user:
    name: "{{user_name}}"
    password: "{{new_password}"
    update_password: always

默认值/main.yml
user_name: "{{user}}"
password: "{{password}}"
new_password: "{{ '"{{password}}"'|password_hash('sha512') }}"

我想我的问题出在“{{'{{password}}”'{password}哈希('sha512')}”上。
我运行playbook时使用:
ansible-playbook -e "user_name=<user>" -e "password=<best_password> -e "role=<role_name>" -e "server=<list_server>" main.yml

谢谢你的帮助!

最佳答案

password: "{{password}}"这是不允许的递归定义。你为什么需要这个?
new_password: "{{ '"{{password}}"'|password_hash('sha512') }}"这是嵌套的Jinja2表达式,这是不允许的。使用new_password: "{{ password | password_hash('sha512') }}"

10-04 17:23