awx中批量导入主机

awx中批量导入主机

环境: AWX 3.0.1.0 , ansible 2.7.7 ,docker安装

向awx 静态 inventory中批量导入主机的方法

awx 实际是个django项目, 因此他的主机定义是在数据库中,也就是那个pg库.
我们知道django有个manager的小程序,可以管理ORM数据映射.

awx 借鉴django的manager,搞了一个awx-manager 小工具. 可以将静态主机inventory,比如你早就维护好的inventory(比如/etc/ansible/hosts)批量导入到awx中. 这样就不用一台一台重新加入了. 没有条件做动态inventory的同学的利器.

操作步骤

  1. 定位inventory
    浏览器中贴入如下url定位inventory #/inventories/inventory/1
    比如: http://awx:8080/#/inventories/inventory/1

  2. 用awx-manager导入到这个inventory中

# awx_task 容器中有完整的django环境,不需要自己折腾装包
sudo docker exec -it awx_task awx-manage  inventory_import --source=/var/lib/awx/projects/hosts --inventory-id=1 

# source 必须是容器和主机都能访问得到的路径,一般这个/var/lib/awx/projects/是肯定有的,安装awx的时候也可以多 -v一个目录进去,如果没有手贴到容器里面也行
#  inventory-id就是第一步定位的inventory的id, 其实是iventory表里面的key

执行后就可以在iventory中看到这些hosts了