14.4. 添加新清单


添加新清单涉及以下组件:

使用以下步骤创建清单:

流程

  1. 在导航面板中,选择 Automation Execution Infrastructure InventoriesInventories 窗口显示当前可用的清单列表。
  2. 单击 Create inventory,再选择要创建的清单类型。
  3. 在以下字段中输入相关信息:

    • Name :输入适合此清单的名称。
    • 可选: 描述 :根据需要输入任意描述。
    • Organization: 必需。在可用的机构中进行选择。
    • 仅适用于智能清单:智能主机过滤器:使用搜索过滤器 替换此清单的主机。

      例如 "name__icontains=RedHat"。

      这些选项基于您选择的机构。

      过滤器与标签类似,用于过滤包含这些名称的某些主机。因此,要填充 Smart host filter 字段,请指定具有您想要的主机的标签,而不是主机本身。

      过滤是区分大小写的。

    • 实例组 : 选择要运行此清单的实例组或组。

      您可以选择多个实例组,并根据您想要运行的顺序对它们进行排序。

    • 可选: 标签 :选择描述此清单的标签,以便它们可用于对清单和作业进行分组和过滤。
    • 仅适用于构建的清单:输入清单 :指定要包含在此构建的清单中的源清单。 来自输入清单的空组将复制到构建的清单中。
    • 可选:(仅适用于构建的清单): 缓存超时(秒) :设置您希望缓存插件数据超时的时间长度。
    • 仅适用于构建的清单:详细控制 Ansible 生成的输出级别,因为 playbook 执行与构建的清单关联的清单源相关的级别。

      从中选择详细程度:

    • normal
    • 详细
    • 更详细的
    • debug
    • 连接调试
    • WinRM Debug

      • 详细日志记录 包括所有命令的输出。
      • 详细 详细地提供了比 Verbose 的更多详细信息。
      • 调试日志记录 非常详细,包括对某些支持实例有用的 SSH 操作信息。大多数用户都不需要查看调试模式输出。
      • 连接调试 允许您在详细模式下运行 SSH,提供有关 SSH 连接进度的调试信息。
      • WinRM Debug 用于特定于窗口远程管理的详细程度

        Expand 图标 了解有关如何使用构建的清单插件 的信息。

    • 只适用于构建的清单: 限制 与构建的清单关联的清单源返回的主机数量。您可以将组名称粘贴到 limit 字段中,以仅包含该组中的主机。如需更多信息,请参阅 Source vars 设置。
    • 仅适用于标准清单: 选项 :检查 Prevent Instance Group Fallback 选项,仅启用 Instance Groups 字段中列出的实例组来执行该作业。如果取消选中,则执行池中的所有可用实例将根据控制 作业运行 中描述的层次结构使用
    • 变量 (构建的清单 的源变量):

      • 要应用到此清单中的所有主机 的变量 变量定义和值。使用 JSON 或 YAML 语法输入变量。使用单选按钮在两者之间切换。
      • 构建的清单 的源变量会创建组,特别是在数据的 groups 键下。它接受 Jinja2 模板语法,呈现每个主机,进行 truefalse 评估,如果结果为 true,则包括组中的主机(来自条目的密钥)。这特别有用,因为您可以将组名称粘贴到 limit 字段中,以仅包含该组中的主机。
  4. 单击 Create inventory

后续步骤

保存新清单后,您可以继续配置权限、组、主机、源和查看已完成的作业(如果适用于相关清单类型)。

14.4.1. 为清单添加权限

使用以下步骤为清单添加权限:

流程

  1. 在导航面板中,选择 Automation Execution Infrastructure Inventories
  2. 选择一个模板,并在 User AccessTeam Access 选项卡中点 Add roles
  3. 选择要添加的用户或团队,然后点 Next
  4. 选择名称旁边的复选框,从列表中选择一个或多个用户或团队作为成员。
  5. 点击 Next
  6. 选择您希望所选用户或团队具有的角色。不同的资源有不同的可用选项。
  7. Finish 将角色应用到所选用户或团队,并将它们添加为成员。此时会显示为每个用户和团队分配的更新角色。

14.4.2. 删除权限

从与资源关联的用户中删除特定权限。解除关联角色限制用户对不再需要的功能或数据的访问权限。

流程

  • 要删除特定用户的角色,请点其资源旁的 Disassociate 图标。这会启动一个确认窗口,要求您确认解除关联。

14.4.3. 将组添加到清单

