分析一个程序,先了解它的执行流程会对学习很有帮助(ps:图片是使用网络的)。
从图片中可以知道,ansible 执行的步骤就6步,其中前面第二、第三是确定ansible 要操作的对象。第四步是确定要调用那一个模块,第五步是执行。从ansible文档可以知道,第五步是把模块拷到要执行的机器上,然后通过ssh执行。(原文:Ansible works by connecting to your nodes and pushing out small programs, called “Ansible Modules” to them. These programs are written to be resource models of the desired state of the system. Ansible then executes these modules (over SSH by default), and removes them when finished.)所以ansible 的模块可以是多种编程语言编写,只要执行结束输出的结果返回是符合ansible规范的json字符串就能够解析。
下一步,将按照ansible执行流程来学习ansible源码
原文地址:http://blog.51cto.com/3106950/2091889