有没有办法销毁 Ansible 中的变量?
实际上,我在各个包的所有角色中都使用了一个 {{version}} 变量。当我运行多个角色时,一个角色的版本值会传递给另一个角色 - 这是因为对于某些角色,我没有提供版本值,以便它可以安装可用于相应 m/c 的该软件包的默认版本,例如 ubuntu/红帽等
这是我的角色模板。来自 mysql 的 {{version}} 值被传递给 rabbitmq。
roles:
- { role: mysql }
- { role: rabbitmq}
Run Code Online (Sandbox Code Playgroud)
如果我可以在每个角色中销毁/删除版本的值,我相信它应该可以解决问题。
嗨,我正在使用 ansible 任务检查 python 的版本但是我在 stderr 变量而不是 stdout 中获取输出值。
这是我检查 pthon 版本的可靠任务。
---
- shell: "python --version"
register: python_installed
Run Code Online (Sandbox Code Playgroud)
这是任务的输出:
changed: [172.17.0.3] => {
"changed": true,
"cmd": "python --version",
"delta": "0:00:00.259578",
"end": "2017-06-30 03:43:44.341772",
"invocation": {
"module_args": {
"_raw_params": "python --version",
"_uses_shell": true,
"chdir": null,
"creates": null,
"executable": null,
"removes": null,
"warn": true
}
},
"rc": 0,
"start": "2017-06-30 03:43:44.082194",
"stderr": "Python 2.6.6",
"stderr_lines": [
"Python 2.6.6"
],
"stdout": "",
"stdout_lines": []
}
Run Code Online (Sandbox Code Playgroud)
我试图在可执行论证中添加 python 路径,它也失败了。我还尝试使用 shell 模块的命令模块。仍然失败