清单被分成不同的组,这些组可以包含主机和其他组。组仅适用于标准清单,不能直接通过智能清单进行配置。您可以通过用于标准清单的主机关联现有组。

以下操作可用于标准清单:

  • 创建新组
  • 创建新主机
  • 在所选清单上运行命令
  • 编辑清单属性
  • 查看组和主机的活动流
  • 获取构建清单的帮助
注意

清单源不与组关联。生成的组为顶级组,仍然可以具有子组。所有这些生成的组都可以有主机。

流程

  1. 在导航面板中,选择 Automation Execution Infrastructure Inventories
  2. 选择您要添加组的清单名称。
  3. 在 Inventory Details 页面中,选择 Groups 选项卡。
  4. Create group
  5. 输入相关详情:

    • 名称 :必需
    • 可选: 描述 :根据需要输入描述。
    • 可选: 变量 :输入要应用到此组中的所有主机的定义和值。使用 JSON 或 YAML 语法输入变量。使用单选按钮在两者之间切换。
  6. Create group

结果

将组添加到模板后,会显示 Group Details 页面。

14.4.3.1. 在组内添加组

将组添加到模板后,会显示 Group Details 页面。

流程

  1. 选择 Related Groups 选项卡。
  2. Add existing group 添加您的配置中已存在的组,或 Create group 以创建新组。
  3. 如果创建新组,请在必填和可选字段中输入相关详情:

    • Name (必需):
    • 可选: 描述 :根据需要输入描述。
    • 可选: 变量 :输入要应用到此组中的所有主机的定义和值。使用 JSON 或 YAML 语法输入变量。使用单选按钮在两者之间切换。
  4. Create group
  5. Create group 窗口关闭,在为之创建了组组关联的组列表中,新创建的组会显示为一个条目。

后续步骤

如果您选择添加现有组,可用组会出现在单独的选择窗口中。当您选择一个组时,它会显示在与组关联的组列表中。

  • 要在子组下配置附加组和主机,请点击组列表中的子组名称,然后重复列出的步骤。

14.4.3.2. 查看或编辑清单组

groups 列表视图会显示所有清单组,或者您可以将其过滤为仅显示根组。如果清单组不是另一个组的子集,则清单组被视为根组。

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

14.4.4. 将主机添加到清单

您可以为清单以及组中的组和组配置主机。

流程

  1. 在导航面板中,选择 Automation Execution Infrastructure Inventories
  2. 选择您要添加组的清单名称。
  3. 在 Inventory Details 页面中,选择 Hosts 选项卡。
  4. 单击 Create host
  5. 选择是添加您的配置中已存在的主机还是创建新主机。
  6. 如果创建新主机,请将切换设置为 On,以在运行作业时包含此主机。
  7. 输入相关详情:

    • Name (必需):
    • 可选: 描述 :根据需要输入描述。
    • 可选 :输入要应用到此组中的所有主机的定义和值,如下例所示:

      {
        ansible_user : <username to ssh into>
        ansible_ssh_pass : <password for the username>
        ansible_become_pass: <password for becoming the root>
      }
      Copy to Clipboard Toggle word wrap

      使用 JSON 或 YAML 语法输入变量。使用单选按钮在两者之间切换。

  8. 单击 Create host
  9. Create host 窗口关闭,新建的主机显示在为其为其创建的组关联的主机列表中。

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

    当您选择主机时,它将显示在与组关联的主机列表中。

  10. 您可以通过选择主机并点 Disassociate 图标从此屏幕取消关联主机。

    注意

    您也可以在此屏幕中运行临时命令。如需更多信息,请参阅 运行临时命令

  11. 要为主机配置额外的组,请点击主机列表中的主机名称。

    这将打开所选主机的 Details 选项卡。

  12. 选择 Groups 选项卡为主机配置组。
  13. 单击关联组,将主机与现有组关联。可用的组会出现在单独的选择窗口中。
  14. 选择要与主机关联的组,然后点 Confirm

    关联了一个组时,它将显示在与主机关联的组列表中。

  15. 如果您使用主机运行作业,您可以在主机的 Completed Jobs 选项卡中查看这些作业的详情。
  16. Expanded 查看每个作业的详情。
注意

您可以使用 API 中新添加的端点 /api/v2/bulk/host_create 来批量创建主机。此端点接受 JSON,您可以指定目标清单和要添加到清单的主机列表。这些主机在清单中必须是唯一的。添加所有主机,或者返回一个错误,指示操作无法完成的原因。使用 OPTIONS 请求返回相关模式。

