我们有一个新的开源ansible角色,可以自动编译一些名为OpenWRT的自定义路由器(openwisp2-image-generator)图像
root用户的root密码可以在playbook YAML中定义,但是the process to do so is cumbersome。
我想让用户在YAML上以明文形式定义他们的密码和盐,然后在幕后做类似的事情:
import crypt;
password = crypt.crypt('password', '$1$salt-here$')
该值应存储在变量中,以便我可以轻松地将其添加到正确的角色模板中。
我可以在本地而不是远程运行该python代码吗?最好的方法是什么?
答案 0 :(得分:1)
在ansible中有local_action
个模块,你可以在本地运行它。
来自http://docs.ansible.com/ansible/playbooks_delegation.html
的示例 - name: take out of load balancer pool
local_action: command /usr/bin/take_out_of_pool {{ inventory_hostname }}
# ...
- name: add back to load balancer pool
local_action: command /usr/bin/add_back_to_pool {{ inventory_hostname }}