使用Exra module需要进行下面的配置,就可以在命令行playbook中使用了。配置后extra module使用方法和core module的使用方法是一样的。
[注]部分Extra module经过一段时间的测试,就会放到Core module。其实Ansible团队会一直致力于把成熟的长期使用没有问题的Module放入Core Module中,方便客户的使用。所以当你的Playbok运行报错是没有相应的module时,你只要知道可能出现问题的地方和解决方案就可以。
1 下载ansible module extra项目
git clone https://github.com/ansible/ansible-modules-extras.git
我的一下在/home/jshi/software/目录下了,后面会用到这个目录。
2 修改配置文件或者环境变量
方法1 - 改ansible默认配置文件/etc/ansible/ansible.cfg
修改ansible配置文件/etc/ansible/ansible.cfg, 添加一行
library = /home/jshi/software/ansible-modules-extras/
方法2 - 改ansible当前目录下配置文件ansible.cfg
改ansible playbook当前的目录下的配置文件ansible.cfg,那么只对当前目录的playbook生效。对所有其它目录,包括父目录和子目录的playbook都不生效。
library/ansible-modules-extras
ansible.cfg
use_extra_module.yml
subfolder/use_extra_module_will_throw_error.yml
在当前目录的ansible.cfg中,可以使用相对路径:
library = library/ansible-modules-extras/
方法3 - 该环境变量
export ANSIBLE_LIBRARY=/project/demo/demoansible/library/ansible-module-extras
如果需要在重启后生效,那么放在~/.bashrc中声明ANSIBLE_LIBRARY变量:
$ echo >>~/.bashrc <<EOF
export ANSIBLE_LIBRARY=/project/demo/demoansible/library/ansible-module-extras
EOF
$ source ~/.bashrc