14.4.5. 添加源

清单源不与组关联。生成的组为顶级组,仍然可以具有子组。所有这些生成的组都可以有主机。在清单中添加源只适用于标准清单。

流程

  1. 在导航面板中,选择 Automation Execution Infrastructure Inventories
  2. 选择您要添加源的清单名称。
  3. 在 Inventory Details 页面中,选择 Sources 选项卡。
  4. Create source
  5. 输入相关详情:

    • Name (必需):
    • 可选: 描述 :根据需要输入描述。
    • 可选:Search 图标或输入您要运行清单导入的执行环境名称。有关构建执行环境的更多信息,请参阅 执行环境
    • Source: 为您的清单选择一个源。有关源以及提供适当信息的更多信息,请参阅 清单源
  6. 完成所选清单源的 信息后,您可以选择指定其他常用参数,如详细程度、主机过滤器和变量。
  7. 使用 Verbosity 菜单选择任何清单源更新作业上的输出级别。
  8. 使用 Host filter 字段指定仅导入自动化控制器中的匹配主机名。
  9. Enabled variable 字段中,指定自动化控制器从主机变量的字典中检索 enabled 状态。您可以使用点表示法指定为 'foo.bar' 指定启用的变量,在这种情况下,查找嵌套字典等同于: from_dict.get ('foo', {}).get ('bar', default)

    Enabled value 字段会被忽略,除非您设置了 Enabled variable 字段。如果启用的变量与这个值匹配,则主机会在导入时启用。

  10. 如果在 Enabled variable 字段中指定了主机变量字典,您可以提供一个在导入时启用的值。例如,对于以下主机变量中的 enabled_var='status.power_state''enabled_value='powered_on',主机被标记为 enabled

    {
    "status": {
    "power_state": "powered_on",
    "created": "2020-08-04T18:13:04+00:00",
    "healthy": true
    },
    "name": "foobar",
    "ip_address": "192.168.2.1"
    }
    Copy to Clipboard Toggle word wrap

    如果 power_statepowered_on 以外的任何值,则主机在导入到自动化控制器时被禁用。如果没有找到密钥,则主机会被启用。

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

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

      如果没有选中,外部源上没有的本地子主机和组不会受到清单更新过程的影响。

    • 覆盖变量 :如果选中,子组和主机的所有变量都将被删除,并替换为外部源上的变量。

      如果没有选中,就会执行合并,将本地变量与外部源上的变量合并。

    • 启动时更新 :每次使用此清单运行作业时,请在执行作业任务前从所选源中刷新清单。

      为了避免生成作业的速度比清单可以同步的速度快,请选择此选项可让您为以前的缓存清单同步配置缓存超时。

      Update on launch 设置指的是项目和清单的依赖项系统,它不特别排除两个作业同时运行。

      如果指定了缓存超时,则创建第二个作业的依赖项,并使用第一个作业生成的项目和清单更新。

      然后,两个作业都会等待该项目或清单更新完成,然后继续操作。如果它们是不同的作业模板,则可以同时启动并运行它们(如果系统有能力)。如果要将自动化控制器的置备回调功能与动态清单源搭配使用,则必须为清单组设置在启动时更新

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

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

  12. 检查您的条目和选择。这可让您配置其他详情,如调度和通知。
  13. 要配置与此清单源关联的调度,请点 Schedules 选项卡:

    • 如果已经设置了调度,请检查、编辑、启用或禁用您的调度首选项。
    • 如果还没有设置调度,请参阅 Schedules

14.4.6. 为源配置通知

使用以下步骤为源配置通知:

流程

  1. 在导航面板中,选择 Automation Execution Infrastructure Inventories
  2. 选择您要为其配置通知的清单名称。
  3. 在 inventory Details 页面中,选择 Notifications 选项卡。

    注意

    只有在保存新创建的源时,才会显示 Notifications 选项卡。

  4. 如果已经设置了通知,请使用切换按钮启用或禁用要与特定源搭配使用的通知。如需更多信息,请参阅 启用和禁用通知
  5. 如果您还没有设置通知,请参阅 Notifiers 了解更多信息。
  6. 检查您的条目和选择。
  7. 点击 Save

后续步骤

