哈希过滤器哈希过滤器

时间:2017-04-18 19:21:05

标签: linux jenkins ansible

我创建了一个允许更改用户密码的剧本。 这个支票簿将用jenkins执行,我想将密码设置为作业的参数。

任务/ 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_hash(' sha512')}} "

我用以下方式运行剧本:

ansible-playbook -e "user_name=<user>" -e "password=<best_password> -e "role=<role_name>" -e "server=<list_server>" main.yml

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

password: "{{password}}"这是递归定义,不允许这样做。你为什么需要这个?

new_password: "{{ '"{{password}}"'|password_hash('sha512') }}"这是嵌套的Jinja2表达式,这是不允许的。使用new_password: "{{ password | password_hash('sha512') }}"