【问题标题】:Piping a python output into an Ansible variable将 python 输出通过管道传输到 Ansible 变量中
【发布时间】:2016-03-29 16:01:14
【问题描述】:
我有一个输出哈希的 python 脚本。我希望将该哈希值通过管道传输到我的 ansible 脚本内的变量中。
Python 命令如下所示-
#!/bin/python
import crypt
test= crypt.crypt('test', '$6$Som3S@lt$')
print test
我的 ansible playbook 是这样的 -
hosts: webservers
remote_user: test
become: yes
become_method: sudo
vars:
pass:
tasks:
- name: Run Python Password script
command: /home/test/userPW.py > pass
谢谢
【问题讨论】:
标签:
ansible
ansible-playbook
【解决方案1】:
尝试注册。
➜ ~ cat test.yml
---
- hosts: 127.0.0.1
user: jenkins
connection: local
tasks:
- name: password
shell: cat /tmp/pass
register: pass
- debug: var=pass.stdout
➜ ~ ansible-playbook -i hosts test.yml
PLAY ***************************************************************************
TASK [setup] *******************************************************************
ok: [127.0.0.1]
TASK [password] ****************************************************************
changed: [127.0.0.1]
TASK [debug] *******************************************************************
ok: [127.0.0.1] => {
"pass.stdout": "mypassword"
}
PLAY RECAP *********************************************************************
127.0.0.1 : ok=3 changed=1 unreachable=0 failed=0