当您定义源时,它会显示在与清单关联的源列表中。在 Sources 选项卡中,您可以对单个源执行同步,或者一次性同步它们。您还可以执行其他操作,如调度同步过程,以及编辑或删除源。

14.4.7. 清单源

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

14.4.7.1. 来自项目的源

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

使用以下步骤配置项目的清单:

流程

  1. 在导航面板中,选择 Automation Execution Infrastructure Inventories
  2. 选择您要源的清单名称,然后点 Sources 选项卡。
  3. Create source
  4. Create source 页面中,从 Source 列表中选择 Sourced from a Project
  5. 在附加字段中输入以下详情:

    • 可选: Source control branch/tag/commit :从源控制(Git 或 Subversion)输入 SCM 分支、标签、提交散列、任意 refs 或修订号(如果适用)。

      只有在源项目检查了 Allow branch override 选项时,才会显示此字段。如需更多信息,请参阅 SSCM 类型 - 配置 playbook 以使用 Git 和 Subversion

      Allow branch override

      除非在下一字段中还提供了自定义 refspec,否则某些提交散列和 refs 可能不可用。如果留空,则默认为 HEAD,这是此项目最后一次签出的 Branch/Tag/Commit。

    • 可选: Credential: 指定用于此源的凭证。
    • Project (必需):与默认项目预先填充,否则指定此清单将用作其源的项目。点 Search 图标从项目列表中选择。如果列表太长,请使用搜索来缩小选项范围。
    • 清单文件 (必需):选择与源项目关联的清单文件。如果尚未填充,您可以在菜单中的文本字段中输入它,以过滤额外的文件类型。除了平面文件清单外,您还可以指向目录或清单脚本。

      image

  6. 可选: 您可以指定详细程度、主机过滤器、启用的变量/值和更新选项,如 添加源 中所述。
  7. 可选: 要传递给自定义清单脚本,您可以在 Source variables 字段中设置环境变量。您还可以将清单脚本放在源控制中,然后从项目运行它。如需更多信息,请参阅配置 自动化执行中的清单文件 导入

故障排除

如果您要从 SCM 执行自定义清单脚本,请确保在上游源控制中为脚本设置执行位(chmod +x)。

如果没有,自动化控制器会在执行时抛出 [Error 13] Permission denied 错误。

14.4.7.2. Amazon Web Services EC2

使用以下步骤配置 AWS EC2-sourced 清单。

流程

  1. 在导航面板中,选择 Automation Execution Infrastructure Inventories
  2. 选择您要源的清单名称,然后点 Sources 选项卡。
  3. Create source
  4. Create source 页面中,从 Source 列表中选择 Amazon EC2
  5. Create source 窗口会展开其他字段。输入以下详情:

  6. 可选: 您可以指定详细程度、主机过滤器、启用的变量或值以及更新选项,如 添加源 中所述。
  7. 使用 Source variables 字段覆盖 aws_ec2 清单插件使用的变量。使用 JSON 或 YAML 语法输入变量。使用单选按钮在两者之间切换。有关这些变量的更多信息,请参阅 aws 清单插件文档

故障排除

如果您只使用 include_filters,AWS 插件始终返回所有主机。要正确使用它, 上的第一个条件必须为过滤器,然后在 include_ filters 列表中构建 OR 条件的其余部分。

14.4.7.3. Google Compute Engine

使用以下步骤配置 Google-sourced 清单:

流程

  1. 在导航面板中,选择 Automation Execution Infrastructure Inventories
  2. 选择您要源的清单名称,然后点 Sources 选项卡。
  3. Create source
  4. Add new source 页面中,从 Source 列表中选择 Google Compute Engine
  5. Create source 窗口会展开所需的 Credential 字段。从现有的 GCE 凭证中选择。如需更多信息,请参阅管理用户凭证
  6. 可选: 您可以指定详细程度、主机过滤器、启用的变量或值以及更新选项,如 添加源 中所述。
  7. 使用 Source Variables 字段覆盖 gcp_compute 清单插件使用的变量。使用 JSON 或 YAML 语法输入变量。使用单选按钮在两者之间切换。有关这些变量的更多信息,请参阅 gcp_compute 清单插件文档

14.4.7.4. Microsoft Azure 资源管理器

使用以下步骤配置 Microsoft Azure Resource Manager-sourced 清单。

