我创建了一个允许更改用户密码的剧本。 这个支票簿将用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
感谢您的帮助!
答案 0 :(得分:0)
password: "{{password}}"
这是递归定义,不允许这样做。你为什么需要这个?
new_password: "{{ '"{{password}}"'|password_hash('sha512') }}"
这是嵌套的Jinja2表达式,这是不允许的。使用new_password: "{{ password | password_hash('sha512') }}"