guy*_*abi 1 ansible ansible-playbook
我正在学习ansible所以我写了一本我能想到的最简单的剧本和模块,但它失败了.
我的剧本
---
- hosts: demo
tasks:
- name: install demo
action: install
Run Code Online (Sandbox Code Playgroud)
我的模块
echo "changed=True msg=OK"
Run Code Online (Sandbox Code Playgroud)
以下似乎很好:
这是输出:
FAILED! => {"changed": false, "failed": true, "module_stderr": "", "module_stdout": "changed=True msg=OK\r\n", "msg": "MODULE FAILURE", "parsed": false}
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?我怎样才能做到这一点?
模块的输出必须是JSON.
试试这个:
echo "{\"changed\": false, \"msg\" : \"ok\"}"
Run Code Online (Sandbox Code Playgroud)
来自文档:
你也不应该在一个模块中这样做:
Run Code Online (Sandbox Code Playgroud)print "some status message"因为输出应该是有效的JSON.
和:
如果一个模块返回标准错误或以其他方式不能产生有效的JSON,实际输出仍将在Ansible显示,但该命令将不会成功.
| 归档时间: |
|
| 查看次数: |
3050 次 |
| 最近记录: |