流程

  1. 在导航面板中,选择 Automation Execution Infrastructure Inventories
  2. 选择您要源的清单名称,然后点 Sources 选项卡。
  3. Create source
  4. Create source 页面中,从 Source 列表中选择 Microsoft Azure Resource Manager
  5. 在附加字段中输入以下详情:
  6. 可选: 凭证 :从现有 Azure 凭证中选择。如需更多信息,请参阅管理用户凭证
  7. 可选: 您可以指定详细程度、主机过滤器、启用的变量或值以及更新选项,如 添加源 中所述。
  8. 使用 Source variables 字段覆盖 azure_rm 清单插件使用的变量。使用 JSON 或 YAML 语法输入变量。使用单选按钮在两者之间切换。有关这些变量的更多信息,请参阅 azure_rm 清单插件文档

14.4.7.5. VMware vCenter

使用以下步骤配置 VMWare 源的清单。

流程

  1. 在导航面板中,选择 Automation Execution Infrastructure Inventories
  2. 选择您要源的清单名称,然后点 Sources 选项卡。
  3. Create source
  4. Create source 页面中,从 Source 列表中选择 VMware vCenter
  5. Create source 窗口会展开其他字段。输入以下详情:

  6. 可选: 您可以指定详细程度、主机过滤器、启用的变量或值以及更新选项,如 添加源 中所述。
  7. 使用 Source Variables 字段覆盖 vmware_inventory 清单插件使用的变量。使用 JSON 或 YAML 语法输入变量。使用单选按钮在两者之间切换。有关这些变量的更多信息,请参阅 vmware_inventory 清单插件

故障排除

VMware 属性已从小写改为 camel case。自动化控制器为顶级键提供别名,但不再使用嵌套属性中的小写键。有关有效和支持的属性列表,请参阅在 VMware 动态插件中使用虚拟机属性

14.4.7.6. VMware ESXi

使用以下步骤配置 VMWare-ESXI 源的清单。

流程

  1. 在导航面板中,选择 Automation Execution Infrastructure Inventories
  2. 选择您要添加源的清单名称,然后点 Sources 选项卡。
  3. Create source
  4. 输入源的 Name (必需)。
  5. Create source 页面中,从 Source 列表中选择 VMware ESXi
  6. Create source 窗口会展开其他字段。输入以下详情:

  7. 使用 Verbosity 菜单选择任何清单源更新作业上的输出级别。
  8. 可选: 您可以指定主机过滤器、启用的变量或值以及更新选项,如 添加源 中所述。
  9. 使用 Source Variables 字段覆盖 vmware_inventory 清单插件使用的变量。使用 JSON 或 YAML 语法输入变量。使用单选按钮在两者之间切换。

故障排除

VMware 属性已从小写改为 camel case。自动化控制器为顶级键提供别名,但不再使用嵌套属性中的小写键。有关有效和支持的属性列表,请参阅在 VMware 动态插件中使用虚拟机属性

其他资源

14.4.7.7. Red Hat Satellite 6

使用以下步骤配置 Red Hat Satellite 源于 Red Hat Satellite 的清单。

流程

  1. 在导航面板中,选择 Automation Execution Infrastructure Inventories
  2. 选择您要源的清单名称,然后点 Sources 选项卡。
  3. Create source
  4. Create source 页面中,从 Source 列表中选择 Red Hat Satellite 6
  5. Create source 窗口会展开其他字段。输入以下详情:

  6. 可选: 您可以指定详细程度、主机过滤器、启用的变量或值以及更新选项,如 添加源 中所述。
  7. 使用 Source Variables 字段指定 foreman 清单源使用的参数。使用 JSON 或 YAML 语法输入变量。使用单选按钮在两者之间切换。有关这些变量的更多信息,请参阅 Ansible 文档中的 Foreman 清单源

故障排除

如果您遇到自动化控制器清单没有 Satellite 中的"相关组"的问题,您可能需要在清单源中定义这些变量。如需更多信息,请参阅 Red Hat Satellite 6

如果您在 同步清单时看到消息"no foreman.id"变量,请查看红帽客户门户网站中的解决方案:https://access.redhat.com/solutions/5826451。https://access.redhat.com/solutions/5826451请确定使用您的客户凭证登录以访问完整文章。

14.4.7.8. Red Hat Insights

使用以下步骤配置 Red Hat Insights-sourced 清单。

