添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
乖乖的椅子  ·  3.2 Ansible ...·  1 月前    · 
刚分手的人字拖  ·  Axure RP for ...·  2 月前    · 
听话的马克杯  ·  [windows]python ...·  5 月前    · 
  • 17.2. 在 Ansible Automation Controller 中添加 GPG 密钥
  • 17.3. 访问 ansible-sign CLI 工具
  • 17.4. 对您的项目进行签名
  • 17.5. 验证您的项目
  • 17.6. 自动签名
  • 18. 清单
    • 18.1. 智能清单
    • 18.2. 清单插件
    • 18.3. 添加新清单
    • 18.4. 运行临时(Ad Hoc)命令
    • 19. 支持的清单插件模板
      • 19.1. Amazon Web Services EC2
      • 19.2. Google Compute Engine
      • 19.3. Microsoft Azure Resource Manager
      • 19.4. VMware vCenter
      • 19.5. Red Hat Satellite 6
      • 19.6. OpenStack
      • 19.7. Red Hat Virtualization
      • 19.8. Red Hat Ansible Automation Platform
      • 20. 作业模板
        • 20.1. 创建作业模板
        • 20.2. 添加权限
        • 20.3. 使用通知
        • 20.4. 查看完成的作业
        • 20.5. 调度
        • 20.6. 调查
        • 20.7. 启动作业模板
        • 20.8. 复制作业模板
        • 20.9. 扫描作业模板
        • 20.10. 事实缓存
        • 20.11. 使用云凭证
        • 20.12. 置备回调
        • 20.13. 额外变量
        • 21. 任务分片
          • 21.1. 作业分片注意事项
          • 21.2. 作业分片执行行为
          • 21.3. 搜索作业分片
          • 22. 工作流
            • 22.1. 工作流场景和注意事项
            • 22.2. 额外变量
            • 22.3. 工作流状态
            • 22.4. 基于角色的访问控制
            • 23. 工作流任务模板
              • 23.1. 创建工作流模板
              • 23.2. 使用权限
              • 23.3. 使用通知
              • 23.4. 查看完成的作业
              • 23.5. 使用计划
              • 23.6. 调查
              • 23.7. 工作流可视化工具
              • 23.8. 启动工作流模板
              • 23.9. 复制工作流模板
              • 23.10. 额外变量
              • 24. 实例组
                • 24.1. 创建实例组
                • 25. Jobs
                  • 25.1. 清单同步作业
                  • 25.2. SCM 清单作业
                  • 25.3. Playbook 运行作业
                  • 25.4. 自动化控制器容量确定和作业影响
                  • 25.5. 作业分支覆盖
                  • 26. 使用 Webhook
                    • 26.1. GitHub webhook 设置
                    • 26.2. GitLab webhook 设置
                    • 26.3. 有效负载 (playload) 输出
                    • 27. 通知
                      • 27.1. 通知层次结构
                      • 27.2. 工作流
                      • 27.3. 创建通知模板
                      • 27.4. 通知类型
                      • 27.5. 创建自定义通知
                      • 27.6. 启用和禁用通知
                      • 27.7. 为通知配置 host 主机名
                      • 27.8. 通知 API
                      • 28. 支持的自定义通知属性
                      • 29. 调度
                        • 29.1. 添加新调度
                        • 30. 设置 Insights 修复
                          • 30.1. 创建 Insights 凭证
                          • 30.2. 创建 Insights 项目
                          • 30.3. 创建 Insights 清单
                          • 30.4. 修复 Insights 清单
                          • 31. 最佳实践
                            • 31.1. 使用源控制
                            • 31.2. Ansible 文件和目录结构
                            • 31.3. 使用动态清单源(Dynamic Inventory Sources)
                            • 31.4. 清单的变量管理
                            • 31.5. 自动缩放
                            • 31.6. 大量主机
                            • 31.7. 持续集成/持续部署
                            • 32. 安全性
                              • 32.1. Playbook 访问和信息共享
                              • 32.2. 基于角色的访问控制
                              • 32.3. 角色的功能:编辑和创建
                              • 33. 术语表
                              • 18. 清单

                                :term: ` Inventory`是可以作为作业启动对象的主机集合,与 Ansible 清单文件相同。清单被分成若干组,这些组包含实际的主机。组的来源可以是通过在 automation controller 中输入主机名手动获取的,也可以来自支持的云供应商之一。

                                如果您有自定义动态清单脚本,或者尚未在控制器中受到原生支持的云提供商,您也可以将其导入控制器。请参阅 Automation Controller Administration Guide 中的 清单文件导入

                                Inventories 窗口显示当前可用的清单列表。用户可以根据需要,按照名称、搜索类型、机构、描述、所有者等进行排序。

                                清单详情列表包括:

                              • Name :清单名称。点击清单名称可以进入所选清单的属性屏幕,其中显示了清单的组和主机。(也可以从 edit button 图标访问此视图。)

                              • Success :清单源同步成功完成

                              • disabled :没有添加到清单中的清单源

                              • Error :清单源同步完成但带有错误

                              • 一个有不同状态的清单示例,其中包括一个带有已禁用状态的详情信息:

                              • Type :标识它是标准清单还是智能清单。

                              • Organization :清单所属的机构。

                              • Actions :所选的清单可以使用以下操作:

                              • 编辑 ( edit button ):编辑所选清单的属性

                              • 复制 ( copy ):制作现有清单的副本作为创建新清单的模板

                              • 18.1. 智能清单

                                智能清单是一个由存储的搜索定义的主机集合,可以像标准清单一样查看,并可以轻松用于作业运行。机构管理员对其机构中的清单具有管理员权限,并可创建智能清单。智能清单由 KIND=smart 标识。您可以使用 Search 中所用的相同方法定义智能清单。 InventorySource 直接与一个清单关联。

                                Inventory 模型具有以下新字段,这些字段默认为空白,但会针对智能清单进行相应的设置:

                              • 对于智能清单, kind 会设置为 smart

                              • 对于智能清单,会设置 host_filter kind 会设置为 smart

                              • host 模型具有一个相关的端点 smart_inventories ,用于标识主机所关联的所有智能清单的集合。每次针对智能清单运行作业时,都会更新成员资格表。

                                要更频繁地更新成员资格,您可以将基于文件的设置 AWX_REBUILD_SMART_MEMBERSHIP 更改为 ** True**(默认为 False)。这将在以下事件中更新成员资格:

                              • 添加了新主机

                              • 修改(更新或删除)了现有主机

                              • 添加了新智能清单

                              • 修改(更新或删除)了现有智能清单

                              • 您可以查看实际清单而无需变为可编辑状态:

                              • 清单源同步后创建的主机和组的名称

                              • 组记录无法编辑或移动

                              • 您无法像普通清单一样从智能清单主机端点 ( /inventories/N/hosts/ ) 创建主机。智能清单的管理员有权限编辑名称、描述、变量和删除功能等字段,但没有修改 host_filter 的权限,因为这会影响智能清单中包含哪些主机(在另一个清单中具有主要成员资格)。请注意, host_filter 只适用于智能清单所属机构内的清单内主机。

                                若要修改 host_filter ,您需要成为清单所属机构的机构管理员。机构管理员已经具有对机构内所有清单的隐式“管理员”访问权限,因此,这不会使他们具有尚未拥有的任何权限。

                                智能清单管理员可以授予其他用户(不是您机构的管理员的用户)权限,如对智能清单的“使用”、“临时”权限,这些权限将允许执行角色所指示的操作,就像其他标准清单一样。但是,这不会赋予他们对(位于不同清单中的)主机的任何特殊权限。它不赋予他们对主机的直接读取权限,或允许他们看到 /#/hosts/ 下的其他主机,虽然他们仍然可以查看智能清单主机列表下的主机。

                                在有些情况下,您可以修改以下内容:

                              • 在包含清单源的清单上手动创建的新主机

                              • 在清单源同步后创建的组中

                              • 主机和组上的变量可更改

                              • 与智能清单关联的主机会在查看时显示。如果智能清单的结果包含多个具有相同主机名的主机,则只会包含一个匹配的主机作为智能清单的一部分,按主机 ID 排序。

                                18.1.1. 智能主机过滤器

                                您可以使用搜索过滤器为一个清单填充主机。此功能使用了事实搜索功能。

                                use_fact_cache=True 根据每个作业模板设置时,在运行作业模板期间由 Ansible playbook 生成的事实就会被 automation controller 存储到数据库中。新的事实将按主机与现有事实合并。这些存储的事实可用于通过 /api/v2/hosts 端点(使用 GET 参数 host_filter )过滤主机。例如 /api/v2/hosts?host_filter=ansible_facts__ansible_processor_vcpus=8

                                host_filter 参数允许以下操作:

                              • 通过 () 进行分组

                              • 使用布尔值和运算符:

                              • __ 用于引用关系字段中的相关字段

                              • __ 在 ansible_facts 上用于分离 JSON 键路径中的键

                              • [] 用于表示路径规格中的 json 数组

                              • "" 可在值中需要空格时用于值中

                              • "classic" Django 查询可以嵌入到 host_filter

                              • /api/v2/hosts/?host_filter=name=localhost
                                /api/v2/hosts/?host_filter=ansible_facts__ansible_date_time__weekday_number="3"
                                /api/v2/hosts/?host_filter=ansible_facts__ansible_processor[]="GenuineIntel"
                                /api/v2/hosts/?host_filter=ansible_facts__ansible_lo__ipv6[]__scope="host"
                                /api/v2/hosts/?host_filter=ansible_facts__ansible_processor_vcpus=8
                                /api/v2/hosts/?host_filter=ansible_facts__ansible_env__PYTHONUNBUFFERED="true"
                                /api/v2/hosts/?host_filter=(name=localhost or name=database) and (groups__name=east or groups__name="west coast") and ansible_facts__an
                                

                                您可以按主机名、组名称和 Ansible 事实来搜索 host_filter

                                组搜索的格式为:

                                groups.name:groupA
                                

                                事实搜索的格式为:

                                ansible_facts.ansible_fips:false
                                

                                您还可以执行包含主机名和主机描述的智能搜索。

                                host_filter=name=my_host
                                

                                如果 host_filter 中的搜索词为字符串类型,要使值成为数字(如 2.66)或使 JSON 关键字(如 nulltruefalse)有效,请在值的两旁添加双引号以防止控制器错误地将它解析为非字符串:

                                host_filter=ansible_facts__packages__dnsmasq[]__version="2.66"
                                

                                如果要添加 ansible 事实

                                /api/v2/hosts/?host_filter=ansible_facts__ansible_processor[]="GenuineIntel"
                                

                                在搜索字段中输入 ansible_processor[]="GenuineIntel" (在值前没有额外的空格或 __ ),然后按 [Enter]

                                生成的搜索条件在窗口的较低部分填充了指定的 ansible 事实。

                              • Select 将其添加到 Smart host filter 字段中。

                              • Save 保存新的智能清单。

                              • 新智能清单的 Details 选项卡会打开,并在 Smart host filter 字段中显示指定的 ansible 事实。

                              • 在 Details 视图中,您可以点击 Edit 并删除现有过滤器,以编辑 Smart host filter 字段,清除所有现有过滤器或添加新过滤器。

                              • 18.2. 清单插件

                                清单更新使用动态生成的 YAML 文件,这些文件由其各自的清单插件解析。在 Automation Controller Version 4.3 中,用户可以为以下所有清单源通过清单源 source_vars 直接向控制器提供新风格的清单插件配置:

                              • Amazon Web Services EC2

                              • Google Compute Engine

                              • Microsoft Azure Resource Manager

                              • VMware vCenter

                              • Red Hat Satellite 6

                              • Red Hat Insights

                              • OpenStack

                              • Red Hat Virtualization

                              • Red Hat Ansible Automation Platform

                              • 为清单源新创建的配置会包含默认插件配置值。 如果您希望 3.8 中新创建的清单源与 3.7 源的输出匹配,必须为该源应用一组特定的配置值。为了实现向后兼容,控制器对每个源都使用"templates"将清单插件的输出强制到旧格式。如需了解更多的相关信息,请参阅此指南中的 支持的清单插件模板 章节。

                                在运行时会根据 InventorySource 源,把包括了``plugin: foo.bar.baz`` 作为顶层键的 source_vars 替换为正确的、完全限定的清单插件名称。例如,如果 InventorySource 为 ec2,则在运行时会将插件设置为 amazon.aws.aws_ec2

                                18.3. 添加新清单

                                添加新清单涉及几个组件:

                              • 查看完成的作业

                              • 要创建新清单或智能清单,请执行以下操作:

                              • Add 按钮,然后选择要创建的清单类型。

                              • 清单的类型在创建表单的顶部标识。

                              • 在以下字段中输入相关信息:

                              • Name:输入适合此清单的名称。

                              • Description:根据需要输入任意描述(可选)。

                              • Organization:必需。在可用机构中进行选择。

                              • Smart Host Filter:(仅适用于智能清单)点击 search 按钮,打开单独的窗口对此清单的主机进行过滤。这些选项基于您选择的机构。

                                过滤器与标签类似,因为标签用于过滤某些包含这些名称的主机。因此,要填充 Smart Host Filter 字段,您需要指定包含您所需主机的标签,而不是实际选择主机本身。请在 Search 字段中输入标签,然后按 [Enter] 键。过滤器区分大小写。如需了解更多信息,请参阅 智能主机过滤器 部分。

                              • Instance Groups: Click the search button to open a separate window. Choose the instance group(s) for this inventory to run on. If the list is extensive, use the search to narrow the options. You may select multiple instance groups and sort them in the order you want them ran.

                              • Options: Check the Prevent Instance Group Fallback option to allow only the instance groups listed in the Instance Groups field above to execute the job. If unchecked, all available instances in the execution pool will be used based on the hierarchy described in 控制作业运行位置. Click the help icon for additional information.

                              • Variables:要应用到此清单中所有主机的变量定义和值。使用 JSON 或 YAML 语法输入变量。使用单选按钮在两者之间切换。

                              • 完成后请点击 Save

                              • 在保存新清单后,您可以继续配置权限、组、主机、源和查看已完成的作业(如果适用于相关清单类型)。如需更多说明,请参阅后续部分。

                                18.3.1. 添加权限

                              • Access 选项卡中,点 Add 按钮。

                              • 选择要添加的用户或团队并点 Next

                              • 点名称旁边的复选框从列表中选择一个或多个用户或团队,将它们添加为成员并点 Next

                              • 在这个示例中,选择了两个用户来添加。

                              • 选择您希望所选用户或团队具有的角色。请确保向下滚动以获得完整的角色列表。不同的资源有不同的可用选项。

                              • 18.3.2. 添加组

                                清单被分成若干组,这些组可能包含主机和其他组以及主机。组只适用于标准清单,而且无法直接通过智能清单进行配置。您可以通过与标准清单搭配使用的主机来关联现有的组。有几个操作可用于标准清单:

                              • 创建新主机

                              • 在所选清单上运行命令

                              • 编辑清单属性

                              • 查看组和主机的活动流

                              • 获取构建清单的帮助

                              • 清单源不与组关联。Spawn 组为顶级组,可能还会包含子组,所有这些 spawn 的组都可能含有主机。

                                要为清单创建新组,请执行以下操作:

                              • Add 按钮,打开 Create Group 窗口。

                              • 在必填和可选字段中输入相关详情:

                              • Name:(必需)

                              • Description:根据需要输入任意描述(可选)

                              • Variables:输入要应用到此组中所有主机的定义和值。使用 JSON 或 YAML 语法输入变量。使用单选按钮在两者之间切换。

                              • 完成后,点击 保存

                              • 18.3.2.1. 在组内添加组

                                要在组内添加组,请执行以下操作:

                              • Related Groups 标签页。

                              • Add 按钮,并选择是添加您的配置中已存在的组还是创建新组。

                              • 如果创建新组,请在必填和可选字段中输入相关详情:

                              • Name:(必需)

                              • Description:根据需要输入任意描述(可选)

                              • Variables:输入要应用到此组中所有主机的定义和值。使用 JSON 或 YAML 语法输入变量。使用单选按钮在两者之间切换。

                              • 完成后,点击 保存

                              • Create Group 窗口关闭,在为之创建了新组的组所关联的组列表中,新创建的组会显示为一个条目。

                                如果您选择了添加现有组,可用组将出现在单独的选择窗口中。

                                选择了一个组之后,它将在与组关联的组列表中显示为一个条目。

                                5. To configure additional groups and hosts under the subgroup, click on the name of the subgroup from the list of groups and repeat the same steps described in this section.

                                18.3.2.2. 查看或编辑清单组

                                通过列表视图,您可以一次查看所有清单组,或者在过滤后仅显示根组。如果清单组不是另一个组的子集,则被视为根组。

                                您可以删除子组而无需考虑依赖项,因为控制器会查找依赖项(如任何子组或主机)。如果存在,会显示一个确认对话框,供您选择是删除根组及其所有子组和主机,还是提升子组,以便它们及其主机成为顶级清单组。

                              • Host Name:(必需)

                              • Description:根据需要输入任意描述(可选)

                              • Variables:输入要应用到此组中所有主机的定义和值。使用 JSON 或 YAML 语法输入变量。使用单选按钮在两者之间切换。

                              • 完成后,点击 保存

                              • Create Host 窗口关闭,在为之创建了新主机的组所关联的组列表中,新创建的主机会显示为一个条目。

                                如果您选择了添加现有主机,可用主机将出现在单独的选择窗口中。

                                选择了主机后,它会在与组关联的主机列表中显示。您可以通过选择主机并点击 Disassociate 按钮来从此屏幕中取消关联主机。

                                您也可以在此屏幕中运行临时命令。更多详情请参阅 运行临时(Ad Hoc)命令

                                6. To configure additional groups for the host, click on the name of the host from the list of hosts.

                                这会打开所选主机的 Details 标签页。

                              • 点击 Groups 标签页为主机配置组。

                              • Add 按钮将主机与现有组关联。

                              • 可用的组会出现在单独的选择窗口中。

                              • 点击以选择与主机关联的组,然后点击 Save

                              • 关联了一个组之后,它将在与主机关联的组列表中显示为一个条目。

                              • 如果使用了某个主机来运行作业,您可以在此主机的 Completed Jobs 标签页中查看这些作业的详情,并点击 Expanded 查看每个作业的详情。

                              • 18.3.4. 添加源

                                清单源不与组关联。Spawn 组可能仍然具有子组,且所有这些生成的组都可能含有主机。在清单中添加源仅适用于标准清单。智能清单从与其关联的标准清单中继承其源。要配置清单的来源,请配置清单的来源:

                              • 在您要添加源的清单中,点击**Sources** 标签。

                              • Add 按钮。

                              • 这会打开 Create Source 窗口。

                              • 在必填和可选字段中输入相关详情:

                              • Name:(必需)

                              • Description:根据需要输入任意描述(可选)

                              • **Execution Environment**(可选):搜索(search)或输入要运行清单导入的执行环境的名称。有关构建执行环境的详情,请参阅 执行环境 部分。

                              • Source:为您的清单选择一个源。请参阅 清单源 部分,以了解有关每个源的更多信息以及用于输入适当信息的详情。

                              • 为所选 inventory source 提供了所需的信息后,可以继续指定其他可选的常规参数,如详细程度、主机过滤器和变量。

                              • 在 automation controller 3.8 中已删除了 RegionsInstance FiltersOnly Group By 字段。

                              • Verbosity 下拉菜单中选择清单源更新作业的适当输出级别。

                              • 使用 Host Filter 字段指定仅导入控制器中的匹配主机名。

                              • Enabled Variable 中,指定控制器从给定的主机变量字典中检索启用的状态。启用的变量可以使用点标记来指定,如 'foo.bar',它相当于 from_dict.get('foo', {}).get('bar', default)

                              • 如果在 Enabled Variable 字段中指定了主机变量字典,则可以提供一个值来在导入时启用。例如,如果 enabled_var='status.power_state'enabled_value='powered_on' 带有以下主机变量,则主机会被标记为启用:

                              • "status": { "power_state": "powered_on", "created": "2020-08-04T18:13:04+00:00", "healthy": true "name": "foobar", "ip_address": "192.168.2.1"

                                如果 power_statepowered_on 以外的任何其他值,则主机在导入到控制器时被禁用。如果未找到键,则会启用主机。

                              • 所有云清单源都有以下更新选项:

                              • Overwrite:如果选中,以前存在于外部源上的但现已被删除的任何主机和组都将从控制器清单中删除。不由清单源管理的主机和组将提升到下一个手动创建的组,如果没有手动创建组来提升它们,则它们将保留在清单的“all”默认组中。

                              • 如果没有选中,外部源上没有的本地子主机和组将在清单更新过程中保持不变。

                              • Overwrite Variables:如果选中,子组和主机的所有变量都将被删除,并替换为外部源上的变量。如果没有选择,就会执行合并,将本地变量与外部源上的变量合并。

                              • Update on Launch:每次使用此清单运行作业时,在执行作业任务前从所选源中刷新清单。如果作业的生成速度快于清单的同步速度,为了避免作业溢出,可以选择此选项来配置一个 Cache Timeout,以将之前的清单同步缓存几秒钟。

                              • “Update on Launch”设置指的是项目和清单的依赖项系统,并且它不会特别排除两个作业同时运行。如果指定了缓存超时,那么会创建第二个作业的依赖项,并使用第一个作业生成的项目和清单更新。然后,两个作业会等待该项目和/或清单更新完成,然后再继续。如果它们是不同的作业模板,则它们可以同时启动并运行,只要系统有足够的容量。如果您要将控制器的部署回调功能与动态清单源结合使用,则应该为清单组设置 Update on Launch

                                如果同步了使用带有 Update On Launch 设置的项目的清单源,则项目可能会在清单更新开始前自动更新(根据缓存超时规则)。

                                您可以创建一个作业模板,它使用来自模板的同一项目中的清单。在这种情况下,项目会更新,然后清单将会更新(如果还没有更新,或者缓存超时还没有过期)。

                              • 检查您的条目和选择,完成后点击 Save。这时您可以配置附加详情,如调度和通知。

                              • 要配置与这个清单源关联的调度,请点击 Schedules 标签页。

                              • 如果已经设置了调度,请检查、编辑或启用/禁用您的调度首选项。

                              • 如果还没有设置调度,请参阅 调度 了解更多信息。

                              • Notifications 标签页只有在您保存新创建的源后才会显示。

                              • 要为源配置通知,请点击 Notifications 标签页。

                              • 如果已经设置了通知,请使用切换按钮启用或禁用要与特定源搭配使用的通知。更多详情请参阅 启用和禁用通知

                              • 如果还没有设置通知,请参阅 通知 了解更多信息。

                              • 检查您的条目和选择,完成后点击 Save

                              • 一旦定义了源,它便会在与清单关联的源列表中显示为一个条目。在 Sources 标签页中,您可以对单个源执行同步,或同时同步所有源。您也可以执行其他操作,如调度同步过程,以及编辑或删除源。

                                18.3.4.1. 清单源

                                选择与可以作为主机输入的清单类型匹配的源:

                              • 源于一个项目

                              • Amazon Web Services EC2

                              • Google Compute Engine

                              • Microsoft Azure Resource Manager

                              • VMware vCenter

                              • Red Hat Satellite 6

                              • Red Hat Insights

                              • OpenStack

                              • Red Hat Virtualization

                              • Red Hat Ansible Automation Platform

                              • 18.3.4.1.1. 源于一个项目

                                源于一个项目的清单意味着它会使用与之关联的项目中的 SCM 类型。例如,如果项目源来自 GitHub 项目,则清单将使用相同的源。

                              • 要配置源于项目的清单,请从 Source 字段中选择 Sourced from a Project

                              • Create Source 窗口会展开更多字段。请输入以下详情:

                              • Credential:指定用于此源的凭证(可选)。

                              • Project:必需。指定此清单使用的项目作为其源。点击 search 按钮以从项目列表中进行选择。如果列表较长,请使用搜索功能来缩小选项范围。

                              • Inventory File:必需。选择与源项目关联的清单文件。如果尚未填充,则可以将其键入到下拉菜单中的文本字段,以过滤无关的文件类型。除了平面文件清单外,您还可以指向目录或清单脚本。

                              • 18.3.4.1.3. Google Compute Engine
                              • 要配置源于 Google 的清单,请从 Source 字段中选择 Google Compute Engine

                              • Create Source 窗口会展开所需的 Credential 字段。从现有 GCE 凭证中进行选择。如需更多信息,请参阅 凭证

                              • 您还可以选择指定详细程度、主机过滤器、启用的变量/值和更新选项,如 adding a source 中所述。

                              • 使用 Source Variables 字段覆盖 gcp_compute 清单插件使用的变量。使用 JSON 或 YAML 语法输入变量。使用单选按钮在两者之间切换。有关这些变量的详细描述,请查看 gcp_compute inventory plugin documenation

                              • 18.3.4.1.4. Microsoft Azure Resource Manager
                              • 要配置源于 Azure Resource Manager 的清单,请从 Source 字段中选择 Azure Resource Manager

                              • Create Source 窗口会展开所需的 Credential 字段。从现有 Azure 凭证中进行选择。如需更多信息,请参阅 凭证

                              • 您还可以选择指定详细程度、主机过滤器、启用的变量/值和更新选项,如 adding a source 中所述。

                              • 使用 Source Variables 字段覆盖 azure_rm 清单插件使用的变量。使用 JSON 或 YAML 语法输入变量。使用单选按钮在两者之间切换。有关这些变量的详细描述,请查看 azure_rm inventory plugin documentation

                              • 要配置源于 VMWare 的清单,请从 Source 字段中选择 VMware vCenter

                              • Create Source 窗口会展开所需的 Credential 字段。从现有 VMware 凭证中进行选择。如需更多信息,请参阅 凭证

                              • 您还可以选择指定详细程度、主机过滤器、启用的变量/值和更新选项,如 adding a source 中所述。

                              • 使用 Source Variables 字段覆盖 vmware_inventory 清单插件使用的变量。使用 JSON 或 YAML 语法输入变量。使用单选按钮在两者之间切换。有关这些变量的详细描述,请查看 vmware_inventory inventory plugin

                              • 从 Ansible 2.9 开始,VMWare 属性已从小写改为 camelCase。控制器为顶级键提供别名,但不再使用嵌套属性中的小写键。有关从 Ansible 2.9 开始的有效支持的属性列表,请参阅 virtual machine attributes in the VMware dynamic inventory plugin

                                18.3.4.1.6. Red Hat Satellite 6
                              • 要配置源于 Red Hat Satellite 的清单,请从 Source 字段中选择 Red Hat Satellite

                              • Create Source 窗口会展开所需的 Credential 字段。从现有 Satellite 凭证中进行选择。如需更多信息,请参阅 凭证

                              • 您还可以选择指定详细程度、主机过滤器、启用的变量/值和更新选项,如 adding a source 中所述。

                              • 使用 Source Variables 字段指定 foreman 清单源使用的参数。使用 JSON 或 YAML 语法输入变量。使用单选按钮在两者之间切换。有关这些变量的详细描述,请参阅 Ansible 文档中的 theforeman.foreman.foreman – Foreman inventory source

                              • 如果您遇到控制器清单没有 Satellite 的"相关组"的问题,您可能需要在清单源中定义这些变量。如需详情,请参阅 :ref: 中的`ir_plugin_satellite` Ansible Automation Platform Installation and Reference Guide 清单插件模板示例。

                                如果您看到这个信息 "no foreman.id" variable(s) when syncing the inventory,请参阅红帽客户门户网站中的解决方案:https://access.redhat.com/solutions/5826451.。请确保使用您的客户凭证登录以访问完整文章。

                                18.3.4.1.7. Red Hat Insights
                              • 要配置源于 Red Hat Insights 的清单,请从 Source 字段中选择 Red Hat Insights

                              • Create Source 窗口会展开所需的 Credential 字段。从现有 Insights 凭证中进行选择。如需更多信息,请参阅 凭证

                              • 您还可以选择指定详细程度、主机过滤器、启用的变量/值和更新选项,如 adding a source 中所述。

                              • 使用 Source Variables 字段覆盖 insights 清单插件使用的变量。使用 JSON 或 YAML 语法输入变量。使用单选按钮在两者之间切换。有关这些变量的详细描述,请查看 insights inventory plugin

                              • 要配置源于 OpenStack 的清单,请从 Source 字段中选择 OpenStack

                              • Create Source 窗口会展开所需的 Credential 字段。从现有 OpenStack 凭证中进行选择。如需更多信息,请参阅 凭证

                              • 您还可以选择指定详细程度、主机过滤器、启用的变量/值和更新选项,如 adding a source 中所述。

                              • 使用 Source Variables 字段覆盖 openstack 清单插件使用的变量。使用 JSON 或 YAML 语法输入变量。使用单选按钮在两者之间切换。有关这些变量的详细描述,请查看 Ansible collections 文档中的 openstack inventory plugin

                              • 18.3.4.1.9. Red Hat Virtualization
                              • 要配置源于 Red Hat Virtualization 的清单,请从 Source 字段中选择 Red Hat Virtualization

                              • Create Source 窗口会展开所需的 Credential 字段。从现有 Red Hat Virtualization 凭证中进行选择。如需更多信息,请参阅 凭证

                              • 您还可以选择指定详细程度、主机过滤器、启用的变量/值和更新选项,如 adding a source 中所述。

                              • 使用 Source Variables 字段覆盖 ovirt 清单插件使用的变量。使用 JSON 或 YAML 语法输入变量。使用单选按钮在两者之间切换。有关这些变量的详细描述,请查看 ovirt inventory plugin

                              • Red Hat Virtualization(ovirt)清单源请求默认是安全的。要更改此默认设置,在 source_variables 中将键 ovirt_insecure 设置为 true,这只在 /api/v2/inventory_sources/N/ 端点中的清单源 API 详情中可用。

                                18.3.4.1.10. Red Hat Ansible Automation Platform
                              • 要配置源于 automation controller 的清单,请从 Source 字段中选择 Red Hat Ansible Automation Platform

                              • Create Source 窗口会展开所需的 Credential 字段。从现有 Ansible Automation Platform 凭证中进行选择。如需更多信息,请参阅 凭证

                              • 您还可以选择指定详细程度、主机过滤器、启用的变量/值和更新选项,如 adding a source 中所述。

                              • 18.3.4.2. 导出旧的清单脚本

                                尽管删除了自定义清单脚本 API,这些脚本仍然保存在数据库中。本节中介绍了适合您随后检查源控制的格式的脚本。使用情况如下所示:

                                $ awx-manage export_custom_scripts --filename=my_scripts.tar
                                Dump of old custom inventory scripts at my_scripts.tar
                                

                                使用输出:

                                $ mkdir my_scripts
                                $ tar -xf my_scripts.tar -C my_scripts
                                

                                脚本的命名方式是 _<pk>__<name>。这是用于项目文件夹的命名方案。

                                $ ls my_scripts
                                _10__inventory_script_rawhook             _19__                                       _30__inventory_script_listenhospital
                                _11__inventory_script_upperorder          _1__inventory_script_commercialinternet45   _4__inventory_script_whitestring
                                _12__inventory_script_eastplant           _22__inventory_script_pinexchange           _5__inventory_script_literaturepossession
                                _13__inventory_script_governmentculture   _23__inventory_script_brainluck             _6__inventory_script_opportunitytelephone
                                _14__inventory_script_bottomguess         _25__inventory_script_buyerleague           _7__inventory_script_letjury
                                _15__inventory_script_wallisland          _26__inventory_script_lifesport             _8__random_inventory_script_
                                _16__inventory_script_wallisland          _27__inventory_script_exchangesomewhere     _9__random_inventory_script_
                                _17__inventory_script_bidstory            _28__inventory_script_boxchild
                                _18__p                                    _29__inventory_script_wearstress
                                

                                每个文件都包含一个脚本。脚本可以是 bash/python/ruby/more,不包含扩展名。它们都是可直接执行的(假设脚本可以正常工作)。如果执行该脚本,它会转储清单数据。

                                $ ./my_scripts/_11__inventory_script_upperorder
                                {"group_\ud801\udcb0\uc20e\u7b0e\ud81c\udfeb\ub12b\ub4d0\u9ac6\ud81e\udf07\u6ff9\uc17b": {"hosts":
                                ["host_\ud821\udcad\u68b6\u7a51\u93b4\u69cf\uc3c2\ud81f\uddbe\ud820\udc92\u3143\u62c7",
                                "host_\u6057\u3985\u1f60\ufefb\u1b22\ubd2d\ua90c\ud81a\udc69\u1344\u9d15",
                                "host_\u78a0\ud820\udef3\u925e\u69da\ua549\ud80c\ude7e\ud81e\udc91\ud808\uddd1\u57d6\ud801\ude57",
                                "host_\ud83a\udc2d\ud7f7\ua18a\u779a\ud800\udf8b\u7903\ud820\udead\u4154\ud808\ude15\u9711",
                                "host_\u18a1\u9d6f\u08ac\u74c2\u54e2\u740e\u5f02\ud81d\uddee\ufbd6\u4506"], "vars": {"ansible_host": "127.0.0.1", "ansible_connection":
                                "local"}}}
                                

                                您可以使用 ansible-inventory 验证功能。这应该会提供相同的数据,但被重新格式化。

                                $ ansible-inventory -i ./my_scripts/_11__inventory_script_upperorder --list --export
                                

                                在上例中,您可以 cdmy_scripts,然后运行 git init 命令,添加您想要的脚本,将其推送到源控制,然后在 automation controller 用户界面中创建 SCM 清单源。

                                有关同步或使用自定义清单脚本的详情,请参阅 Automation Controller Administration Guide 中的 清单文件导入

                                18.3.5. 查看完成的作业

                                如果使用了某个清单来运行作业,您可以在此清单的 Completed Jobs 标签页中查看这些作业的详情,并点击 Expanded 查看每个作业的详情。

                              • Arguments:提供要与您选择的模块搭配使用的参数。

                              • Limit:输入用于确定清单中的目标主机的限制。要将清单中的所有主机作为目标,请输入 all*,或将该字段留空。该字段将自动填充在点击启动按钮之前的上一个视图中选择的内容。

                              • Machine Credential:选择要在访问远程主机时用来运行命令的凭证。选择包含 Ansbile 登录远程主机所需的用户名和 SSH 密钥或密码的凭证。

                              • Verbosity:选择标准输出的详细程度。

                              • Forks:如果需要,请选择执行命令时使用的并行或同步进程数量。

                              • Show Changes:选择此项可在标准输出中显示 Ansible 更改。默认值为 OFF。

                              • Enable Privilege Escalation:如果启用此项,则会使用管理员权限运行 playbook。这等同于将 --become 选项传递给 ansible 命令。

                              • Extra Variables:提供要在运行此清单时应用的额外命令行变量。使用 JSON 或 YAML 语法输入变量.。用单选按钮在两者之间切换。

                              • Next 选择您要针对的 execution environment 运行临时命令。

                              • Next 选择要使用的凭证,然后点击 Launch 按钮。

                              • 结果会显示在模块作业窗口的 Output 标签页中。

  •