首页 > 解决方案 > 是否可以在没有 Ansible 源代码的情况下开发自定义 Ansible 模块?

问题描述

根据Ansible 的开发人员指南,首先要做的是查看 Ansible 项目。然后在ansible/modules/中添加您自己的模块,将支持代码添加到ansible/module_utils中。将您的测试代码放在ansible/test/units/module/中,并在 ansible /test/units/module/utils.py中使用 Ansible 测试实用程序。

该文档对如何分发自定义模块保持沉默。

然而,看看开发方法,我认为这是一个安全的假设,人们应该维护自己的 Ansible 版本。在扩展了 Ansible 的源代码之后,他们不得不重新构建整个代码。他们从那里分发这个版本的 Ansible,而不是库存的 Ansible。

就个人而言,我认为这是不切实际的:

我知道在ansible/modules命名空间中制作包含代码的 Python 包的方法。只需 pip 安装您的包,瞧,Ansible 知道该模块。这正是我所需要的。

但是,在ansible命名空间中开发单独的代码使得无法从已安装的 Ansible 库中导入代码。除此之外,ansible/test已从 Ansible 库中删除。不再有支持的测试代码。

因此,除非我错了,否则独立于 Ansible 的源代码开发自定义模块的唯一方法是破解我的方式。我宁愿不这样做。

还是有一种干净的方法可以做到这一点?

标签: python-2.7ansible

解决方案


推荐阅读