流程

  1. 在导航面板中,选择 Automation Execution Infrastructure Inventories
  2. 选择您要源的清单名称,然后点 Sources 选项卡。
  3. Create source
  4. Create source 页面中,从 Source 列表中选择 Red Hat Insights
  5. Create source 窗口会展开其他字段。输入以下详情:

  6. 可选: 您可以指定详细程度、主机过滤器、启用的变量或值以及更新选项,如 添加源 中所述。
  7. 使用 Source Variables 字段覆盖 insights 清单插件使用的变量。使用 JSON 或 YAML 语法输入变量。使用单选按钮在两者之间切换。有关这些变量的更多信息,请参阅 Insights 清单插件

14.4.7.9. OpenStack

使用以下步骤配置 OpenStack 源的清单。

流程

  1. 在导航面板中,选择 Automation Execution Infrastructure Inventories
  2. 选择您要源的清单名称,然后点 Sources 选项卡。
  3. Create source
  4. Create source 页面中,从 Source 列表中选择 OpenStack
  5. Create source 窗口会展开其他字段。输入以下详情:

  6. 可选: 您可以指定详细程度、主机过滤器、启用的变量或值以及更新选项,如 添加源 中所述。
  7. 使用 Source Variables 字段覆盖由 openstack 清单插件使用的变量。使用 JSON 或 YAML 语法输入变量。使用单选按钮在两者之间切换。有关这些变量的更多信息,请参阅 openstack 清单插件

14.4.7.10. Red Hat Virtualization

使用以下步骤配置 Red Hat virtualization-sourced 清单。

流程

  1. 在导航面板中,选择 Automation Execution Infrastructure Inventories
  2. 选择您要源的清单名称,然后点 Sources 选项卡。
  3. Create source
  4. Create source 页面中,从 Source 列表中选择 Red Hat Virtualization
  5. Create source 窗口会展开其他字段。输入以下详情:

  6. 可选: 您可以指定详细程度、主机过滤器、启用的变量或值以及更新选项,如 添加源 中所述。
  7. 使用 Source Variables 字段覆盖由 ovirt 清单插件使用的变量。使用 JSON 或 YAML 语法输入变量。使用单选按钮在两者之间切换。有关这些变量的更多信息,请参阅 ovirt 清单插件
注意

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

14.4.7.11. Red Hat Ansible Automation Platform

使用以下步骤配置自动化控制器提供的清单。

流程

  1. 在导航面板中,选择 Automation Execution Infrastructure Inventories
  2. 选择您要源的清单名称,然后点 Sources 选项卡。
  3. Create source
  4. Create source 页面中,从 Source 列表中选择 Red Hat Ansible Automation Platform
  5. Create source 窗口会展开其他字段。输入以下详情:

    • 可选: 凭证 :从现有 Red Hat Ansible Automation Platform 凭证中选择。如需更多信息,请参阅管理用户凭证
  6. 可选: 您可以指定详细程度、主机过滤器、启用的变量或值以及更新选项,如 添加源 中所述。
  7. 使用 Source Variables 字段覆盖 控制器 清单插件使用的变量。使用 JSON 或 YAML 语法输入变量。使用单选按钮在两者之间切换。有关这些变量的更多信息,请参阅 控制器清单插件。这需要您的红帽客户登录。

14.4.7.12. Terraform 状态

此清单源使用 cloud.terraform 集合中的 terraform_state 清单插件。该插件解析 terraform 状态文件,并为 AWS EC2、GCE 和 Microsoft Azure 实例添加主机。

流程

  1. 在导航面板中,选择 Automation Execution Projects
  2. Projects 页面上,单击 Create project 以启动 Create project 窗口。

  3. 在导航面板中选择 Automation Execution Infrastructure Inventories
  4. 选择您要添加源的清单。
  5. Sources 选项卡中,单击 Create source
  6. Source 菜单中,选择 Terraform State

    • Create source 窗口会展开可选的 Credential 字段。

      选择现有的 Terraform 后端配置凭证。如需更多信息,请参阅 Terraform 后端配置

  7. 启用 在启动时 覆盖 和更新 的选项。
  8. 使用 Source variables 字段覆盖 terraform_state 清单插件使用的变量。使用 JSON 或 YAML 语法输入变量。使用单选按钮在两者之间切换。有关这些变量的更多信息,请参阅 terraform_state 文件。

    Terraform State 清单插件需要 backend_type 变量。这应该与 Terraform 后端凭证中配置的远程后端 匹配。以下是 Amazon S3 后端示例:

    backend_type: s3
    Copy to Clipboard Toggle word wrap
  9. 选择具有 Terraform 二进制文件的 Execution 环境。清单插件需要此项,才能运行从 Terraform 状态文件中读取清单数据的 Terraform 命令。
