Inventory

说明

Inventory类管理资产的一个东西,会定义一些主机、主机组等,然后通过Ansible去匹配相应的主机执行命令,是通用ini格式

目录

  • inventory
    • vars_plugins
    • init.py 描述inventory,主要是通过脚本、文件、文件夹、自定义的方式去解析inventory
    • dir.py 通过目录解析配置,即变成主机组变量这些玩意儿
    • expand_hosts.py # 解析主机名中 [a-z] [1-3] 这种
    • group.py 组类,包含主机信息变量等信息
    • host.py 主机类
    • ini.py 解析配置类 通过文件,这里是自己写的方法,没用那种ini解析
    • script.py 这里是解析SheBang(#!)即我们说的外部方式从CMDB从脚本方式等

group 字典型

group_name = {
    "depth" : depth,
    "name" : name,
    "hosts" : [host, host, host], # 这里的host为host类的实例,看host类分析
    "vars" : {
        "key1" : "value1",
        "key2" : "value2",
    },
    "child_groups" : [
        group, # 这里的group就是我们自己,一种深度的方式
        group, 
        group,
    ],
    "parent_group" : [
        group, # 这里的group就是我们自己
        group, 
        group ,
    ],
    # 这里的host为所有的子组子组的host的集合,
    # 代表这个组包含的所有主机
    "_hosts_cache" : [host, host, host] 
}

host 字典型

host_name = {
    "name" : name,
    "port" : port,
    "vars" : {
        "key", "value",
    },
    "groups" : [group, group, group]
}