Extra module的使用方法

使用Exra module需要进行下面的配置,就可以在命令行或者是playbook中使用了。配置后extra module使用方法和core module的使用方法是一样的。

[注]Ansible 2.3以后,Extra module的使用就和core module一样了,无需任何额外的配置,直接在playbook和命令行中使用。其实Ansible团队会一直致力于把成熟的长期使用没有问题的Module放入Core Module中,方便客户的使用。所以当你的Playbok运行报错是没有相应的module时,你只要心中有数可能出现问题的地方和解决方案就可以。

1 下载ansible module extra项目

  1. 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, 添加一行

  1. library = /home/jshi/software/ansible-modules-extras/

方法2 - 改ansible当前目录下配置文件ansible.cfg

改ansible playbook当前的目录下的配置文件ansible.cfg,那么只对当前目录的playbook生效。对所有其它目录,包括父目录和子目录的playbook都不生效。

  1. library/ansible-modules-extras
  2. ansible.cfg
  3. use_extra_module.yml
  4. subfolder/use_extra_module_will_throw_error.yml

在当前目录的ansible.cfg中,可以使用相对路径:

  1. library = library/ansible-modules-extras/

方法3 - 该环境变量

  1. export ANSIBLE_LIBRARY=/project/demo/demoansible/library/ansible-module-extras

如果需要在重启后生效,那么放在~/.bashrc中声明ANSIBLE_LIBRARY变量:

  1. $ echo >>~/.bashrc <<EOF
  2. export ANSIBLE_LIBRARY=/project/demo/demoansible/library/ansible-module-extras
  3. EOF
  4. $ source ~/.bashrc