重要

Ansible Automation Platform 清单的 Terraform 供应商由 Terraform 管理,您不能在 Ansible Automation Platform 中编辑它们,因为它可能会引入 Terraform 部署偏移。

14.4.7.13. OpenShift Virtualization

此清单源使用能够部署 Red Hat OpenShift Container Platform Virtualization 的集群。要配置 Red Hat OpenShift Container Platform Virtualization,您需要在特定命名空间中部署虚拟机,以及 OpenShift 或 Kubernetes API Bearer Token 凭证。

流程

  1. 在导航面板中选择 Automation Execution Infrastructure Inventories
  2. 选择您要添加源的清单。
  3. Sources 选项卡中,单击 Add source
  4. Source 菜单中,选择 OpenShift Virtualization

  5. 您可以选择指定 Verbosity, Host Filter, Enabled Variable/Value, 和 Update 选项,如 Adding a source 步骤所述。
  6. 使用 Source Variables 字段覆盖 kubernetes 清单插件使用的变量。使用 JSON 或 YAML 语法输入变量。使用单选按钮在两者之间切换。有关这些变量的更多信息,请参阅 kubevirt.core.kubevirt 清单源 文档。

    在以下示例中,connect 变量用于指定对集群中特定命名空间的访问:

    ---
    connections:
    - namespaces:
      - hao-test
    Copy to Clipboard Toggle word wrap
  7. 单击 Save,然后单击 Sync 以同步清单。

14.4.7.14. 使用自定义清单插件

本节论述了如何使用 servicenow.itsm 集合清单插件在 Ansible Automation Platform 上同步清单。

流程

  1. 使用包含以下文件的 Source Control Git 存储库创建并同步项目:

    >> requirements.yml
    ---
    collections: - name: servicenow.itsm
    
    
    >> inventories/myinventory.now.yml
    # Create a file following the example below. It must have a configuration file extension ending in either "now.yml" or "now.yaml".
    plugin: servicenow.itsm.now
    query:
    - os: = Linux Red Hat
    - os: = Windows XP
    keyed_groups:
    - key: os
      prefix: os
    Copy to Clipboard Toggle word wrap
    注意

    有关使用和配置 servicenow.itsm.now 插件的详细指导,请参阅官方 Ansible 文档

  2. 通过将源 从项目设置为 Sourced, 选择新项目,然后在清单文件部分选择 /(项目根) 来创建清单。
  3. 同步清单中的源。

14.4.7.15. 导出旧的清单脚本

尽管删除了自定义清单脚本 API,但脚本仍然保存在数据库中。使用以下命令,以适合您随后检查源控制的格式从数据库中恢复脚本。

使用以下命令:

$ awx-manage export_custom_scripts --filename=my_scripts.tar

Dump of old custom inventory scripts at my_scripts.tar
Copy to Clipboard Toggle word wrap

使用输出:

$ mkdir my_scripts
$ tar -xf my_scripts.tar -C my_scripts
Copy to Clipboard Toggle word wrap

脚本的名称具有以下形式: < pk>_ &lt;name>。这是用于项目文件夹的命名方案。

$ ls my_scripts
10inventory_script_rawhook _19 _30inventory_script_listenhospital _11inventory_script_upperorder _1inventory_script_commercialinternet45 _4inventory_script_whitestring _12inventory_script_eastplant _22inventory_script_pinexchange _5inventory_script_literaturepossession _13inventory_script_governmentculture _23inventory_script_brainluck _6inventory_script_opportunitytelephone _14inventory_script_bottomguess _25inventory_script_buyerleague _7inventory_script_letjury _15inventory_script_wallisland _26inventory_script_lifesport _8random_inventory_script
16inventory_script_wallisland _27inventory_script_exchangesomewhere _9random_inventory_script _17inventory_script_bidstory            _28inventory_script_boxchild _18p                                    _29__inventory_script_wearstress
Copy to Clipboard Toggle word wrap

每个文件包含一个脚本。脚本可以是 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"}}}
Copy to Clipboard Toggle word wrap

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

$ ansible-inventory -i ./my_scripts/_11__inventory_script_upperorder --list --export
Copy to Clipboard Toggle word wrap

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

有关同步或使用自定义清单脚本的更多信息,请参阅配置 自动化执行中的清单文件导入

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat