在本地生成ansible角色变量
Generate ansible role variable locally
我们有一个新的开源 ansible 角色,可以自动编译一些自定义路由器 (OpenWRT) images called openwisp2-image-generator
root用户的root密码可以在playbook YAML中定义,但是the process to do so is cumbersome.
我想让用户在 YAML 上以明文形式定义他们的密码和盐,然后在幕后做类似的事情:
import crypt;
password = crypt.crypt('password', '$salt-here$')
该值应存储在变量中,以便我可以轻松地将其添加到正确的角色模板中。
我可以 运行 python 在本地而不是远程编码吗?执行此操作的最佳方法是什么?
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 }}
我们有一个新的开源 ansible 角色,可以自动编译一些自定义路由器 (OpenWRT) images called openwisp2-image-generator
root用户的root密码可以在playbook YAML中定义,但是the process to do so is cumbersome.
我想让用户在 YAML 上以明文形式定义他们的密码和盐,然后在幕后做类似的事情:
import crypt;
password = crypt.crypt('password', '$salt-here$')
该值应存储在变量中,以便我可以轻松地将其添加到正确的角色模板中。
我可以 运行 python 在本地而不是远程编码吗?执行此操作的最佳方法是什么?
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 }}